2010-02-02 20 views
7

Recentemente ho devono sviluppare sui telefoni cellulari che utilizzano Java e sto progettando di fare lo sviluppo sui seguenti marchi:Sviluppare su telefoni cellulari (Java), usando SDK o no?

Nokia

Samsung

SonyEricsson

Motorola

LG

Ho sfogliato il "sito sviluppatore" di ciascuna azienda e sembra che tutti abbiano fornito i propri SDK per lo sviluppo di J2ME.

Sono veramente nuovo a questo campo e ho un paio di domande:

  1. Dal momento che tutte le piattaforme Java di sostegno, perché abbiamo bisogno di ulteriori SDK di Java?

  2. Cosa posso beneficiare degli SDK?

  3. Che cosa determina se utilizzare o meno gli SDK?

risposta

7

Tutto dipende da quanto complessa sarà l'applicazione che si desidera sviluppare.

Lo sviluppo di un'applicazione di base per l'esecuzione su molti telefoni diversi è fattibile, ma la complessità aumenterà in modo esponenziale con ogni funzione avanzata aggiunta, soprattutto se si desidera indirizzare dispositivi esistenti, vecchi e futuri.

Ciò che è necessario considerare è che ciascun produttore può supportare diversi sistemi operativi e piattaforme.

Nokia ha Series40 (3a e 5a edizione), Serie60 (2a, 3a e 5a edizione), Serie80.

Samsung ha almeno 2 versioni principali di una propria piattaforma e le ultime 2 edizioni della Series60

SonyEricsson ha 3 principali versioni di loro piattaforma JP8 (e JP7 troppo), Series60 5a edizione, 2.x UIQ e UIQ 3.x

Series80, Series60, UIQ 2.xe UIQ 3.x sono basati sul sistema operativo Symbian. Diverse versioni del sistema operativo Symbian hanno utilizzato diverse JVM e diverse aziende hanno contribuito alle implementazioni JSR.

Motorola ha almeno 2 versioni principali della propria piattaforma e di un paio dispositivi UIQ

1 - Dal momento che tutte le piattaforme Java di sostegno, perché abbiamo bisogno di ulteriori SDK di Java?

Il problema principale di J2ME è la frammentazione. Per una serie di motivi (sia buoni che cattivi, sia tecnici che commerciali), la promessa Java di "Scrivere una volta, correre ovunque" è in gran parte considerata del tutto insoddisfatta nel settore della telefonia mobile.

Molte funzionalità devono essere codificate in un modo specifico della piattaforma se si desidera che lo stesso codice funzioni su più piattaforme contemporaneamente.

Molte piattaforme J2ME anche aggiungere le API non standard, le proprietà, le configurazioni, i "bug" ...

più importante, SDK produttore dovrebbero consentire cose come il debugging on-device o distribuzione MIDlet tramite USB. Forniscono strumenti di base o estesi che aiutano i test sul dispositivo perché è un'area in cui generalmente manca un WTK generico.

2 - Cosa posso beneficiare degli SDK?

Molto probabilmente sì. Ok, la maggior parte di questi funzionerà solo su un computer desktop Windows, ma gli SDK stessi dovrebbero essere liberi.

3 - Che cosa determina se utilizzare o meno gli SDK?

Inizia con il WTK. Quando ti accorgi che stai provando a fare qualcosa che è specifico per il produttore del telefono, prendi l'SDK corrispondente.

Un esempio: l'applicazione di esempio WTK PDAPDemo contiene un browser di file system rudimentale. Visualizza risultati molto diversi su piattaforme diverse.

Come suggerito da Pavel Alexeev, DeviceAnywhere è un ottimo strumento, presupponendo di disporre di un budget di test adeguato. Nokia offre anche qualcosa di simile ma che è ovviamente limitato ai telefoni Nokia.

+0

Grazie mille –

0

vorrei fare la maggior parte del mio sviluppo con il regolare vecchi Sun..err ... Oracle Java WTK, e quindi se avete bisogno di fare qualche prova, ottenere gli emulatori/SDK di da tali società. A parte questo, per lo più li eviterei.

1

Il vantaggio degli SDK specifici del fornitore è solo se si desidera utilizzare API specifiche del fornitore. Nella maggior parte dei casi, sarebbe sufficiente Sun WTK.

Per quanto riguarda i test, non suggerirei di fare affidamento su emulatori. Faresti meglio a provare i test sul dispositivo. Nokia e Samsung forniscono l'accesso ai dispositivi di rimozione per i dispositivi recenti. E puoi anche provare a deviceanywhere.

0

Costruito nel funzionalità della telecamera di solito differisce tra le diverse marche di telefoni e le API del previsto può essere molto utile quando si cerca di fare qualcosa di più avanzato di prendere una semplice istantanea. telefoni SonyEricsson ad esempio vi permetterà di visualizzare un feed telecamera attraverso una videocamera direttamente ad una tela che è molto veloce, ma non non consente di controllare la frequenza con cui l'alimentazione viene disegnato sullo schermo. Al fine di disegnare elementi grafici in cima feed video senza sfarfallio eccessivo è necessario aggiungere il flag OVERLAY (1 < < 8) a initDisplayMode() chiamata del videocamera, non tutte le marche supportano la bandiera supplementare.

-1

La mia opinione è "QuickRecipesOnSymbianOS" è corretta. È una risposta molto semplice, semplice e tecnica.

0

Per i tipi .NET - c'è un Ubiq Mobile quadro. Le app Ubiq Mobile funzionano su Android, iOS, Windows Phone e telefoni e tablet basati su Java. Si tratta di un rapido sviluppo multipiattaforma con .NET con architettura basata su cloud.Per iniziare articolo: How to create simple UbiqMobile application con video.

Problemi correlati