Най-добрите инструменти за разработване на мобилни приложения

Успешното внедряване на нова технология често зависи от нейните инструменти за разработка. Добрите инструменти помагат на новите разработчици да започнат по-лесно и правят опитните разработчици по-продуктивни. Например, успехът на програмната среда на Microsoft е тясно свързан с успеха на нейните инструменти на Visual Studio.

Технологията J2ME (Java 2 Platform, Micro Edition) е все още сравнително нова. Силните инструменти за разработка, особено IDE, ще помогнат значително за приемането на J2ME сред разработчиците на безжични приложения. В тази статия разглеждам четири продукта J2ME IDE:

  • Borland JBuilder 7 Enterprise с MobileSet 3
  • Sun ONE (Open Network Environment) на Sun Microsystems Studio 4 Mobile Edition
  • Metrowerks CodeWarrior Wireless Studio 7
  • JVise на S5 Systems (базиран на технологията на IBM Eclipse)

Пейзаж на инструментите за разработка на J2ME

Различните безжични устройства имат различни ограничения по отношение на размера на паметта, размера на екрана, методите за въвеждане и изчислителната скорост. Също така, внедряванията на J2ME на доставчиците могат да съдържат специфични за доставчика приложни програмни интерфейси (API), които използват специални хардуерни / ОС функции.

Разнообразният пазар на устройства естествено води до разнообразни инструменти за разработка. Всеки доставчик на устройство има свой собствен SDK, емулатори на устройства и инструменти за анализ на производителността. Някои SDK дори идват със собствени инструменти за управление на проекти за изграждане и редактиране на изходен код. Един пример е Sun's J2ME Wireless ToolKit (J2MEWTK). J2MEWTK съдържа референтна реализация на J2ME / MIDP (Mobile Information Device Profile) и има множество емулатори на устройства, които работят на платформи Unix / Linux и Windows. J2MEWTK също има инструменти за профил на производителността и монитори за реално използване на паметта. Всички тези инструменти могат да се администрират от централен контролен панел, наречен kToolBar. kToolBar може също да изгражда и пакетира готови за разгръщане JAR / Jad програми от директории за разработка. Овладяването на всички тези инструменти и тестване на приложения на всички емулатори може да се окаже досадно.

J2ME IDE улеснява развитието чрез интегриране на SDK на доставчици на устройства с други инструменти. След това разработчиците могат да имат унифициран IDE интерфейс за всички поддържани SDK. IDE също подобряват производителността на разработчиците и качеството на доставяните приложения.

Кой трябва да използва IDE?

Не препоръчвам IDE на начинаещи разработчици. Такива разработчици трябва да научат няколко различни неща наведнъж: езика Java, J2ME API и пакетите, самата IDE. Удобните функции на IDE могат лесно да скрият това, което наистина се случва под капака. В крайна сметка може да развиете набор от умения, свързани с конкретна IDE. IDE обаче могат да помогнат, ако вече знаете какво правите. Те могат да автоматизират много досадни процеси за опитен разработчик.

Ръководство за купувача на J2ME IDE

