Programmering

De beste verktøyene for utvikling av mobilapplikasjoner

En ny teknologis vellykkede adopsjon avhenger ofte av utviklingsverktøyene. Gode ​​verktøy hjelper nye utviklere lettere å komme i gang og gjøre erfarne utviklere mer produktive. For eksempel er suksessen til Microsofts programmeringsmiljø nært knyttet til suksessen til Visual Studio-verktøyene.

J2ME (Java 2 Platform, Micro Edition) -teknologien er fremdeles relativt ny. Sterke utviklingsverktøy, spesielt IDEer, vil i stor grad hjelpe J2MEs adopsjon blant utviklere av trådløse applikasjoner. I denne artikkelen gjennomgå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 (basert på IBM Eclipse-teknologi)

Landskap av J2ME utviklingsverktøy

Ulike trådløse enheter har forskjellige begrensninger når det gjelder minnestørrelse, skjermstørrelse, inndatametoder og beregningshastighet. Også leverandørers J2ME-implementeringer kan inneholde leverandørspesifikke tilleggs-API-er som utnytter spesielle underliggende maskinvare / OS-funksjoner.

Det diversifiserte enhetsmarkedet resulterer naturlig nok i diversifiserte utviklingsverktøy. Hver enhetsleverandør har sine egne SDK, enhetsemulatorer og ytelsesanalyseverktøy. Noen SDK-er kommer til og med med sine egne verktøy for redigering av prosjektledelse og kildekode. Et eksempel er Suns J2ME Wireless ToolKit (J2MEWTK). J2MEWTK inneholder en referanseimplementering av J2ME / MIDP (Mobile Information Device Profile) og har flere enhetsemulatorer som kjører på Unix / Linux og Windows-plattformer. J2MEWTK har også ytelsesprofilverktøy og ekte minnebrukskjermer. Alle disse verktøyene kan administreres fra et sentralt kontrollpanel kalt kToolBar. kToolBar kan også bygge og pakke klar til distribusjon av JAR / Jad-programmer fra utviklingskataloger. Å mestre alle disse verktøyene og teste applikasjoner på alle emulatorer kan imidlertid være kjedelig.

En J2ME IDE letter utviklingen ved å integrere SDK-er for enhetsleverandører med andre verktøy. Utviklere kan da ha et enhetlig IDE-grensesnitt for alle støttede SDK-er. IDE forbedrer også utviklerens produktivitet og kvaliteten på applikasjoner som kan leveres.

Hvem skal bruke IDE?

Jeg anbefaler ikke IDEer til nybegynnere. Slike utviklere må lære seg flere forskjellige ting på en gang: Java-språket, J2ME APIer og pakker, selve IDE. En IDEs bekvemmelighetsfunksjoner kan lett skjule hva som virkelig skjer under panseret. Du kan ende opp med å utvikle et sett med ferdigheter knyttet til en bestemt IDE. IDE-er kan imidlertid hjelpe hvis du allerede vet hva du gjør. De kan automatisere mange kjedelige prosesser for en erfaren utvikler.

J2ME IDE kjøpeguide

