Προγραμματισμός

Τα καλύτερα εργαλεία για ανάπτυξη εφαρμογών για κινητά

Η επιτυχής υιοθέτηση μιας νέας τεχνολογίας εξαρτάται συχνά από τα εργαλεία ανάπτυξης. Τα καλά εργαλεία βοηθούν τους νέους προγραμματιστές να ξεκινήσουν πιο εύκολα και να κάνουν τους έμπειρους προγραμματιστές πιο παραγωγικούς. Για παράδειγμα, η επιτυχία του περιβάλλοντος προγραμματισμού της Microsoft συνδέεται στενά με την επιτυχία των εργαλείων του Visual Studio.

Η τεχνολογία J2ME (Java 2 Platform, Micro Edition) είναι ακόμα σχετικά νέα. Τα ισχυρά εργαλεία ανάπτυξης, ειδικά τα IDE, θα βοηθήσουν σημαντικά την υιοθέτηση του J2ME μεταξύ των προγραμματιστών ασύρματων εφαρμογών. Σε αυτό το άρθρο, εξετάζω τέσσερα προϊόντα J2ME IDE:

  • Borland JBuilder 7 Enterprise με το MobileSet 3
  • Sun Microsystems 'Sun ONE (Open Network Environment) Studio 4 Mobile Edition
  • Metrowerks CodeWarrior Wireless Studio 7
  • S5 Systems 'jVise (με βάση την τεχνολογία IBM Eclipse)

Τοπίο εργαλείων ανάπτυξης J2ME

Διαφορετικές ασύρματες συσκευές έχουν διαφορετικούς περιορισμούς όσον αφορά το μέγεθος της μνήμης, το μέγεθος της οθόνης, τις μεθόδους εισαγωγής και την ταχύτητα υπολογισμού. Επίσης, οι υλοποιήσεις J2ME προμηθευτών ενδέχεται να περιέχουν πρόσθετα API ειδικά για προμηθευτές που αξιοποιούν ειδικά υποκείμενα χαρακτηριστικά υλικού / λειτουργικού συστήματος.

Η αγορά διαφοροποιημένων συσκευών οδηγεί φυσικά σε διαφοροποιημένα εργαλεία ανάπτυξης. Κάθε προμηθευτής συσκευών διαθέτει το δικό του SDK, εξομοιωτές συσκευών και εργαλεία ανάλυσης απόδοσης. Ορισμένα SDK έρχονται ακόμη και με τα δικά τους εργαλεία διαχείρισης έργων κατασκευής και πηγαίου κώδικα. Ένα παράδειγμα είναι το ασύρματο κιτ εργαλείων J2ME της Sun (J2MEWTK). Το J2MEWTK περιέχει μια εφαρμογή αναφοράς του J2ME / MIDP (Προφίλ συσκευής πληροφοριών κινητής τηλεφωνίας) και έχει πολλούς εξομοιωτές συσκευών που λειτουργούν σε πλατφόρμες Unix / Linux και Windows. Το J2MEWTK διαθέτει επίσης εργαλεία προφίλ απόδοσης και οθόνες χρήσης πραγματικής μνήμης. Όλα αυτά τα εργαλεία μπορούν να διαχειριστούν από έναν κεντρικό πίνακα ελέγχου που ονομάζεται kToolBar. Το kToolBar μπορεί επίσης να δημιουργήσει και να συσκευάσει προγράμματα JAR / Jad έτοιμα για ανάπτυξη από καταλόγους ανάπτυξης. Ωστόσο, η εξάσκηση όλων αυτών των εργαλείων και η δοκιμή εφαρμογών σε όλους τους εξομοιωτές μπορεί να αποδειχθεί κουραστική.

Ένα J2ME IDE διευκολύνει την ανάπτυξη ενσωματώνοντας SDK προμηθευτών συσκευών με άλλα εργαλεία. Οι προγραμματιστές μπορούν στη συνέχεια να έχουν μια ενοποιημένη διεπαφή IDE για όλα τα υποστηριζόμενα SDK. Τα IDE βελτιώνουν επίσης την παραγωγικότητα του προγραμματιστή και την ποιότητα των παραδοτέων εφαρμογών.

Ποιος πρέπει να χρησιμοποιήσει ένα IDE;