Оцених J2ME IDE на тази статия според следните аспекти:

  • Общи характеристики на производителността: Оцених тези функции, полезни за всички проекти за разработка на Java, а не тези, специфични за J2ME. Тези функции включват редактор, мениджър на проекти, дебъгер, дизайнер на архитектура и инструменти за документиране, както и инструменти за усъвършенствани техники за програмиране (рефакторинг, модулно тестване и т.н.).
  • Интеграция на SDK на трети страни: Поддръжката на множество SDK е основна функция за всеки ID на J2ME. Но доставчиците на IDE имат затруднения при проследяването и интегрирането на поддръжка за всеки отделен SDK. Спецификацията Unified Emulator Interface (UEI) стандартизира програмния интерфейс между SDK и IDE. Гарантирано е, че съвместимите с UEI SDK и IDE работят помежду си. В моята оценка обсъждам какви SDK пакети IDE поддържат от кутията, дали IDE поддържат UEI и колко трудно е да превключвате между SDK в проект.
  • Инструменти за последваща компилация: Приложенията J2ME са мобилни приложения, които изискват високо ниво на сигурност и производителност. Замъгляването на кода може да попречи на хората да извършат обратно проектиране на файловете на вашия клас и да намали размера на кода. Специални техники за оптимизация се предлагат от доставчиците на IDE и техните партньори. Приложенията на J2ME могат също да бъдат обработвани и оптимизирани за устройства за разполагане въз основа на наличните ресурси за конкретни типове устройства. Тези инструменти за последваща обработка, замъгляване и оптимизиране попадат в тази категория след компилация.
  • Поддръжка за внедряване по въздуха (OTA): Приложенията J2ME често се разгръщат през обществени безжични мрежи. Спецификациите на J2ME OTA стандартизират процеса за откриване, изтегляне, удостоверяване, упълномощаване, проверка и изпълнение на мобилно Java приложение. OTA спецификациите изискват правилно форматирани мета файлове от страна на сървъра и Java Application Manager (JAM) от страна на мобилното устройство. Сървърът също така изисква специални конфигурации, за да поддържа OTA мета типове. Процесът OTA може да стане доста сложен с предстоящото издание на MIDP 2.0. IDE трябва да помогне за автоматичното генериране на тези мета файлове. Един добър IDE трябва също да интегрира OTA-съвместими JAM клиенти, за да тества внедряването в IDE.
  • Развитие на мобилни приложения от край до край: устройствата J2ME не са достатъчно мощни, за да обработват или съхраняват големи количества информация сами; Приложенията на J2ME често са дебели клиенти за някои сървъри за корпоративни приложения. По този начин първокласната IDE трябва да позволи на разработчиците да изграждат цели проекти от край до край. Това минимизира разходите за обучение и усилията за координация на проекти.
  • Документация и уроци: Разработката на мобилни приложения Java е сложен процес, включващ много аспекти на софтуерното инженерство. IDE предоставят инструменти за автоматизиране на много задачи; Въпреки това, поради присъщата сложност на процеса на разработка, начинаещите програмисти често се затрудняват да използват правилно тези функции. Уроци и подробни казуси се оказват съществени за ефективното приемане на IDE.
  • Създатели на графичен потребителски интерфейс J2ME (графичен потребителски интерфейс): Някои IDE разполагат с инструменти за бързо (бързо разработване на приложения), които позволяват на разработчиците да конструират визуално мобилни потребителски интерфейси. Тези инструменти се харесват на разработчиците от света на настолните компютри - тези, които са запознати с инструментите RAD на J2SE (Java 2 Platform, Standard Edition). Използвайте обаче J2ME визуални конструктори на графичен интерфейс с повишено внимание: тъй като безжичните устройства се различават по размери на екрана, един и същ дизайн на потребителския интерфейс може да изглежда различно на различните устройства. Например, Palm PDA може да показва четири командни бутона подред. Но мобилният телефон може да ви помоли да изберете от списък с четири команди, когато щракнете върху бутона Меню. Така че това, което виждате в GUI builder, може да не е това, което в крайна сметка получавате на определено устройство.

JBuilder 7 Enterprise с MobileSet 3

Borland JBuilder е известна Java IDE с три издания: Personal, Standard (SE) и Enterprise. Всички издания на JBuilder могат да работят на множество платформи, включително Windows, Linux, Solaris и Mac OS X. За да поддържате разработката на J2ME на JBuilder, трябва да инсталирате добавен модул, наречен MobileSet. В момента MobileSet работи само под Windows, но се планира поддръжка за повече платформи.

JBuilder Personal се предлага безплатно от уебсайта на Borland. JBuilder SE струва 99 (септември 2002 г.), а изданието Enterprise - 999. Можете да изтеглите 30-дневни безплатни пробни лицензи както за изданията Standard, така и за Enterprise. Макар и безплатно, изданието Personal предлага малка стойност. Липсват някои основни характеристики на производителността. Например, дори не можете да управлявате изходния си код чрез йерархии на пакети, което затруднява разработването на големи проекти с много класове.

За разлика от тях, JBuilder 7 Enterprise предлага богат набор от инструменти, които поддържат Java приложения (особено J2EE (Java 2 Platform, Enterprise Edition) приложения) проектиране, разработване, тестване и внедряване. Той е в комплект със собствения сървър за приложения на Borland J2EE, Borland InterBase SQL база данни и пробно издание на Optimizeit Suite на компанията, инструмент за оптимизация на Java. Свиващият се софтуер се предлага с три учебни документации. Тези книги не само предоставят казуси за използване на JBuilder, но и служат като добри ресурси за изучаване на обща разработка на Java приложения.

