Programmering

De bedste værktøjer til mobil applikationsudvikling

En ny teknologis vellykkede adoption afhænger ofte af dens udviklingsværktøjer. Gode ​​værktøjer hjælper nye udviklere lettere at komme i gang og gøre erfarne udviklere mere produktive. For eksempel er succesen med Microsofts programmeringsmiljø tæt forbundet med succesen med Visual Studio-værktøjerne.

J2ME (Java 2 Platform, Micro Edition) -teknologien er stadig relativt ny. Stærke udviklingsværktøjer, især IDE'er, vil i høj grad hjælpe J2ME's vedtagelse blandt udviklere af trådløse applikationer. I denne artikel gennemgår jeg fire J2ME IDE-produkter:

  • Borland JBuilder 7 Enterprise med MobileSet 3
  • Sun Microsystems 'Sun ONE (Open Network Environment) Studio 4 Mobile Edition
  • Metrowerks CodeWarrior Wireless Studio 7
  • S5 Systems 'jVise (baseret på IBM Eclipse-teknologi)

Landskab af J2ME-udviklingsværktøjer

Forskellige trådløse enheder har forskellige begrænsninger med hensyn til hukommelsesstørrelse, skærmstørrelse, inputmetoder og beregningshastighed. Også leverandørers J2ME-implementeringer kan indeholde leverandørspecifikke tilføjelses-API'er, der udnytter specielle underliggende hardware / OS-funktioner.

Det diversificerede enhedsmarked resulterer naturligvis i diversificerede udviklingsværktøjer. Hver enhedsleverandør har sine egne SDK, enhedsemulatorer og ydeevne-analyseværktøjer. Nogle SDK'er kommer endda med deres egne build-projektstyrings- og kildekodedigeringsværktøjer. Et eksempel er Suns J2ME Wireless ToolKit (J2MEWTK). J2MEWTK indeholder en referenceimplementering af J2ME / MIDP (Mobile Information Device Profile) og har flere enhedsemulatorer, der kører på Unix / Linux og Windows-platforme. J2MEWTK har også ydeevneprofilværktøjer og ægte hukommelsesforbrugsskærme. Alle disse værktøjer kan administreres fra et centralt kontrolpanel kaldet kToolBar. kToolBar kan også oprette og pakke klar til implementering af JAR / Jad-programmer fra udviklingsmapper. Imidlertid kan det være kedeligt at beherske alle disse værktøjer og teste applikationer på alle emulatorer.

En J2ME IDE letter udviklingen ved at integrere enhedsleverandørens SDK'er med andre værktøjer. Udviklere kan derefter have en samlet IDE-grænseflade til alle understøttede SDK'er. IDE'er forbedrer også udviklerens produktivitet og kvaliteten af ​​applikationer, der kan leveres.

Hvem skal bruge en IDE?

Jeg anbefaler ikke IDE'er til nybegyndere. Sådanne udviklere skal lære flere forskellige ting på én gang: Java-sproget, J2ME API'er og pakker, IDE selv. En IDE's bekvemmelighedsfunktioner kan let skjule, hvad der virkelig sker under emhætten. Du kan ende med at udvikle et sæt færdigheder, der er bundet til en bestemt IDE. IDE'er kan dog hjælpe, hvis du allerede ved, hvad du laver. De kan automatisere mange kedelige processer for en erfaren udvikler.

J2ME IDE købers guide