Δεν προτείνω IDE σε αρχάριους προγραμματιστές. Τέτοιοι προγραμματιστές πρέπει να μάθουν πολλά διαφορετικά πράγματα ταυτόχρονα: τη γλώσσα Java, API και πακέτα J2ME, το ίδιο το IDE. Τα χαρακτηριστικά ευκολίας ενός IDE μπορούν εύκολα να αποκρύψουν τι πραγματικά συμβαίνει κάτω από την κουκούλα. Ίσως καταλήξετε να αναπτύξετε ένα σύνολο δεξιοτήτων που συνδέονται με ένα συγκεκριμένο IDE. Τα IDE μπορούν να βοηθήσουν, ωστόσο, εάν γνωρίζετε ήδη τι κάνετε. Μπορούν να αυτοματοποιήσουν πολλές κουραστικές διαδικασίες για έναν έμπειρο προγραμματιστή.

Οδηγός αγοραστή J2ME IDE

Αξιολόγησα τα IDE J2ME αυτού του άρθρου σύμφωνα με τις ακόλουθες πτυχές:

  • Γενικά χαρακτηριστικά παραγωγικότητας: Αξιολόγησα αυτά τα χαρακτηριστικά ευεργετικά για όλα τα έργα ανάπτυξης Java, όχι αυτά που αφορούν το J2ME. Αυτές οι λειτουργίες περιλαμβάνουν εργαλεία επεξεργασίας, διαχειριστή έργου, εντοπισμού σφαλμάτων, προγραμματιστή αρχιτεκτονικής και τεκμηρίωσης, καθώς και εργαλεία για προηγμένες τεχνικές προγραμματισμού (αναδιαμόρφωση, δοκιμή μονάδων κ.ο.κ.).
  • Ενσωμάτωση SDK τρίτου μέρους: Η υποστήριξη για πολλαπλά SDK είναι βασική δυνατότητα για οποιοδήποτε J2ME IDE. Ωστόσο, οι προμηθευτές 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 θα πρέπει επίσης να ενσωματώνει πελάτες JAM συμβατούς με OTA για να ελέγξει την ανάπτυξη εντός του IDE.
  • Ανάπτυξη εφαρμογών για κινητές συσκευές από άκρο σε άκρο: Οι συσκευές J2ME δεν είναι αρκετά ισχυρές για την επεξεργασία ή την αποθήκευση μεγάλου όγκου πληροφοριών από μόνες τους. Οι εφαρμογές J2ME είναι συχνά παχύ πελάτες για ορισμένους διακομιστές εταιρικών εφαρμογών backend. Έτσι, ένα πρώτης τάξεως IDE πρέπει να επιτρέπει στους προγραμματιστές να δημιουργούν ολόκληρα έργα από άκρο σε άκρο. Αυτό ελαχιστοποιεί το κόστος μάθησης και τις προσπάθειες συντονισμού έργων.
  • Τεκμηρίωση και σεμινάρια: Η ανάπτυξη εφαρμογών για κινητά Java είναι μια εξελιγμένη διαδικασία που περιλαμβάνει πολλές πτυχές της μηχανικής λογισμικού. Τα IDE παρέχουν εργαλεία για την αυτοματοποίηση πολλών εργασιών. Ωστόσο, λόγω της εγγενούς πολυπλοκότητας της διαδικασίας ανάπτυξης, οι αρχάριοι προγραμματιστές δυσκολεύονται συχνά να χρησιμοποιήσουν σωστά αυτές τις δυνατότητες. Τα σεμινάρια και οι λεπτομερείς μελέτες περιπτώσεων αποδεικνύονται απαραίτητα για την αποτελεσματική υιοθέτηση ενός IDE.
  • Κατασκευαστές J2ME GUI (γραφική διεπαφή χρήστη): Ορισμένα IDE διαθέτουν εργαλεία RAD (ταχεία ανάπτυξη εφαρμογών) που επιτρέπουν στους προγραμματιστές να κατασκευάζουν οπτικά διεπαφές χρήστη για κινητά. Αυτά τα εργαλεία απευθύνονται σε προγραμματιστές από τον κόσμο της επιφάνειας εργασίας - όσοι είναι εξοικειωμένοι με τα εργαλεία RAD J2SE (Java 2 Platform, Standard Edition). Ωστόσο, χρησιμοποιήστε προσεκτικά τους κατασκευαστές γραφικών GUI J2ME: επειδή οι ασύρματες συσκευές διαφέρουν σε μέγεθος οθόνης, η ίδια σχεδίαση διεπαφής χρήστη ενδέχεται να εμφανίζεται διαφορετικά σε διάφορες συσκευές. Για παράδειγμα, ένα Palm PDA μπορεί να εμφανίσει τέσσερα κουμπιά εντολών στη σειρά. Αλλά ένα κινητό τηλέφωνο μπορεί να σας ζητήσει να επιλέξετε από μια λίστα τεσσάρων εντολών όταν κάνετε κλικ σε ένα κουμπί Μενού. Επομένως, αυτό που βλέπετε στο πρόγραμμα δημιουργίας GUI ενδέχεται να μην είναι αυτό που παίρνετε τελικά σε μια συγκεκριμένη συσκευή.

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. Αν και δωρεάν, η Προσωπική έκδοση προσφέρει μικρή αξία. Δεν διαθέτει κάποια βασικά χαρακτηριστικά παραγωγικότητας. Για παράδειγμα, δεν μπορείτε καν να διαχειριστείτε τον πηγαίο κώδικα μέσω ιεραρχιών πακέτων, γεγονός που καθιστά δύσκολη την ανάπτυξη μεγάλων έργων με πολλές τάξεις.