Jeg evaluerte J2ME IDE-ene til denne artikkelen i henhold til følgende aspekter:

  • Generelle produktivitetsfunksjoner: Jeg vurderte disse funksjonene som er gunstige for alle Java-utviklingsprosjekter, ikke de som er spesifikke for J2ME. Disse funksjonene inkluderer redigeringsverktøy, prosjektleder, feilsøkingsverktøy, arkitektdesigner og dokumentasjonsverktøy, pluss verktøy for avanserte programmeringsteknikker (refactoring, enhetstesting og så videre).
  • Tredjeparts SDK-integrasjon: Støtte for flere SDK-er er en kjernefunksjon for enhver J2ME IDE. Men IDE-leverandører har problemer med å spore og integrere støtte for hver enkelt SDK. Unified Emulator Interface (UEI) spesifikasjonen standardiserer programmeringsgrensesnittet mellom SDKer og IDEer. UEI-kompatible SDK-er og IDE-er fungerer garantert sammen. I min evaluering diskuterer jeg hvilke SDK-er IDE-ene støtter ut av boksen, om IDE-ene støtter UEI, og hvor vanskelig det er å bytte mellom SDK-er i et prosjekt.
  • Post-kompilering verktøy: J2ME-applikasjoner er mobile applikasjoner som krever et høyt nivå av sikkerhet og ytelse. Kodeforvirring kan forhindre folk i å reverse-engineering klassefilene dine og redusere kodestørrelsen. Spesielle optimaliseringsteknikker er tilgjengelige fra IDE-leverandører og deres partnere. J2ME-applikasjoner kan også postbehandles og optimaliseres for distribusjonsenheter basert på ressursene som er tilgjengelige for bestemte enhetstyper. Disse etterbehandlings-, forvirrings- og optimaliseringsverktøyene faller inn i denne kategorien etter kompilering.
  • Over-the-air (OTA) distribusjonsstøtte: J2ME-applikasjoner distribueres ofte over offentlige trådløse nettverk. J2ME OTA-spesifikasjoner standardiserer prosessen for å oppdage, laste ned, autentisere, autorisere, verifisere og utføre en mobil Java-applikasjon. OTA-spesifikasjoner krever riktig formaterte metafiler på serversiden og Java Application Manager (JAM) på mobilenhetssiden. Serveren krever også spesielle konfigurasjoner for å støtte OTA-metatyper. OTA-prosessen kan bli ganske komplisert med den kommende utgivelsen av MIDP 2.0. En IDE skal bidra til å generere disse metafilene automatisk. En god IDE bør også integrere OTA-kompatible JAM-klienter for å teste distribusjonen innen IDE.
  • End-to-end utvikling av mobilapplikasjoner: J2ME-enheter er ikke kraftige nok til å behandle eller lagre store mengder informasjon alene; J2ME-applikasjoner er ofte tykke klienter for noen backend-bedriftsapplikasjonsservere. Dermed bør en førsteklasses IDE tillate utviklere å bygge hele end-to-end-prosjekter. Dette minimerer læringskostnader og prosjektkoordinering.
  • Dokumentasjon og opplæring: Java mobil applikasjonsutvikling er en sofistikert prosess som involverer mange aspekter av programvareteknikk. IDEer gir verktøy for å automatisere mange oppgaver; på grunn av utviklingsprosessens iboende kompleksitet, har nybegynnere ofte det vanskelig å bruke disse funksjonene riktig. Veiledninger og detaljerte casestudier viser seg å være avgjørende for en IDEs effektiv adopsjon.
  • J2ME GUI (grafisk brukergrensesnitt) -byggere: Noen IDEer har RAD-verktøy (hurtig applikasjonsutvikling) som lar utviklere konstruere mobile brukergrensesnitt visuelt. Disse verktøyene appellerer til utviklere fra skrivebordsverdenen - de som er kjent med J2SE (Java 2 Platform, Standard Edition) RAD-verktøy. Bruk imidlertid J2ME visual GUI-byggere med forsiktighet: fordi trådløse enheter er forskjellige i skjermstørrelser, kan det samme UI-designet vises annerledes på forskjellige enheter. For eksempel kan en Palm PDA vise fire kommandoknapper på rad. Men en mobiltelefon kan be deg om å velge fra en liste med fire kommandoer når du klikker på en menyknapp. Så det du ser på GUI-byggeren, er kanskje ikke det du til slutt får på en bestemt enhet.

JBuilder 7 Enterprise med MobileSet 3

Borland JBuilder er en kjent Java IDE med tre utgaver: Personal, Standard (SE) og Enterprise. Alle JBuilder-utgaver kan kjøres på flere plattformer, inkludert Windows, Linux, Solaris og Mac OS X. For å støtte J2ME-utvikling på JBuilder, må du installere en tilleggsmodul kalt MobileSet. Foreløpig kjører MobileSet bare på Windows, men det er planlagt støtte for flere plattformer.

JBuilder Personal er tilgjengelig gratis fra Borlands nettsted. JBuilder SE koster 99 (september 2002), og Enterprise-utgaven koster 999. Du kan laste ned gratis prøveperioder på 30 dager for både Standard- og Enterprise-utgavene. Selv om det er gratis, tilbyr den personlige utgaven liten verdi. Det mangler noen grunnleggende produktivitetsfunksjoner. For eksempel kan du ikke engang administrere kildekoden din gjennom pakkehierarkier, noe som gjør det vanskelig å utvikle store prosjekter med mange klasser.

Derimot tilbyr JBuilder 7 Enterprise et rikt sett med verktøy som støtter Java-applikasjon (spesielt J2EE (Java 2 Platform, Enterprise Edition) applikasjoner) design, utvikling, testing og distribusjon. Den leveres med Borlands egen J2EE-applikasjonsserver, Borland InterBase SQL-database, og en prøveversjon av selskapets Optimizeit Suite, et Java-optimaliseringsverktøy. Den krympepakkede programvaren kommer med tre opplæringsdokumentasjonsbøker. Ikke bare gir disse bøkene JBuilder case-studier, de fungerer også som gode ressurser for å lære generell Java-applikasjonsutvikling.