Jeg evaluerede denne artikels J2ME IDE'er i henhold til følgende aspekter:

  • Generelle produktivitetsfunktioner: Jeg evaluerede disse funktioner, der er gavnlige for alle Java-udviklingsprojekter, ikke dem, der er specifikke for J2ME. Disse funktioner inkluderer editor, projektleder, debugger, arkitektdesigner og dokumentationsværktøjer samt værktøjer til avancerede programmeringsteknikker (refactoring, enhedstest osv.).
  • Tredjeparts SDK-integration: Understøttelse af flere SDK'er er en kernefunktion til enhver J2ME IDE. Men IDE-leverandører har svært ved at spore og integrere support til hver enkelt SDK. Unified Emulator Interface (UEI) -specifikationen standardiserer programmeringsgrænsefladen mellem SDK'er og IDE'er. UEI-kompatible SDK'er og IDE'er garanteres at arbejde sammen. I min evaluering diskuterer jeg, hvilke SDK'er IDE'erne understøtter, om IDE'erne understøtter UEI, og hvor svært det er at skifte mellem SDK'er i et projekt.
  • Værktøjer efter kompilering: J2ME-applikationer er mobile applikationer, der kræver et højt niveau af sikkerhed og ydeevne. Kodeforebyggelse kan forhindre folk i at reverse-engineering dine klassefiler og reducere kodestørrelsen. Specielle optimeringsteknikker er tilgængelige fra IDE-leverandører og deres partnere. J2ME-applikationer kan også efterbehandles og optimeres til implementeringsenheder baseret på de tilgængelige ressourcer til specifikke enhedstyper. Disse efterbehandlings-, tiltræknings- og optimeringsværktøjer falder ind under denne kategori efter kompilering.
  • Over-the-air (OTA) implementeringsstøtte: J2ME-applikationer distribueres ofte over offentlige trådløse netværk. J2ME OTA-specifikationer standardiserer processen til at opdage, downloade, godkende, autorisere, verificere og udføre en mobil Java-applikation. OTA-specifikationer kræver korrekt formaterede metafiler på serversiden og Java Application Manager (JAM) på mobilenhedens side. Serveren kræver også specielle konfigurationer til at understøtte OTA-metatyper. OTA-processen kan blive ret kompleks med den kommende udgivelse af MIDP 2.0. En IDE skal hjælpe med at generere disse metafiler automatisk. En god IDE skal også integrere OTA-kompatible JAM-klienter for at teste implementeringen inden for IDE.
  • End-to-end udvikling af mobilapplikationer: J2ME-enheder er ikke kraftige nok til at behandle eller gemme store mængder information alene; J2ME-applikationer er ofte tykke klienter for nogle backend-virksomhedsapplikationsservere. Således bør en førsteklasses IDE tillade udviklere at bygge hele end-to-end-projekter. Det minimerer læringsomkostninger og projektkoordineringsindsats.
  • Dokumentation og tutorials: Java mobil applikationsudvikling er en sofistikeret proces, der involverer mange aspekter af software engineering. IDE'er giver værktøjer til at automatisere mange opgaver; på grund af udviklingsprocessens iboende kompleksitet har uerfarne programmører ofte svært ved at bruge disse funktioner korrekt. Vejledninger og detaljerede casestudier viser sig at være afgørende for en IDEs effektiv adoption.
  • J2ME GUI (grafisk brugergrænseflade) builders: Nogle IDE'er har RAD-værktøjer (hurtig applikationsudvikling), der giver udviklere mulighed for at konstruere mobile brugergrænseflader visuelt. Disse værktøjer appellerer til udviklere fra desktop-verdenen - dem, der er fortrolige med RAD-værktøjer fra J2SE (Java 2 Platform, Standard Edition). Brug dog J2ME visuelle GUI-buildere med forsigtighed: fordi trådløse enheder adskiller sig i skærmstørrelser, kan det samme UI-design muligvis se anderledes ud på forskellige enheder. For eksempel kan en Palm PDA vise fire kommandoknapper i træk. Men en mobiltelefon beder dig muligvis om at vælge fra en liste med fire kommandoer, når du klikker på en Menu-knap. Så hvad du ser på GUI-bygherren, er muligvis ikke det, du til sidst får på en bestemt enhed.

JBuilder 7 Enterprise med MobileSet 3

Borland JBuilder er en berømt Java IDE med tre udgaver: Personal, Standard (SE) og Enterprise. Alle JBuilder-udgaver kan køre på flere platforme inklusive Windows, Linux, Solaris og Mac OS X. For at understøtte J2ME-udvikling på JBuilder skal du installere et tilføjelsesmodul kaldet MobileSet. I øjeblikket kører MobileSet kun på Windows, men support til flere platforme er planlagt.

JBuilder Personal fås gratis fra Borlands websted. JBuilder SE koster 99 (september 2002), og Enterprise-udgaven koster 999. Du kan downloade 30-dages gratis prøvelicenser til både Standard- og Enterprise-udgaven. Selvom det er gratis, tilbyder den personlige udgave kun lidt værdi. Det mangler nogle grundlæggende produktivitetsfunktioner. For eksempel kan du ikke engang administrere din kildekode gennem pakkehierarkier, hvilket gør det vanskeligt at udvikle store projekter med mange klasser.

I modsætning hertil tilbyder JBuilder 7 Enterprise et stort sæt værktøjer, der understøtter Java-applikation (især J2EE (Java 2 Platform, Enterprise Edition) applikationer) design, udvikling, test og implementering. Den leveres med Borlands egen J2EE-applikationsserver, Borland InterBase SQL-database og en prøveversion af virksomhedens Optimizeit Suite, et Java-optimeringsværktøj. Den krympede software leveres med tre vejledningsdokumentationsbøger. Ikke kun giver disse bøger JBuilder-brugsstudier, de tjener også som gode ressourcer til at lære generel Java-applikationsudvikling.

