Programování

Nejlepší nástroje pro vývoj mobilních aplikací

Úspěšné přijetí nové technologie často závisí na jejích vývojových nástrojích. Dobré nástroje pomáhají novým vývojářům snadněji začít a zvyšují produktivitu zkušených vývojářů. Například úspěch programovacího prostředí společnosti Microsoft je úzce spojen s úspěchem jeho nástrojů sady Visual Studio.

Technologie J2ME (Java 2 Platform, Micro Edition) je stále relativně nová. Silné vývojové nástroje, zejména IDE, výrazně pomohou adopci J2ME mezi vývojáři bezdrátových aplikací. V tomto článku přezkoumám čtyři produkty J2ME IDE:

  • Borland JBuilder 7 Enterprise s MobileSet 3
  • Studio Sun 4 pro mobilní zařízení Sun ONE (Open Network Environment) Sun Microsystems
  • Bezdrátové studio Metrowerks CodeWarrior 7
  • S5 Systems 'jVise (založený na technologii IBM Eclipse)

Krajina vývojových nástrojů J2ME

Různá bezdrátová zařízení mají různá omezení, pokud jde o velikost paměti, velikost obrazovky, metody zadávání a výpočetní rychlost. Implementace J2ME prodejců mohou také obsahovat doplňková rozhraní API specifická pro dodavatele, která využívají speciální základní funkce hardwaru / operačního systému.

Diverzifikovaný trh zařízení má přirozeně za následek diverzifikované vývojové nástroje. Každý dodavatel zařízení má vlastní sadu SDK, emulátory zařízení a nástroje pro analýzu výkonu. Některé sady SDK dokonce přicházejí s vlastními nástroji pro správu projektů a úpravy zdrojového kódu. Jedním z příkladů je Sun's J2ME Wireless ToolKit (J2MEWTK). J2MEWTK obsahuje referenční implementaci J2ME / MIDP (Mobile Information Device Profile) a má několik emulátorů zařízení, které běží na platformách Unix / Linux a Windows. J2MEWTK má také nástroje profilu výkonu a monitory využití skutečné paměti. Všechny tyto nástroje lze spravovat z centrálního ovládacího panelu s názvem kToolBar. kToolBar může také vytvářet a balit programy JAR / Jad připravené k nasazení z vývojových adresářů. Zvládnutí všech těchto nástrojů a testování aplikací na všech emulátorech se však může ukázat jako zdlouhavé.

J2ME IDE usnadňuje vývoj integrací SDK dodavatele zařízení s jinými nástroji. Vývojáři pak mohou mít jednotné rozhraní IDE pro všechny podporované sady SDK. IDE také zlepšují produktivitu vývojářů a kvalitu dodávaných aplikací.

Kdo by měl používat IDE?

Nedoporučuji IDE začínajícím vývojářům. Tito vývojáři se musí naučit několik různých věcí najednou: jazyk Java, API a balíčky J2ME, samotné IDE. Pohodlné funkce IDE mohou snadno zakrýt to, co se skutečně děje pod kapotou. Mohli byste nakonec vyvinout sadu dovedností vázaných na konkrétní IDE. IDE vám však mohou pomoci, pokud už víte, co děláte. Mohou automatizovat mnoho zdlouhavých procesů pro zkušeného vývojáře.

Průvodce kupujícího J2ME IDE

