Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Платформы под java


Автор: NewDima 28.11.2011, 05:14
Здравствуйте, собираюсь начать писать для мобильных приложений на Java, и возник вопрос:
На сколько этот язык кроссплатформенный? С первого взгляда ответ на вопрос простой, исполняться будет там, где есть виртуальная машина. Но тогда сразу встречный вопрос: почему под разные платформы пишут свои мобильные приложения? Под андроид, под nokia и т.д. Почему не одно приложение, которое может выполняться на разных платформах?

Автор: oxigen 28.11.2011, 13:59
Если совсем коротко, то язык Java развивается.
Обычные java телефоны поддерживают J2ME спецификацию. Это урезаный вариант довольно старой версии JAVA.
Более новые мобильные операционки поддерживают более новые версии. в которых есть больше возможностей.

Автор: NewDima 29.11.2011, 01:42
oxigen, спасибо, этого ответа мне вполне хватит

Автор: ivanovpv 29.11.2011, 16:58
Цитата(NewDima @  28.11.2011,  06:14 Найти цитируемый пост)
Здравствуйте, собираюсь начать писать для мобильных приложений на Java, и возник вопрос:
На сколько этот язык кроссплатформенный? С первого взгляда ответ на вопрос простой, исполняться будет там, где есть виртуальная машина. Но тогда сразу встречный вопрос: почему под разные платформы пишут свои мобильные приложения? Под андроид, под nokia и т.д. Почему не одно приложение, которое может выполняться на разных платформах? 

Бросай это дело. J2ME умирающая технология. Ее кроссплатформенность миф, если соберешься чего-то писать стоящего то надо сразу смириться с тем, что придется плодить тучу форков исходников для разных телефонов, ну или использовать всякие хаки навроде препроцессоров и проч.  Дело в том, что для работы J2ME нужно 2 основные API - CLDC и MIDP их сейчас по 8 комбинаций (CLDC 1.0/1.1, MIDP 1.0/2.0/2.1/3.0) + есть туча т.н. JSR - дополнительные API поддержки всяких фич типа доступ к файловой системе, к блютус и проч. + есть вендорные API под S40/60/80 + есть малодокументированные штуки которые работают на одним телефонах, а на других фиг + есть проблема с подписыванием/сертификатами и проч. В общем все это и убило J2ME.

Переходите сразу на Android или iPhone, ну на худой конец под Symbian. 

По второму вопросу: Android работает со своей виртуальной машинкой Dalvik VM поверх клона Linux (пока есть порядка 10-ти версий, правда все backward compatible), а iPhone работает под своей осью. У продвинутых Nokia есть своя ось Symbian, которая тоже вот-вот помрет, версий Symbian тоже воз и маленькая тележка... Есть еще Windows Mobile + его последняя версия WP7... Оттуда и весь зверинец платформ под мобильные.

Пока расклад сил примерно такой: 40% - Android, 40% - iPhone, 20% - все остальные смартфон платформы.

Автор: oxigen 1.12.2011, 17:19
Ну все не так уж ужасно.
CLDC 1.1 + MIDP 2.0 подходит практически для всех современных JAVA телефонов. 
Кроме того вся логика спокойно может быть перенесена на  Android или BlackBerry. Только UI потребуется переписать.
А на Symbian и вовсе без изменений можно.

Автор: 404NotFound 1.12.2011, 20:36
Цитата(oxigen @ 1.12.2011,  17:19)
Ну все не так уж ужасно.
CLDC 1.1 + MIDP 2.0 подходит практически для всех современных JAVA телефонов. 
Кроме того вся логика спокойно может быть перенесена на  Android или BlackBerry. Только UI потребуется переписать.
А на Symbian и вовсе без изменений можно.

Нет уж, сказали под андроид или ай-ос, так пусть под них и программирует.    smile Не зачем тут конкурентов создавать  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)