Domanda

Vorrei sviluppare un'applicazione mobile in grado di accedere a tutte le funzionalità del dispositivo mobile su cui gira (fotocamera, file, telefono e connettività di rete). Intendo costruire una serie di applicazioni che ognuna ha una funzione specifica da eseguire, piuttosto che una singola applicazione con un ampio set di funzionalità. Il mio background di programmazione è C, C # e applicazioni web.

Quale sarebbe il miglior set di strumenti da utilizzare per fare questo? Ho cercato di utilizzare NetBeansIDE per creare applicazioni Java ME usando LWUIT: questo sembra promettente, ma quali sono le avvertenze?

Voglio scegliere come target il più grande universo di dispositivi mobili possibile.

È stato utile?

Soluzione

J2ME è la strada da percorrere per raggiungere le masse, nel consumatore o nel mercato aziendale. Dal punto di vista del consumatore, la maggior parte dei telefoni cellulari del mondo supporta J2ME. Dal punto di vista aziendale, la maggior parte degli smartphone del mondo supporta J2ME.

Nokia detiene una quota del 40% del mercato degli smartphone (e dell'intero mercato) in tutto il mondo. Il prossimo in linea è Blackberry con una quota del 13%. Entrambi hanno implementazioni standard di J2ME sui loro dispositivi (anche se Blackberry ha anche una versione proprietaria di Java). Inoltre, la maggior parte dei dispositivi che eseguono Windows Mobile sono dotati anche di una JVM (di recente ho sviluppato un gioco che inizialmente aveva come target il Sony Ericsson W810i e funzionava perfettamente sulla mia JVM di HTC Tilt). Aggiungi il fatto che Android ha un SDK Java e l'unico segmento che ti stai davvero perdendo sono i telefoni BREW solo e l'iPhone.

Non sono un grande sostenitore di J2ME. So solo che ogni altra piattaforma mobile è scomparsa dalla mia vita negli ultimi 3 anni in quanto ha senso solo dal punto di vista finanziario per le aziende indirizzare solo il segmento J2ME del settore.

Altri suggerimenti

Stai affrontando il solito problema principale dello sviluppo mobile: prendere di mira il maggior numero possibile di portatili con un solo linguaggio di programmazione significa utilizzare J2ME, che non ti dà completamente accesso a tutte le funzionalità del portatile.

La maggior parte dei portatili aperti supporterà J2ME, ma diversi produttori di telefoni lo implementano in modi diversi e la frammentazione è enorme per il board. Sfortunatamente, la maggior parte dei telefoni aperti (quelli in cui è possibile installare applicazioni di terze parti) ti consente di sviluppare solo in J2ME

L'unica buona notizia è che il tuo intento di scrivere solo piccole applicazioni fornirà un grande sollievo dai problemi di frammentazione.

J2ME ha anche enormi limiti in termini di accesso al file system, completa mancanza di un'API di telefonia, interazione molto scarsa con la gestione delle applicazioni di sistema ...

Per ottenere tutte le funzionalità, è sempre necessario utilizzare la tecnologia nativa della piattaforma aperta che si sta prendendo di mira, sia essa Android, iPhone, le diverse varianti di telefoni Symbian OS, Brew, Windows Mobile o Palm OS. Ognuno di questi ha la sua tecnologia nativa.

Scrivere la tua applicazione molte volte in molte lingue diverse al prezzo costoso di desiderare sia un gran numero di portatili targetizzati sia l'accesso a tutte le funzionalità di ciascuno di essi.

Sono anch'io un veterano di Symbian / J2ME e, dato il tuo background e i tuoi obiettivi dichiarati, sospetto che tu stia cercando di conoscere le tecnologie mobili. Pertanto inserirò spudoratamente il mio libro, inteso come introduzione all'ecosistema di sviluppo Symbian:

http://www.amazon.com/Quick-Recipes-Symbian-Smartphone -Sviluppo / dp / 0470997834 /

Buona fortuna

Se il tuo obiettivo principale è raggiungere il mercato di consumo , Java 2 Micro Edition (J2ME) è probabilmente la soluzione migliore. Tutti i telefoni cellulari più diffusi (da Nokia, Sony Ericsson, Samsung) sono dotati di una Java Virtual Machine installata. Se guardi Google, ad esempio, stanno sviluppando tutte le loro applicazioni mobili (come Gmail e Google Maps) in Java.

Se invece ti rivolgi a clienti commerciali , secondo me il Microsoft .NET Compact Framework è la strada da percorrere. Il sistema operativo Windows Mobile occupa una posizione di forza nel mercato aziendale, principalmente grazie a Outlook Mobile e alla sua integrazione con Exchange.

Non sono rispettosamente d'accordo con Fostah.

Se vuoi raggiungere le masse, il Web è la soluzione migliore. È molto più semplice scrivere una semplice applicazione Web che funzionerà su milioni di dispositivi.

E la cosa migliore è che puoi aggiornare facilmente la tua applicazione e migliorare l'esperienza dell'utente ogni giorno con il Web .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top