For at udvikle J2ME-applikationer oven på enhver JBuilder 7-udgave skal du installere MobileSet, en gratis download fra Borlands websted. Efter at have kørt installationsprogrammet, tilføjer MobileSet nye guider, kompilering / runtime-miljøer og menupunkter til din eksisterende JBuilder-installation. Den følgende anmeldelse fokuserer på JBuilder 7 Enterprise.

  • Generelle produktivitetsfunktioner: JBuilder 7 Enterprise tilbyder avancerede Java-produktivitetsfunktioner. Det har en stærk editor, compiler og debugger. Mere avancerede funktioner inkluderer flere JVM- og runtime-understøttelse, UML (Unified Modelling Language) visualiseringsværktøjer, værktøjer til design af applikationslogik (for eksempel visuelle EJB (Enterprise JavaBean) designere), integreret enhedsteststøtte, refactoring-værktøjer og javadoc-værktøjer. For virksomhedsapplikationer understøtter JBuilder automatisk generering af web- og virksomhedsarkiver (WAR / EAR) og implementering på alle førende applikationsservere. Ved hjælp af JBuilder kan du også nemt integrere kraftfulde tredjepartsværktøjer, såsom CVS (Concurrent Versioning System) til kildekodestyring og Ant til brugerdefinerede builds, i dit projekt.
  • Tredjeparts SDK-integration: Den eneste J2ME-platform, som JBuilder understøtter, er MIDP. JBuilder MobileSet understøtter J2MEWTK, Nokia, Siemens og Sprint PCS SDK'er. Men selve MobileSet-downloadet indeholder kun J2MEWTK for at komme i gang; du skal downloade andre SDK'er separat. Da JBuilder understøtter UEI, forventer jeg, at det vil understøtte de fleste fremtidige SDK'er. Værktøjet giver dig mulighed for at skifte mellem flere JVM'er og runtime-miljøer i et projekt, hvilket forenkler udvikling af flere platforme.
  • Værktøjer efter kompilering: JBuilder MobileSet har indbygget understøttelse af klassefil-tilsløring gennem RetroGuard 1.1. Den medfølgende Optimizeit Suite optimerer yderligere applikationsstørrelse og ydeevne.
  • OTA-implementeringsstøtte: Med JBuilder Enterprise kunne jeg nemt generere jar-manifestfiler og jad-filer til mit MIDP-projekt. Projekter kan implementeres på en korrekt konfigureret fjernserver via JBuilders indbyggede FTP-klient. JBuilder konfigurerer dog ikke serveren til dig. Du kan teste implementerede applikationer ved hjælp af OTA-kompatible JAM'er på klientsiden integreret i JBuilder.
  • End-to-end udvikling af mobilapplikationer: JBuilder 7 Enterprise har fremragende muligheder for at udvikle J2EE backend applikationsservere. Du kan udvikle end-to-end applikationer helt inden for JBuilder.
  • Dokumentation og tutorials: De tre bøger, der følger med JBuilder 7 Enterprise, er alle frit tilgængelige i både HTML- og PDF-versioner fra Borland-webstedet. Borland har også MobileSet-tutorialbøger, der kan downloades, og mange andre fine dokumentationer. JBuilders dokumentationsstøtte er fremragende.
  • J2ME GUI-bygere: MobileSet leveres med en MIDP GUI-builder; at producere GUI-kode med JBuilder viser sig at være ret let.

Sun ONE Studio 4 Mobile Edition

Tidligere kendt som Forte for Java bruger Sun ONE Studio NetBeans-teknologi til at integrere eksterne moduler i IDE. Sun ONE Studio leveres med tre udgaver: Community, Mobile og Enterprise til Java. Fællesskabs- og mobiludgaverne er gratis; Enterprise for Java koster 995 og har sofistikerede J2EE-udviklings- og implementeringsfunktioner. Du kan få en 60-dages gratis prøveversion af Enterprise til Java fra Suns websted.

Sun ONE Studio distribueres online og på en cd. CD'en indeholder alle udgaver af Sun ONE Studio 4 på alle understøttede platforme såvel som J2SE og J2EE. Installation er let.

Selvom Mobile Edition kommer forudkonfigureret med J2ME-understøttelse, har den kun begrænsede IDE-funktioner. Du kan nemt tilføje J2ME-udviklingsfunktioner til Community og Enterprise til Java-udgaver ved at installere et J2ME trådløst modul. Dette modul overholder NetBeans-specifikationen og kan installeres med enhver Sun ONE Studio-udgave. Det trådløse J2ME-modul leverer J2ME-specifikke skabeloner, guider, menupunkter og integrering af compiler og emulator og leveres sammen med J2MEWTK.

En af Sun ONE Studios styrker er dens modulære design. Tredjeparter kan let levere komponenter og integrere med IDE. Eksempler på sådanne moduler inkluderer UML-modellering, refactoring og enhedstest.

Sun ONE Studios gratisudgaver imponerede mig. Sun ONE Mobile Edition eller Community Edition plus det trådløse modul er de eneste gratis J2ME IDE'er, jeg anbefaler. De giver alle vigtige IDE-funktioner til store og komplekse projekter. Community Edition giver endda grundlæggende serverudviklingsapplikationsfunktioner; du kan udvikle servlet- og databaseapplikationer med denne udgave. Sun ONE Studio er den eneste IDE i denne artikel, der har J2ME-understøttelse til ikke-Windows-platforme. Kommentarerne nedenfor er baseret på min erfaring med Sun ONE Studio 4 Enterprise til Java plus det trådløse modul. Men de fleste gælder også for den gratis Community-udgave.