For å utvikle J2ME-applikasjoner på toppen av en hvilken som helst JBuilder 7-utgave, må du installere MobileSet, en gratis nedlasting fra Borlands nettsted. Etter å ha kjørt installasjonsprogrammet, legger MobileSet til nye veivisere, kompilerings- / kjøretidsmiljøer og menyelementer til din eksisterende JBuilder-installasjon. Følgende gjennomgang fokuserer på JBuilder 7 Enterprise.

  • Generelle produktivitetsfunksjoner: JBuilder 7 Enterprise tilbyr førsteklasses Java-produktivitetsfunksjoner. Den har en kraftig redaktør, kompilator og feilsøkingsprogram. Mer avanserte funksjoner inkluderer flere JVM- og kjøretidsstøtter, UML (Unified Modelling Language) visualiseringsverktøy, verktøy for å designe applikasjonslogikk (for eksempel visuelle EJB (Enterprise JavaBean) -designere), integrert enhetsteststøtte, refactoring-verktøy og javadoc-verktøy. For bedriftsapplikasjoner støtter JBuilder automatisk generering av nett- og bedriftsarkiv (WAR / EAR) og distribusjon på alle ledende applikasjonsservere. Ved hjelp av JBuilder kan du også enkelt integrere kraftige tredjepartsverktøy, for eksempel CVS (Concurrent Versioning System) for kildekodeadministrasjon og Ant for tilpassede bygg, i prosjektet ditt.
  • Tredjeparts SDK-integrasjon: Den eneste J2ME-plattformen JBuilder støtter er MIDP. JBuilder MobileSet støtter J2MEWTK, Nokia, Siemens og Sprint PCS SDK. Men nedlastingen av MobileSet inneholder bare J2MEWTK for å komme i gang; du må laste ned andre SDK-er separat. Siden JBuilder støtter UEI, forventer jeg at det vil støtte de fleste fremtidige SDK-er. Verktøyet lar deg bytte mellom flere JVMer og kjøretidsmiljøer i et prosjekt, noe som forenkler utvikling av flere plattformer.
  • Post-kompilering verktøy: JBuilder MobileSet har innebygd støtte for klassefilforvirring gjennom RetroGuard 1.1. Den medfølgende Optimizeit Suite optimaliserer applikasjonsstørrelse og ytelse ytterligere.
  • OTA-distribusjonsstøtte: Med JBuilder Enterprise kunne jeg enkelt generere jar manifestfiler og jad-filer for mitt MIDP-prosjekt. Prosjekter kan distribueres på en riktig konfigurert ekstern server via JBuilders innebygde FTP-klient. Imidlertid konfigurerer JBuilder ikke serveren for deg. Du kan teste distribuerte applikasjoner ved hjelp av OTA-kompatible JAM-er på klientsiden integrert i JBuilder.
  • End-to-end utvikling av mobilapplikasjoner: JBuilder 7 Enterprise har utmerkede muligheter for å utvikle J2EE backend-applikasjonsservere. Du kan utvikle end-to-end applikasjoner helt innen JBuilder.
  • Dokumentasjon og opplæring: De tre bøkene som følger med JBuilder 7 Enterprise er alle fritt tilgjengelige i både HTML- og PDF-versjoner fra Borland-nettstedet. Borland har også nedlastbare MobileSet-opplæringsbøker og mange andre fine dokumentasjoner. JBuilders dokumentasjonsstøtte er utmerket.
  • J2ME GUI-byggere: MobileSet leveres med en MIDP GUI-byggherre; å produsere GUI-kode med JBuilder viser seg å være ganske enkelt.

Sun ONE Studio 4 Mobile Edition

Tidligere kjent som Forte for Java, bruker Sun ONE Studio NetBeans-teknologi for å integrere eksterne moduler i IDE. Sun ONE Studio kommer med tre utgaver: Community, Mobile og Enterprise for Java. Fellesskaps- og mobilutgavene er gratis; Enterprise for Java koster 995 og har sofistikerte J2EE utviklings- og distribusjonsfunksjoner. Du kan få en 60-dagers gratis prøveperiode for Enterprise for Java fra Suns nettsted.

Sun ONE Studio distribueres online og på en CD. CD-en inneholder alle utgaver av Sun ONE Studio 4 på alle støttede plattformer, så vel som J2SE og J2EE. Installasjonen er enkel.

Selv om Mobile Edition er forhåndskonfigurert med J2ME-støtte, har den bare begrensede IDE-funksjoner. Du kan enkelt legge til J2ME-utviklingsmuligheter i Community og Enterprise for Java-utgavene ved å installere en J2ME trådløs modul. Denne modulen er i samsvar med NetBeans-spesifikasjonen og kan installeres med hvilken som helst Sun ONE Studio-utgave. Den trådløse J2ME-modulen gir J2ME-spesifikke maler, veivisere, menyelementer og integrering av kompilator og emulator, og følger med J2MEWTK.

En av styrkene til Sun ONE Studio er modulær design. Tredjeparter kan enkelt levere komponenter og integrere med IDE. Eksempler på slike moduler inkluderer UML-modellering, refactoring og enhetstesting.

Sun ONE Studios gratisutgaver imponerte meg. Sun ONE Mobile Edition eller Community Edition pluss den trådløse modulen er de eneste gratis J2ME IDEene jeg anbefaler. De gir viktige IDE-funksjoner for store og komplekse prosjekter. Community Edition gir til og med grunnleggende funksjoner for applikasjonsutvikling på serversiden; du kan utvikle servlet- og databaseapplikasjoner med denne utgaven. Sun ONE Studio er den eneste IDE i denne artikkelen som har J2ME-støtte for ikke-Windows-plattformer. Kommentarene nedenfor er basert på min erfaring med Sun ONE Studio 4 Enterprise for Java pluss den trådløse modulen. Men de fleste gjelder også den gratis Community Edition.

$config[zx-auto] not found$config[zx-overlay] not found