Najbolji alati za razvoj mobilnih aplikacija

Uspješno usvajanje nove tehnologije često ovisi o njenim razvojnim alatima. Dobri alati pomažu novim programerima da lakše započnu i iskusne programere učine produktivnijima. Na primjer, uspjeh Microsoftovog programskog okruženja usko je povezan s uspjehom njegovih alata Visual Studio.

Tehnologija J2ME (Java 2 Platform, Micro Edition) još je uvijek relativno nova. Snažni razvojni alati, posebno IDE-ovi, uvelike će pomoći u usvajanju J2ME-a među programerima bežičnih aplikacija. U ovom članku pregledam četiri J2ME IDE proizvoda:

  • Borland JBuilder 7 Enterprise s MobileSet 3
  • Sun ONE (otvoreno mrežno okruženje) Studio 4 za mobilne uređaje Sun Microsystems
  • Metrowerks CodeWarrior Wireless Studio 7
  • JVise S5 Systems (zasnovan na tehnologiji IBM Eclipse)

Pejzaž razvojnih alata J2ME

Različiti bežični uređaji imaju različita ograničenja u pogledu veličine memorije, veličine zaslona, ​​načina unosa i brzine računanja. Također, implementacije dobavljača J2ME mogu sadržavati API-je dodataka specifične za dobavljače koji koriste posebne osnovne hardverske / OS značajke.

Raznoliko tržište uređaja prirodno rezultira raznovrsnim razvojnim alatima. Svaki dobavljač uređaja ima vlastiti SDK, emulatore uređaja i alate za analizu izvedbe. Neki SDK-ovi dolaze čak i sa svojim vlastitim alatima za upravljanje projektima za izgradnju i uređivanjem izvornog koda. Jedan od primjera je Sunčev J2ME bežični alat (J2MEWTK). J2MEWTK sadrži referentnu implementaciju J2ME / MIDP (Profil mobilnih informacijskih uređaja) i ima više emulatora uređaja koji rade na Unix / Linux i Windows platformama. J2MEWTK također ima alate za profil izvedbe i monitore stvarne upotrebe memorije. Svi ti alati mogu se administrirati sa središnje upravljačke ploče nazvane kToolBar. kToolBar također može graditi i spakirati JAR / Jad programe spremne za implementaciju iz razvojnih direktorija. Međutim, savladavanje svih ovih alata i testiranje aplikacija na svim emulatorima može se pokazati zamornim.

J2ME IDE olakšava razvoj integracijom SDK-a dobavljača uređaja s drugim alatima. Programeri tada mogu imati jedinstveno IDE sučelje za sve podržane SDK-ove. IDE-ovi također poboljšavaju produktivnost programera i kvalitetu isporučivih aplikacija.

Tko bi trebao koristiti IDE?

Ne preporučujem IDE-ove razvojnim programerima. Takvi programeri moraju naučiti nekoliko različitih stvari odjednom: jezik Java, J2ME API-ji i paketi, sam IDE. IDE-ove praktične značajke mogu lako prikriti ono što se stvarno događa ispod haube. Na kraju biste mogli razviti skup vještina povezanih s određenim IDE-om. IDE-ovi pak mogu pomoći ako već znate što radite. Oni mogu automatizirati mnoge zamorne procese za iskusnog programera.

Vodič za kupca za J2ME IDE