За да разработите J2ME приложения върху всяко издание на JBuilder 7, трябва да инсталирате MobileSet, безплатно изтегляне от уебсайта на Borland. След стартиране на инсталатора, MobileSet добавя нови съветници, среди за компилиране / изпълнение и елементи от менюто към вашата съществуваща инсталация на JBuilder. Следващият преглед се фокусира върху JBuilder 7 Enterprise.

  • Общи характеристики на производителността: JBuilder 7 Enterprise предлага първокласни функции за производителност на Java. Той има мощен редактор, компилатор и дебъгер. По-усъвършенстваните функции включват множество JVM и поддръжка по време на изпълнение, инструменти за визуализация на UML (Unified Modeling Language), инструменти за проектиране на логика на приложенията (например визуални дизайнери на EJB (Enterprise JavaBean)), интегрирана поддръжка на модулно тестване, инструменти за рефакторинг и инструменти за javadoc. За корпоративни приложения JBuilder поддържа автоматично генериране на уеб и корпоративни архиви (WAR / EAR) и разполагане на всички водещи сървъри за приложения. Използвайки JBuilder, можете също лесно да интегрирате мощни инструменти на трети страни, като CVS (Concurrent Versioning System) за управление на изходния код и Ant за персонализирани компилации, във вашия проект.
  • Интеграция на SDK на трети страни: Единствената платформа J2ME, която JBuilder поддържа, е MIDP. JBuilder MobileSet поддържа J2MEWTK, Nokia, Siemens и Sprint PCS SDK. Но самото изтегляне на MobileSet съдържа само J2MEWTK, за да започнете; трябва да изтеглите други SDK отделно. Тъй като JBuilder поддържа UEI, очаквам, че ще поддържа повечето бъдещи SDK. Инструментът ви позволява да превключвате между множество JVM и среда на изпълнение в даден проект, което опростява развитието на множество платформи.
  • Инструменти за компилация: JBuilder MobileSet има вградена поддръжка за замъгляване на файлове от класа чрез RetroGuard 1.1. В комплекта Optimizeit Suite допълнително се оптимизират размерът и производителността на приложението.
  • Поддръжка за внедряване на OTA: С JBuilder Enterprise лесно бих могъл да генерирам jar manifest файлове и jad файлове за моя MIDP проект. Проектите могат да се разположат на правилно конфигуриран отдалечен сървър чрез вградения FTP клиент на JBuilder. JBuilder обаче не конфигурира сървъра вместо вас. Можете да тествате внедрени приложения, използвайки съвместими с OTA клиентски JAM, интегрирани в JBuilder.
  • Разработване на мобилни приложения от край до край: JBuilder 7 Enterprise има отлични възможности за разработване на J2EE сървъри за приложения. Можете да разработите приложения от край до край изцяло в JBuilder.
  • Документация и уроци: Трите книги, които се доставят с JBuilder 7 Enterprise, са безплатно достъпни както в HTML, така и в PDF версии от уебсайта на Borland. Borland разполага и с учебни учебници за MobileSet и много други изящни документации. Поддръжката на документацията на JBuilder е отлична.
  • J2ME GUI builder : MobileSet се предлага с MIDP GUI builder; създаването на GUI код с JBuilder се оказва доста лесно.

Sun ONE Studio 4 Mobile Edition

По-рано известен като Forte за Java, Sun ONE Studio използва технологията NetBeans за интегриране на външни модули в IDE. Sun ONE Studio се предлага с три издания: Community, Mobile и Enterprise for Java. Изданията на Community и Mobile са безплатни; Enterprise за Java струва 995 и има усъвършенствани функции за разработка и внедряване на J2EE. Можете да получите 60-дневен безплатен пробен лиценз за Enterprise for Java от уебсайта на Sun.

Sun ONE Studio се разпространява онлайн и на CD. Компактдискът съдържа всички издания на Sun ONE Studio 4 на всички поддържани платформи, както и J2SE и J2EE. Инсталирането е лесно.

Въпреки че Mobile Edition се предлага предварително конфигуриран с поддръжка на J2ME, той има само ограничени IDE функции. Можете лесно да добавите възможности за разработка на J2ME към изданията на Community и Enterprise for Java, като инсталирате безжичен модул J2ME. Този модул отговаря на спецификациите на NetBeans и може да бъде инсталиран с всяко издание Sun ONE Studio. Безжичният модул J2ME предоставя специфични за J2ME шаблони, съветници, елементи от менюто и интеграция на компилатор и емулатор и се доставя в комплект с J2MEWTK.

Една от силните страни на Sun ONE Studio е модулният му дизайн. Третите страни могат лесно да предоставят компоненти и да се интегрират с IDE. Примери за такива модули включват UML моделиране, рефакторинг и модулно тестване.

Безплатните издания на Sun ONE Studio ме впечатлиха. Sun ONE Mobile Edition или Community Edition плюс безжичния модул са единствените безплатни IDE на J2ME, които препоръчвам. Те предоставят най-важните IDE функции за големи и сложни проекти. Community Edition дори предлага основни функции за разработка на приложения от сървъра; с това издание можете да разработвате приложения за сървлети и бази данни. Sun ONE Studio е единствената IDE в тази статия, която има J2ME поддръжка за не-Windows платформи. Коментарите по-долу се основават на моя опит със Sun ONE Studio 4 Enterprise за Java плюс безжичния модул. Но повечето се отнасят и за безплатното издание на общността.