Αντίθετα, το JBuilder 7 Enterprise προσφέρει ένα πλούσιο σύνολο εργαλείων που υποστηρίζουν εφαρμογές Java (ειδικά εφαρμογές J2EE (Java 2 Platform, Enterprise Edition)) σχεδιασμό, ανάπτυξη, δοκιμή και ανάπτυξη. Συνοδεύεται από τον δικό του διακομιστή εφαρμογών J2EE του Borland, τη βάση δεδομένων SQL Borland InterBase και μια δοκιμαστική έκδοση του 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 υποστηρίζει αυτόματη δημιουργία αρχείων Web και επιχειρήσεων (WAR / EAR) και ανάπτυξη σε όλους τους κορυφαίους διακομιστές εφαρμογών. Χρησιμοποιώντας το JBuilder, μπορείτε επίσης εύκολα να ενσωματώσετε ισχυρά εργαλεία τρίτων, όπως CVS (Σύστημα ταυτόχρονης έκδοσης) για διαχείριση πηγαίου κώδικα και Ant για προσαρμοσμένες κατασκευές, στο έργο σας.
  • Ενσωμάτωση SDK τρίτου μέρους: Η μόνη πλατφόρμα J2ME που υποστηρίζει το JBuilder είναι το MIDP. Το JBuilder MobileSet υποστηρίζει SDK J2MEWTK, Nokia, Siemens και Sprint PCS. Αλλά η λήψη του MobileSet περιέχει μόνο J2MEWTK για να ξεκινήσετε. πρέπει να κάνετε λήψη άλλων SDK ξεχωριστά. Δεδομένου ότι το JBuilder υποστηρίζει UEI, περιμένω ότι θα υποστηρίξει τα περισσότερα μελλοντικά SDK. Το εργαλείο σάς επιτρέπει να κάνετε εναλλαγή μεταξύ πολλαπλών JVM και περιβάλλοντος χρόνου εκτέλεσης σε ένα έργο, το οποίο απλοποιεί την ανάπτυξη πολλαπλών πλατφορμών.
  • Εργαλεία μετά την κατάρτιση: Το JBuilder MobileSet διαθέτει ενσωματωμένη υποστήριξη για συσκότιση αρχείων κατηγορίας μέσω του RetroGuard 1.1. Το πακέτο Optimizeit Suite βελτιστοποιεί περαιτέρω το μέγεθος και την απόδοση της εφαρμογής.
  • Υποστήριξη ανάπτυξης OTA: Με το JBuilder Enterprise, θα μπορούσα εύκολα να δημιουργήσω αρχεία μανιτάρι βάζου και αρχεία jad για το έργο MIDP. Τα έργα μπορούν να αναπτυχθούν σε έναν σωστά διαμορφωμένο απομακρυσμένο διακομιστή μέσω του ενσωματωμένου προγράμματος-πελάτη FTP του JBuilder. Ωστόσο, το JBuilder δεν διαμορφώνει το διακομιστή για εσάς. Μπορείτε να δοκιμάσετε εφαρμογές που έχουν αναπτυχθεί χρησιμοποιώντας OAM συμβατά με πελάτη OAM ενσωματωμένα στο JBuilder.
  • Ανάπτυξη εφαρμογών για κινητές συσκευές από άκρο σε άκρο: Το JBuilder 7 Enterprise έχει εξαιρετικές δυνατότητες για την ανάπτυξη διακομιστών εφαρμογών J2EE backend. Μπορείτε να αναπτύξετε εφαρμογές end-to-end εξ ολοκλήρου στο JBuilder.
  • Τεκμηρίωση και σεμινάρια: Τα τρία βιβλία που συνοδεύουν το JBuilder 7 Enterprise είναι όλα ελεύθερα διαθέσιμα σε εκδόσεις HTML και PDF από τον ιστότοπο Borland. Το Borland διαθέτει επίσης βιβλία εκμάθησης MobileSet με δυνατότητα λήψης και πολλά άλλα εκλεκτά έγγραφα. Η υποστήριξη τεκμηρίωσης του JBuilder είναι εξαιρετική.
  • Κατασκευαστές J2ME GUI: Το MobileSet έρχεται με ένα MIDP GUI builder. Η παραγωγή κώδικα GUI με το JBuilder αποδεικνύεται αρκετά εύκολη.