J2ME IDE ovog članka procijenio sam prema sljedećim aspektima:

  • Opće značajke produktivnosti: Procijenio sam one značajke korisne za sve razvojne projekte Java, a ne one specifične za J2ME. Te značajke uključuju uređivač, voditelj projekata, program za ispravljanje pogrešaka, dizajner arhitekture i alate za dokumentaciju, plus alati za napredne tehnike programiranja (refaktoriranje, jedinstveno testiranje i tako dalje).
  • Integracija SDK-a treće strane: podrška za više SDK-a osnovna je značajka bilo kojeg J2ME IDE-a. Ali dobavljači IDE-a imaju poteškoća u praćenju i integriranju podrške za svaki pojedinačni SDK. Specifikacija Unified Emulator Interface (UEI) standardizira programsko sučelje između SDK-a i IDE-a. Zajamčeno je da SDK-ovi i IDE-ovi kompatibilni s UEI međusobno surađuju. U svojoj procjeni raspravljam o tome koje SDK-ove IDE podržavaju izravno, podržavaju li IDE-ovi UEI i koliko je teško prebacivati ​​se između SDK-ova u projektu.
  • Alati za naknadnu kompilaciju: J2ME aplikacije su mobilne aplikacije koje zahtijevaju visoku razinu sigurnosti i performansi. Zamagljivanje koda može spriječiti ljude da izvrše obrnuti inženjering datoteka vaše klase i smanjiti veličinu koda. Posebne tehnike optimizacije dostupne su od dobavljača IDE-a i njihovih partnera. J2ME aplikacije također se mogu naknadno obrađivati ​​i optimizirati za uređaje za postavljanje na temelju resursa dostupnih za određene vrste uređaja. Ovi alati za naknadnu obradu, zamagljivanje i optimizaciju spadaju u ovu kategoriju naknadne kompilacije.
  • Podrška za razmještanje putem zraka (OTA): J2ME aplikacije često se postavljaju putem javnih bežičnih mreža. J2ME OTA specifikacije standardiziraju postupak otkrivanja, preuzimanja, autentifikacije, autorizacije, provjere i izvršavanja mobilne Java aplikacije. OTA specifikacije zahtijevaju pravilno formatirane meta datoteke na strani poslužitelja i Java Application Manager (JAM) na strani mobilnog uređaja. Poslužitelj također zahtijeva posebne konfiguracije za podršku OTA meta vrstama. OTA postupak može postati prilično složen s nadolazećim izdanjem MIDP 2.0. IDE bi trebao pomoći u automatskom generiranju tih meta datoteka. Dobar IDE također bi trebao integrirati OTA-kompatibilne JAM klijente za testiranje implementacije unutar IDE-a.
  • Cjelokupni razvoj mobilnih aplikacija: J2ME uređaji nisu dovoljno moćni da sami obrađuju ili pohranjuju velike količine podataka; J2ME aplikacije često su gusti klijenti za neke pozadinske poslužitelje poslovnih aplikacija. Stoga bi prvorazredni IDE trebao omogućiti programerima da grade cijele projekte od kraja do kraja. To minimalizira troškove učenja i napore na koordinaciji projekata.
  • Dokumentacija i vodiči: Razvoj Java mobilnih aplikacija sofisticiran je postupak koji uključuje mnoge aspekte softverskog inženjerstva. IDE pružaju alate za automatizaciju mnogih zadataka; međutim, zbog suštinske složenosti razvojnog procesa, programerima početnicima je često teško pravilno koristiti te značajke. Vodiči i detaljne studije slučaja pokazuju se ključnim za učinkovito usvajanje IDE-a.
  • Izrađivači grafičkog korisničkog sučelja J2ME (grafičko korisničko sučelje): Neki IDE-i imaju alate RAD (brzi razvoj aplikacija) koji programerima omogućuju vizualnu izgradnju mobilnih korisničkih sučelja. Ti se alati dopadaju programerima iz svijeta stolnih računala - onima koji su upoznati s J2SE (Java 2 Platform, Standard Edition) RAD alatima. No, oprezno koristite J2ME graditelje vizualnog grafičkog sučelja: budući da se bežični uređaji razlikuju u veličinama zaslona, ​​isti dizajn korisničkog sučelja može se na različitim uređajima pojaviti drugačije. Na primjer, Palm PDA može prikazati četiri naredbene tipke u nizu. No mobitel će vas možda pritisnuti da odaberete s popisa od četiri naredbe kada kliknete gumb Izbornik. Dakle, ono što vidite na alatu za izradu GUI-a možda neće biti ono što na kraju dobijete na određenom uređaju.