Hodnotil jsem IDE J2ME tohoto článku podle následujících aspektů:

  • Obecné funkce produktivity: Vyhodnotil jsem ty funkce, které jsou užitečné pro všechny vývojové projekty Java, ne ty, které jsou specifické pro J2ME. Mezi tyto funkce patří editor, projektový manažer, debugger, návrhář architektury a dokumentace, plus nástroje pro pokročilé programovací techniky (refaktoring, testování jednotek atd.).
  • Integrace SDK třetích stran: Podpora více SDK je základní funkcí pro libovolné J2ME IDE. Dodavatelé IDE ale mají potíže se sledováním a integrací podpory pro každou jednotlivou sadu SDK. Specifikace rozhraní Unified Emulator Interface (UEI) standardizuje programovací rozhraní mezi SDK a IDE. Je zaručeno, že sady SDK a IDE kompatibilní s UEI budou navzájem spolupracovat. Ve svém hodnocení diskutuji o tom, jaké SDK podporují IDE po vybalení z krabice, zda IDE podporují UEI a jak obtížné je přepínat mezi SDK v projektu.
  • Postkompilační nástroje: Aplikace J2ME jsou mobilní aplikace, které vyžadují vysokou úroveň zabezpečení a výkonu. Zamlžování kódu může lidem zabránit v reverzním inženýrství vašich souborů třídy a zmenšit velikost kódu. Speciální optimalizační techniky jsou k dispozici od prodejců IDE a jejich partnerů. Aplikace J2ME lze také dodatečně zpracovat a optimalizovat pro nasazovací zařízení na základě zdrojů dostupných pro konkrétní typy zařízení. Tyto nástroje pro následné zpracování, zmatení a optimalizaci spadají do této kategorie po kompilaci.
  • Podpora nasazení bezdrátově (OTA): Aplikace J2ME se často nasazují přes veřejné bezdrátové sítě. Specifikace J2ME OTA standardizují proces zjišťování, stahování, ověřování, autorizace, ověřování a spouštění mobilní aplikace Java. Specifikace OTA vyžadují správně formátované meta soubory na straně serveru a Java Application Manager (JAM) na straně mobilního zařízení. Server také vyžaduje speciální konfigurace pro podporu typů metadat OTA. S blížícím se vydáním MIDP 2.0 může být proces OTA docela složitý. IDE by mělo pomoci generovat tyto meta soubory automaticky. Dobré IDE by také mělo integrovat klienty JAM kompatibilní s OTA, aby otestovalo nasazení v IDE.
  • Kompletní vývoj mobilních aplikací: Zařízení J2ME nejsou dostatečně výkonná, aby sama dokázala zpracovat nebo uložit velké množství informací; Aplikace J2ME jsou pro některé podnikové aplikační servery typu backend často silnými klienty. Prvotřídní IDE by tedy mělo umožnit vývojářům vytvářet celé end-to-end projekty. To minimalizuje náklady na učení a úsilí o koordinaci projektů.
  • Dokumentace a výukové programy: Vývoj mobilních aplikací Java je sofistikovaný proces zahrnující mnoho aspektů softwarového inženýrství. IDE poskytují nástroje k automatizaci mnoha úkolů; vzhledem k vnitřní složitosti vývojového procesu je však pro začínající programátory často obtížné tyto funkce správně používat. Výuky a podrobné případové studie se ukázaly jako nezbytné pro efektivní přijetí IDE.
  • Tvůrci grafického uživatelského rozhraní J2ME (grafické uživatelské rozhraní): Některá IDE mají nástroje RAD (rapid application development), které vývojářům umožňují vizuálně vytvářet mobilní uživatelská rozhraní. Tyto nástroje lákají vývojáře ze světa desktopů - ty, kteří znají RAD nástroje J2SE (Java 2 Platform, Standard Edition). Tvůrce grafického uživatelského rozhraní J2ME však používejte opatrně: protože se bezdrátová zařízení liší velikostí obrazovky, stejný design uživatelského rozhraní se může na různých zařízeních zobrazovat odlišně. Například Palm PDA může zobrazit čtyři příkazová tlačítka v řadě. Po kliknutí na tlačítko Nabídka vás ale mobilní telefon může požádat, abyste si vybrali ze seznamu čtyř příkazů. To, co vidíte v nástroji pro tvorbu grafického uživatelského rozhraní, tedy nemusí být to, co nakonec získáte na konkrétním zařízení.

JBuilder 7 Enterprise s MobileSet 3

Borland JBuilder je renomovaný Java IDE se třemi edicemi: Personal, Standard (SE) a Enterprise. Všechna vydání JBuilder mohou běžet na více platformách včetně Windows, Linux, Solaris a Mac OS X. Chcete-li podporovat vývoj J2ME na JBuilderu, musíte si nainstalovat doplňkový modul s názvem MobileSet. Aktuálně MobileSet běží pouze na Windows, ale plánuje se podpora pro více platforem.

JBuilder Personal je zdarma k dispozici na webových stránkách společnosti Borland. JBuilder SE stojí 99 (září 2002) a vydání Enterprise stojí 999. Můžete si stáhnout 30denní bezplatné zkušební licence pro edice Standard i Enterprise. I když je zdarma, edice Personal nabízí malou hodnotu. Postrádá některé základní funkce produktivity. Například nemůžete spravovat svůj zdrojový kód prostřednictvím hierarchií balíčků, což ztěžuje vývoj velkých projektů s mnoha třídami.

Naproti tomu JBuilder 7 Enterprise nabízí bohatou sadu nástrojů, které podporují návrh, vývoj, testování a nasazení aplikací Java (zejména aplikací J2EE (Java 2 Platform, Enterprise Edition)). Je dodáván s vlastním aplikačním serverem J2EE společnosti Borland, databází Borland InterBase SQL a zkušebním vydáním optimalizační sady Java společnosti Optimizeit Suite. Software zabalený do smršťovací fólie je dodáván se třemi knihami s výukovou dokumentací. Tyto knihy nejen poskytují případové studie použití JBuilder, ale také slouží jako dobré zdroje pro učení obecného vývoje aplikací Java.