Sun ONE Studio 4 Mobile Edition

Παλαιότερα γνωστό ως Forte για Java, το Sun ONE Studio χρησιμοποιεί την τεχνολογία NetBeans για να ενσωματώσει εξωτερικές μονάδες στο IDE. Το Sun ONE Studio διαθέτει τρεις εκδόσεις: Κοινότητα, Κινητό και Enterprise για Java. Οι εκδόσεις Κοινότητα και κινητές συσκευές είναι δωρεάν. Το Enterprise for Java κοστίζει 995 και διαθέτει εξελιγμένες δυνατότητες ανάπτυξης και ανάπτυξης J2EE. Μπορείτε να αποκτήσετε μια δωρεάν δοκιμαστική άδεια 60 ημερών για το Enterprise for Java από τον ιστότοπο της Sun.

Το Sun ONE Studio διανέμεται online και σε CD. Το CD περιέχει όλες τις εκδόσεις του Sun ONE Studio 4 σε όλες τις υποστηριζόμενες πλατφόρμες, καθώς και J2SE και J2EE. Η εγκατάσταση είναι εύκολη.

Αν και το Mobile Edition έρχεται προρυθμισμένο με υποστήριξη J2ME, έχει μόνο περιορισμένες δυνατότητες IDE. Μπορείτε εύκολα να προσθέσετε δυνατότητες ανάπτυξης J2ME στην έκδοση Εκδόσεων Κοινότητας και Enterprise για Java εγκαθιστώντας μια ασύρματη μονάδα J2ME. Αυτή η ενότητα συμμορφώνεται με τις προδιαγραφές NetBeans και μπορεί να εγκατασταθεί με οποιαδήποτε έκδοση Sun ONE Studio. Η ασύρματη μονάδα J2ME παρέχει J2ME ειδικά πρότυπα, οδηγούς, στοιχεία μενού και ενοποίηση μεταγλωττιστή και εξομοιωτή και συνοδεύεται από το J2MEWTK.

Ένα από τα πλεονεκτήματα του Sun ONE Studio είναι ο αρθρωτός σχεδιασμός του. Τα τρίτα μέρη μπορούν εύκολα να παρέχουν στοιχεία και να ενσωματωθούν στο IDE. Παραδείγματα τέτοιων ενοτήτων περιλαμβάνουν μοντελοποίηση UML, refactoring και δοκιμή μονάδας.

Οι δωρεάν εκδόσεις του Sun ONE Studio με εντυπωσίασαν. Το Sun ONE Mobile Edition ή η Έκδοση κοινότητας καθώς και η ασύρματη μονάδα είναι τα μόνα δωρεάν J2ME IDE που προτείνω. Παρέχουν όλα τα σημαντικά χαρακτηριστικά IDE για μεγάλα και πολύπλοκα έργα. Η Έκδοση κοινότητας παρέχει ακόμη και βασικές δυνατότητες ανάπτυξης εφαρμογών από διακομιστή. Μπορείτε να αναπτύξετε εφαρμογές servlet και βάσεων δεδομένων με αυτήν την έκδοση. Το Sun ONE Studio είναι το μοναδικό IDE σε αυτό το άρθρο που διαθέτει υποστήριξη J2ME για πλατφόρμες εκτός Windows. Τα παρακάτω σχόλια βασίζονται στην εμπειρία μου με το Sun ONE Studio 4 Enterprise για Java και την ασύρματη μονάδα. Ωστόσο, οι περισσότεροι ισχύουν και για τη δωρεάν έκδοση της κοινότητας.