JBuilder 7 Enterprise s MobileSet 3

Borland JBuilder poznati je Java IDE s tri izdanja: Personal, Standard (SE) i Enterprise. Sva izdanja JBuilder mogu se izvoditi na više platformi, uključujući Windows, Linux, Solaris i Mac OS X. Da biste podržali razvoj J2ME na JBuilderu, morate instalirati dodatak modul nazvan MobileSet. Trenutno MobileSet radi samo na sustavu Windows, ali planira se podrška za više platformi.

JBuilder Personal dostupan je besplatno na web mjestu Borland. JBuilder SE košta 99 (rujan 2002), a izdanje Enterprise 999. Možete preuzeti 30-dnevne besplatne probne licence za izdanja Standard i Enterprise. Iako je besplatno, osobno izdanje nudi malu vrijednost. Nedostaju neke osnovne značajke produktivnosti. Na primjer, ne možete upravljati svojim izvornim kodom putem hijerarhije paketa, što otežava razvoj velikih projekata s mnogim klasama.

Suprotno tome, JBuilder 7 Enterprise nudi bogat set alata koji podržavaju dizajn, razvoj, testiranje i implementaciju Java aplikacija (posebno J2EE (Java 2 Platform, Enterprise Edition) aplikacija). U paketu je s vlastitim Borlandovim J2EE aplikacijskim poslužiteljem, Borland InterBase SQL bazom podataka i probnim izdanjem tvrtke Optimizeit Suite, Java alatom za optimizaciju. Smanjeni omot isporučuje se s tri knjige s tutorial dokumentacijom. Te knjige ne pružaju samo studije slučaja korištenja JBuilder-a, već služe i kao dobri izvori za učenje općeg razvoja Java aplikacija.

Da biste razvili J2ME aplikacije povrh bilo kojeg izdanja JBuilder 7, morate instalirati MobileSet, besplatni download s Borlandove web stranice. Nakon pokretanja instalacijskog programa, MobileSet dodaje nove čarobnjake, okruženja za kompajliranje / izvršavanje i stavke izbornika u vašu postojeću instalaciju JBuilder. Sljedeći pregled usredotočen je na JBuilder 7 Enterprise.

  • Opće značajke produktivnosti: JBuilder 7 Enterprise nudi vrhunske značajke Java produktivnosti. Ima moćan uređivač, kompajler i program za ispravljanje pogrešaka. Naprednije značajke uključuju višestruku podršku za JVM i runtime, alate za vizualizaciju UML (Unified Modeling Language), alate za dizajniranje aplikacijske logike (na primjer, vizualne EJB (Enterprise JavaBean) dizajnere), integriranu podršku za jedinstveno testiranje, alate za refaktoriranje i alate za javadoc. Za poslovne programe, JBuilder podržava automatsko generiranje internetskih i poslovnih arhiva (WAR / EAR) i postavljanje na svim vodećim aplikacijskim poslužiteljima. Korištenjem JBuilder također možete lako integrirati u svoj projekt moćne alate nezavisnih proizvođača, poput CVS-a (Concurrent Versioning System) za upravljanje izvornim kodom i Ant za prilagođene gradnje.
  • Integracija SDK-a treće strane: Jedina J2ME platforma koju JBuilder podržava je MIDP. JBuilder MobileSet podržava J2MEWTK, Nokia, Siemens i Sprint PCS SDK. Ali samo preuzimanje MobileSet sadrži samo J2MEWTK za početak; ostale SDK-ove morate preuzeti zasebno. Budući da JBuilder podržava UEI, pretpostavljam da će podržavati većinu budućih SDK-ova. Alat vam omogućuje prebacivanje između više JVM-ova i runtime okruženja u projektu, što pojednostavljuje razvoj više platformi.
  • Alati za naknadnu kompilaciju: JBuilder MobileSet ima ugrađenu podršku za zamagljivanje datoteka klase kroz RetroGuard 1.1. Paket Optimizeit u paketu dodatno optimizira veličinu i izvedbu aplikacije.
  • Podrška za implementaciju OTA: S JBuilder Enterprise mogao bih lako generirati jar manifest datoteke i jad datoteke za svoj MIDP projekt. Projekti se mogu rasporediti na pravilno konfigurirani udaljeni poslužitelj putem JBuilder-ovog ugrađenog FTP klijenta. Međutim, JBuilder ne konfigurira poslužitelj umjesto vas. Možete testirati implementirane aplikacije pomoću OTA-kompatibilnih JAM-a na strani klijenta integriranih u JBuilder.
  • Cjelokupni razvoj mobilnih aplikacija: JBuilder 7 Enterprise ima izvrsne mogućnosti za razvoj pozadinskih aplikacijskih poslužitelja J2EE. Aplikacije od kraja do kraja možete u potpunosti razviti unutar JBuilder-a.
  • Dokumentacija i vodiči: Sve tri knjige koje dolaze s JBuilder 7 Enterprise dostupne su na web stranici Borland u besplatnoj HTML i PDF verziji. Borland također ima udžbenike za MobileSet koji se mogu preuzeti i mnoge druge lijepe dokumentacije. JBuilder-ova dokumentacijska podrška je izvrsna.
  • J2ME GUI graditelji: MobileSet dolazi s MIDP graditeljem GUI; stvaranje GUI koda s JBuilder-om pokazalo se prilično jednostavnim.

