2010-02-02 5 views
7

Vor kurzem habe ich auf dem Handy entwickeln Java verwendet, und ich plane die Entwicklung auf den folgenden Marken zu tun:Entwickeln Sie auf Mobiltelefonen (Java), mit SDK oder nicht?

Nokia

Samsung

Sony Ericsson

Motorola

LG

Ich habe die "Entwickler-Website" von jedem Unternehmen und sieht so aus, als hätten alle ihre eigenen SDKs für die J2ME-Entwicklung bereitgestellt.

Ich bin auf diesem Gebiet wirklich neu und ich habe ein paar Fragen:

  1. Da sie alle Java-Plattform-Unterstützung, warum brauchen wir zusätzliche Java-SDKs?

  2. Was kann ich von den SDKs profitieren?

  3. Was bestimmt, ob ich die SDKs verwenden soll oder nicht?

Antwort

7

Es hängt alles davon ab, wie komplex die Anwendung sein soll, die Sie entwickeln möchten.

Das Entwickeln einer Basisanwendung, die auf vielen verschiedenen Handsets ausgeführt werden kann, ist machbar, aber die Komplexität wird mit jeder hinzugefügten erweiterten Funktion exponentiell ansteigen, besonders wenn Sie vorhandene, alte und zukünftige Geräte anvisieren möchten.

Sie müssen auch berücksichtigen, dass jeder Hersteller mehrere Betriebssysteme und Plattformen unterstützen kann.

Nokia hat Series40 (3. und 5. Ausgabe), Series60 (2., 3. und 5. Ausgabe), Series80.

Samsung hat mindestens zwei Hauptversionen ihrer eigenen Plattform und die letzten zwei Ausgaben von Series60

Sony Ericsson hat drei Hauptversionen ihrer JP8 Plattform (und JP7 auch), Series60 5. Auflage, UIQ 2.x und UIQ 3.x

Series80, Series60, UIQ 2.x und UIQ 3.x basieren auf dem Symbian-Betriebssystem. Verschiedene Versionen von Symbian OS haben verschiedene JVMs verwendet und mehrere Firmen haben JSR-Implementierungen beigetragen.

Motorola hat mindestens zwei Hauptversionen ihrer eigenen Plattform und ein paar UIQ-Geräte

1 - Da sie alle Unterstützung Java-Plattform, warum brauchen wir zusätzliche Java-SDKs?

Das Hauptproblem von J2ME ist Fragmentierung. Aus einer Vielzahl von Gründen (sowohl gute als auch schlechte, sowohl technische als auch kommerzielle) wird das Java-Versprechen von "Write Once, Run Anywhere" in der mobilen Branche weitgehend als unerfüllt erachtet.

Viele Funktionen müssen plattformspezifisch codiert werden, wenn Sie möchten, dass derselbe Code auf vielen Plattformen gleichzeitig funktioniert.

Viele J2ME-Plattformen hinzufügen, auch Nicht-Standard-APIs, Eigenschaften, Konfigurationen, "Bugs" ...

Am wichtigsten ist, Hersteller SDKs sollen Dinge wie das Debuggen auf dem Gerät ermöglichen oder MIDlet Bereitstellung über USB. Sie bieten grundlegende oder erweiterte Tools, die beim Testen von Geräten helfen, da dies ein Bereich ist, in dem ein generischer WTK normalerweise fehlen sollte.

2 - Was kann ich von den SDKs profitieren?

Sehr wahrscheinlich, ja. Ok, also die meisten von ihnen werden nur auf einem Windows-Desktop-Computer ausgeführt, aber die SDKs selbst sollten frei sein.

3 - Was bestimmt, ob ich die SDKs verwenden soll oder nicht?

Beginnen Sie mit dem WTK. Wenn Sie feststellen, dass Sie versuchen, etwas zu tun, das speziell für den Hersteller von Mobiltelefonen ist, erhalten Sie das entsprechende SDK.

Ein Beispiel: Die WTK PDAPDemo-Beispielanwendung enthält einen rudimentären Dateisystem-Browser. Es zeigt sehr unterschiedliche Ergebnisse auf verschiedenen Plattformen.

Wie von Pavel Alexeev vorgeschlagen, ist DeviceAnywhere ein großartiges Werkzeug, vorausgesetzt, Sie haben ein angemessenes Testbudget. Nokia bietet auch etwas ähnliches, aber das ist offensichtlich auf Nokia-Handys beschränkt.

+0

Vielen Dank –

0

Ich würde mit dem regulären alten Sun..err ... Oracle Java WTK die meisten meiner Entwicklung tun, und dann, wenn Sie einige Tests durchführen müssen, um die Emulatoren/SDK von diesen Unternehmen erhalten. Ansonsten würde ich sie aber meistens meiden.

1

Profitieren Sie von herstellerspezifischen SDKs nur, wenn Sie herstellerspezifische APIs verwenden möchten. In den meisten Fällen würde Sun WTK ausreichen.

Zu Testzwecken würde ich nicht empfehlen, auf Emulatoren zu setzen. Probieren Sie lieber das Testen auf dem Gerät aus. Nokia und Samsung bieten Gerätezugriff für kürzlich verwendete Geräte. Und Sie können auch versuchen, deviceanywhere.

0

Integrierte Kamerafunktionen unterscheiden sich in der Regel zwischen den verschiedenen Telefonmarken und die bereitgestellten APIs können sehr hilfreich sein, wenn Sie etwas Fortschrittlicheres tun, als einen einfachen Schnappschuss zu machen. Mit SonyEricsson-Telefonen können Sie z. B. einen Kamera-Feed über eine Videokamera direkt auf einer Zeichenfläche anzeigen, die zwar sehr schnell ist, aber nicht steuert, wie häufig der Feed auf den Bildschirm gezogen wird. Um Grafiken über den Video-Feed ohne übermäßiges Flackern zu zeichnen, müssen Sie das OVERLAY-Flag (1 8) zu dem Aufruf der in1DisplayMode() VideoCamera hinzufügen, nicht alle Marken unterstützen das zusätzliche Flag.

-1

Meine Meinung ist "QuickRecipesOnSymbianOS" ist richtig. Es ist sehr einfach, einfach und technische Antwort.

0

Für .NET Jungs - es gibt ein Ubiq Mobile Framework. Ubiq Mobile Apps funktionieren auf Android, iOS, Windows Phone und Java-basierten Telefonen und Tablets. Dies ist eine schnelle plattformübergreifende Entwicklung mit .NET mit cloud-basierter Architektur.Erste Schritte Artikel: How to create simple UbiqMobile application mit video.