Разрабатывать на мобильных телефонах (Java), используя SDK или нет? - PullRequest
7 голосов
/ 02 февраля 2010

В последнее время мне приходится разрабатывать на мобильных телефонах с использованием Java, и я планирую заняться разработкой для следующих брендов:

Nokia

Samsung

1007 * SonyEricsson *

Motorola

LG

Я просмотрел «сайт разработчика» каждой компании и, похоже, все они предоставили свои собственные SDK для разработки J2ME.

Я действительно новичок в этой области, и у меня есть несколько вопросов:

  1. Поскольку все они поддерживают платформу Java, зачем нам дополнительные Java SDK?

  2. Что я могу извлечь из SDK?

  3. Что определяет, использовать ли мне SDK или нет?

Ответы [ 6 ]

7 голосов
/ 03 февраля 2010

Все зависит от того, насколько сложным будет приложение, которое вы хотите разработать.

Разработка базового приложения, которое будет работать на таком количестве различных телефонов, выполнимо, но сложность будет увеличиваться экспоненциально с каждой добавленной вами расширенной функцией, особенно если вы хотите ориентироваться на существующие, старые и будущие устройства.

Также необходимо учитывать, что каждый производитель может поддерживать несколько операционных систем и платформ.

Nokia имеет Series40 (3-е и 5-е издания), Series60 (2-е, 3-е и 5-е издания), Series80.

Samsung имеет как минимум 2 основные версии своей собственной платформы и последние 2 версии Series60

SonyEricsson имеет 3 основные версии своей платформы JP8 (и JP7 тоже), Series60 5-е издание, UIQ 2.x и UIQ 3.x

Series80, Series60, UIQ 2.x и UIQ 3.x основаны на операционной системе Symbian. В разных версиях ОС Symbian использовались разные JVM, и несколько компаний предоставили реализации JSR.

Motorola имеет как минимум 2 основные версии собственной платформы и пару UIQ-устройств

1 - Поскольку все они поддерживают платформу Java, зачем нам дополнительные Java SDK?

Основной проблемой J2ME является фрагментация. По ряду причин (как хороших, так и плохих, как технических, так и коммерческих) обещание Java «Один раз написать, запустить везде» в значительной степени считается невыполненным в мобильной индустрии.

Многие функции необходимо кодировать для конкретной платформы, если вы хотите, чтобы один и тот же код работал на многих платформах одновременно.

Многие платформы J2ME также добавляют нестандартные API, свойства, конфигурации, «ошибки» ...

Наиболее важно, чтобы SDK производителя допускали такие вещи, как отладка на устройстве или развертывание мидлета через USB. Они предоставляют базовые или расширенные инструменты, которые помогают при тестировании на устройстве, потому что именно в этой области обычно не хватает общего WTK.

2 - Чем я могу воспользоваться SDK?

Очень вероятно, да. Итак, большинство из них будет работать только на настольном компьютере Windows, но сами SDK должны быть бесплатными.

3 - Что определяет, использовать ли мне SDK или нет?

Начните с WTK. Когда вы поймете, что пытаетесь сделать что-то особенное для производителя телефона, получите соответствующий SDK.

Один пример: пример приложения WTK PDAPDemo содержит элементарный браузер файловой системы. Он отображает разные результаты на разных платформах.

Как предположил Павел Алексеев, DeviceAnywhere - отличный инструмент, если у вас есть надлежащий бюджет на тестирование. Nokia также предлагает нечто подобное, но это, очевидно, ограничено телефонами Nokia.

1 голос
/ 02 февраля 2010

Выгоды от SDK для конкретных поставщиков возможны только в том случае, если вы хотите использовать API-интерфейсы для конкретных поставщиков. В большинстве случаев Sun WTK будет достаточно.

Что касается тестирования, я бы не советовал полагаться на эмуляторы. Вам лучше попробовать тестирование на устройстве. Nokia и Samsung обеспечивают удаление доступа к устройству для последних устройств. И вы также можете попробовать устройство в любом месте .

0 голосов
/ 14 декабря 2014

Для парней .NET - есть Ubiq Mobile framework . Мобильные приложения Ubiq работают на Android, iOS, Windows Phone , а также на телефонах и планшетах на базе Java . Это быстрая кроссплатформенная разработка с использованием .NET с облачной архитектурой. Начало работы: Как создать простое приложение UbiqMobile с видео .

0 голосов
/ 01 декабря 2010

Мое мнение, что "QuickRecipesOnSymbianOS" является правильным. Это очень простой, простой и технический ответ.

0 голосов
/ 05 февраля 2010

Встроенные функции камеры, как правило, отличаются для разных марок телефонов, и предоставляемые API могут быть очень полезны при попытке сделать что-то более сложное, чем сделать простой снимок. Например, телефоны SonyEricsson позволяют отображать канал с камеры через VideoCamera непосредственно на холсте, который очень быстрый, но не позволяет контролировать частоту отображения канала на экране. Чтобы рисовать графику поверх видеопотока без чрезмерного мерцания, необходимо добавить флаг OVERLAY (1 << 8) в вызов initDisplayMode () VideoCamera, не все бренды поддерживают дополнительный флаг. </p>

0 голосов
/ 02 февраля 2010

Я бы делал большую часть своей разработки на обычном старом Sun..err ... Oracle Java WTK, а затем, если вам нужно провести некоторое тестирование, получите эмуляторы / SDK от этих компаний. Кроме этого, я бы по большей части избегал их.

...