Sun ONE Studio 4 Mobile Edition

Nekada poznat kao Forte za Javu, Sun ONE Studio koristi NetBeans tehnologiju za integraciju vanjskih modula u IDE. Sun ONE Studio dolazi s tri izdanja: Community, Mobile i Enterprise for Java. Izdanja Community i Mobile su besplatna; Enterprise for Java košta 995 i ima sofisticirane značajke razvoja i implementacije J2EE. 60-dnevnu besplatnu probnu licencu za Enterprise za Javu možete dobiti na web mjestu Sun.

Sun ONE Studio distribuira se putem interneta i na CD-u. CD sadrži sva izdanja Sun ONE Studio 4 na svim podržanim platformama, kao i J2SE i J2EE. Instalacija je jednostavna.

Iako Mobile Edition dolazi unaprijed konfiguriran s podrškom za J2ME, ima samo ograničene IDE značajke. Instalacijom bežičnog modula J2ME lako možete dodati razvojne mogućnosti J2ME izdanjima Community i Enterprise for Java. Ovaj modul je u skladu sa specifikacijama NetBeans i može se instalirati s bilo kojim izdanjem Sun ONE Studio. J2ME bežični modul pruža J2ME predloške, čarobnjake, stavke izbornika te integraciju kompajlera i emulatora, a isporučuje se u paketu s J2MEWTK.

Jedna od prednosti Sun ONE Studija je njegov modularni dizajn. Treće strane mogu lako pružiti komponente i integrirati se s IDE-om. Primjeri takvih modula uključuju UML modeliranje, refaktoriranje i jedinstveno testiranje.

Besplatna izdanja Sun ONE studija oduševila su me. Sun ONE Mobile Edition ili Community Edition i bežični modul jedini su besplatni J2ME IDE-ovi koje preporučujem. Pružaju najvažnije IDE značajke za velike i složene projekte. Community Edition nudi čak i osnovne značajke za razvoj aplikacija na strani poslužitelja; pomoću ovog izdanja možete razvijati programe za servlet i baze podataka. Sun ONE Studio jedini je IDE u ovom članku koji ima J2ME podršku za platforme koje nisu Windows. Komentari u nastavku temelje se na mojem iskustvu sa Sun ONE Studio 4 Enterprise za Javu i bežičnim modulom. Ali većina se odnosi i na besplatno izdanje zajednice.