Chcete-li vyvíjet aplikace J2ME nad jakoukoli edici JBuilder 7, musíte si nainstalovat MobileSet, bezplatné stažení z webových stránek společnosti Borland. Po spuštění instalačního programu přidá MobileSet do vaší stávající instalace JBuilder nové průvodce, prostředí kompilace / běhového prostředí a položky nabídky. Následující recenze se zaměřují na JBuilder 7 Enterprise.

  • Obecné funkce produktivity: JBuilder 7 Enterprise nabízí špičkové funkce produktivity Java. Má výkonný editor, kompilátor a debugger. Mezi pokročilejší funkce patří podpora více JVM a runtime, vizualizační nástroje UML (Unified Modeling Language), nástroje pro návrh aplikační logiky (například vizuální designéři EJB (Enterprise JavaBean)), integrovaná podpora testování jednotek, nástroje refaktoringu a nástroje javadoc. U podnikových aplikací podporuje JBuilder automatické generování webových a podnikových archivů (WAR / EAR) a nasazení na všechny přední aplikační servery. Pomocí JBuilder můžete do svého projektu také snadno integrovat výkonné nástroje třetích stran, jako je CVS (Concurrent Versioning System) pro správu zdrojového kódu a Ant pro vlastní sestavení.
  • Integrace SDK třetích stran: Jedinou platformou J2ME, kterou JBuilder podporuje, je MIDP. JBuilder MobileSet podporuje sady SDK J2MEWTK, Nokia, Siemens a Sprint PCS. Samotné stahování MobileSet však obsahuje pouze J2MEWTK, které vám pomohou začít; musíte si samostatně stáhnout další SDK. Protože JBuilder podporuje UEI, očekávám, že bude podporovat většinu budoucích SDK. Tento nástroj umožňuje v projektu přepínat mezi více prostředími JVM a běhovými prostředími, což zjednodušuje vývoj více platforem.
  • Postkompilační nástroje: JBuilder MobileSet má integrovanou podporu pro zmatení souborů třídy prostřednictvím RetroGuard 1.1. Přiložená sada Optimizeit Suite dále optimalizuje velikost a výkon aplikace.
  • Podpora nasazení OTA: S JBuilder Enterprise jsem mohl snadno generovat soubory manifestu jar a soubory jad pro svůj projekt MIDP. Projekty lze nasadit na správně nakonfigurovaný vzdálený server prostřednictvím vestavěného klienta FTP JBuilder. JBuilder však server nenakonfiguruje za vás. Nasazené aplikace můžete otestovat pomocí OAM kompatibilních JAM na straně klienta integrovaných v JBuilderu.
  • Kompletní vývoj mobilních aplikací: JBuilder 7 Enterprise má vynikající schopnosti pro vývoj back-end aplikačních serverů J2EE. End-to-end aplikace můžete vyvíjet zcela v JBuilderu.
  • Dokumentace a výukové programy: Tři knihy, které přicházejí s JBuilder 7 Enterprise, jsou všechny volně dostupné v HTML i PDF verzi z webových stránek Borland. Borland má také ke stažení výukové knihy MobileSet a mnoho dalších skvělých dokumentací. Podpora dokumentace JBuilderu je vynikající.
  • Tvůrci grafického uživatelského rozhraní J2ME: Sada MobileSet je dodávána s nástrojem pro tvorbu grafického uživatelského rozhraní MIDP; výroba kódu GUI pomocí JBuilderu se ukazuje jako docela snadná.

Sun ONE Studio 4 Mobile Edition

Sun ONE Studio, dříve známé jako Forte for Java, využívá technologii NetBeans k integraci externích modulů do IDE. Sun ONE Studio přichází ve třech edicích: Community, Mobile a Enterprise for Java. Komunitní a mobilní vydání jsou zdarma; Enterprise for Java stojí 995 a má propracované funkce pro vývoj a nasazení J2EE. 60denní bezplatnou zkušební licenci pro Enterprise pro Javu můžete získat na webových stránkách společnosti Sun.

Sun ONE Studio je distribuován online a na CD. CD obsahuje všechna vydání Sun ONE Studio 4 na všech podporovaných platformách a také J2SE a J2EE. Instalace je snadná.

Ačkoli je Mobile Edition předkonfigurovaná s podporou J2ME, má pouze omezené funkce IDE. Instalací bezdrátového modulu J2ME můžete snadno přidat vývojové funkce J2ME do edic Community a Enterprise for Java. Tento modul odpovídá specifikaci NetBeans a lze jej nainstalovat s jakoukoli edicí Sun ONE Studio. Bezdrátový modul J2ME poskytuje šablony specifické pro J2ME, průvodce, položky nabídky a integraci kompilátoru a emulátoru a je dodáván s J2MEWTK.

Jednou ze silných stránek Sun ONE Studio je modulární design. Třetí strany mohou snadno poskytnout komponenty a integrovat se do IDE. Mezi příklady takových modulů patří UML modelování, refaktoring a testování jednotek.

Bezplatná vydání Sun ONE Studio na mě udělala dojem. Sun ONE Mobile Edition nebo Community Edition plus bezdrátový modul jsou jediné bezplatné ID2 J2ME, které doporučuji. Poskytují důležité funkce IDE pro velké a složité projekty. Community Edition dokonce poskytuje základní funkce pro vývoj aplikací na straně serveru; s tímto vydáním můžete vyvíjet servletové a databázové aplikace. Sun ONE Studio je jediným IDE v tomto článku, který podporuje J2ME pro platformy jiné než Windows. Níže uvedené komentáře vycházejí z mých zkušeností se Sun ONE Studio 4 Enterprise pro Javu a bezdrátovým modulem. Ale většina platí také pro bezplatnou edici Community.