Приложение J2ME против браузера на мобильном телефоне

StackOverflow https://stackoverflow.com/questions/609254

  •  03-07-2019
  •  | 
  •  

Вопрос

Недавно я начал разрабатывать прототип приложения J2ME.Я заметил, как трудно разработать привлекательный пользовательский интерфейс.Рассмотрите возможность разработки приложения в J2ME для бронирования авиабилетов, взаимодействующего с веб-сервисом.

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

Хорошая ли идея разработать такое приложение в j2me, которому нужно связаться с webservice, чтобы оно заработало?Или j2me подходит только для автономных приложений?

Это было полезно?

Решение

Преимущества J2ME:

  • Может получить доступ к ресурсам телефона, таким как файловая система, телефонная книга и GPS.Последнее очень важно в картографических приложениях.
  • Вы можете создавать более богатые пользовательские интерфейсы.Это может быть сложно, как вы говорите, но существует множество библиотек графического интерфейса, которые могли бы вам помочь.Напротив, пользовательский интерфейс для мобильного браузера (вы не можете полагаться на работу CSS и javascript) был бы очень плохим.
  • Большая гибкость в логике коммуникации.Вы можете шифровать / расшифровывать данные, сжимать их, использовать веб-сервисы SOAP.С помощью браузера вам лучше всего было бы разработать сервисы REST.

Недостатки J2ME:

  • Мидлеты должны быть подписаны.Это сопряжено с определенными затратами, и бывают ситуации, когда даже подписанное приложение не будет работать должным образом на определенных телефонах.
  • Разработка мидлета для запуска на всех типах телефонов - настоящий кошмар.Напротив, хорошо разработанное мобильное веб-приложение будет корректно отображаться на всех последних моделях телефонов.
  • У вас должен быть канал для распространения вашего приложения.Людям нужно было бы загрузить его и получить плату за требуемую пропускную способность.Вам нужно было бы позаботиться о разгневанных клиентах, у которых возникли проблемы с приложением.С веб-сайтом все проще.
  • Приложения J2ME неизбежно сравниваются с нативными приложениями (iPhone, Windows Mobile, Symbian).По сравнению с ними они очень бедны, и многие сочли бы, что платить за них или даже использовать их неоправданно.

Мой вывод:В настоящее время настоящие смартфоны становятся все более популярными и завоевывают постоянно растущую долю рынка.В этих обстоятельствах преимущества J2ME на самом деле не могут преодолеть его ограничения.Единственное исключение, о котором я мог бы подумать, - это необходимость разработки приложения GPS.Во всех остальных случаях лучше использовать мобильный веб-сайт.

Другие советы

Есть такие очень много из-за недопонимания и явно неправильных утверждений в предыдущих ответах.

Я советую вам просто провести свое исследование самостоятельно.В настоящее время вы МОЖЕТ разрабатывайте действительно привлекательные приложения с помощью J2ME, не создавая свой собственный графический фреймворк.Взгляните на LWUIT по-настоящему.Например, у них есть виртуальная клавиатура в качестве одной из функций сенсорного экрана, и это есть на таких устройствах, как N97, которые сами по себе не имеют виртуальной клавиатуры.Кстати, при использовании LWUIT у вас есть порт Blackberry и Android, если кого-то это волнует.

Кроме того, приложения в настоящее время занимают центральное место на многих платформах, не только на iPhone.Посмотрите на недавние разработки в этой области, такие как OVI, RIM, Samsung, SE, Orange World - все они начинаются с магазинов приложений.

"Заставить людей пользоваться веб-сайтом на их мобильном телефоне проще, чем заставить их загрузить приложение". это всего лишь заявление без доказательств.ты не можешь говорить это вот так.Это зависит от множества других факторов.- Почему пользователи должны снова вводить URL-адрес вашего мобильного устройства на довольно маленьком экране?

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

Небольшое замечание: такие приложения, как Google Maps или gmail mobile, вероятно, не используют веб-сервисы для взаимодействия со своей серверной частью.Веб-сервис сопряжен с большими накладными расходами, особенно если учесть, что мобильные пользователи обычно оцениваются по объему передаваемых ими данных.Лучший способ обеспечить связь между вашим клиентским приложением и его серверной частью - это использовать двоичные данные через сокет-соединение.

Лично я считаю, что действительно сложно создать согласованное и надежное приложение J2ME, которое будет работать на большом количестве мобильных телефонов.Исходя из моего опыта, я бы разработал приложение J2ME (вместо веб-приложения) только в том случае, если это строгое требование - например, иметь возможность просматривать ваши бронирования без подключения к сети.Существуют и другие затраты, связанные с приложениями J2ME - приложения должны быть загружены, пользователя спросят, разрешено ли приложению подключаться к сети, когда оно попытается это сделать (для этого случая есть исключения, но я считаю, что приложение должно быть подписано сторонней компанией - это потребует дополнительных затрат), вам придется поддерживать разные версии приложения, работающие на различных мобильных телефонах (что усложнит приложение), и так далее...

Подумайте об этом так: если бы вы разрабатывали нечто подобное для компьютера, создали бы вы настольное приложение или веб-приложение?С современными мобильными телефонами (многие из которых могут получать доступ к сайтам с полным html с помощью javascript, что означает ajax) постановка вопроса верна.

Я думаю, что хорошим эмпирическим правилом должно быть: Если то, чего вы пытаетесь достичь, можно сделать с помощью мобильного веб-сайта - выбирайте веб-сайт.

ИМХО, приложения следует использовать только в том случае, если они не могут воспользоваться преимуществами мобильного оборудования - например, местоположением, звуком, видео, 3d, картинками и т.д...

Даже если бы затраты на разработку приложения были незначительными (обычно это не так), вам пришлось бы предложить какие-то действительно потрясающие возможности, чтобы пользователям не пришлось беспокоиться о его загрузке.

(Все это, по сути, верно для J2ME / BREW.iPhone немного отличается, поскольку приложения занимают центральное место)

Одна вещь, на которую стоит обратить внимание:единственный стандартный способ развертывания мидлета - это загрузка OTA, поэтому вы не ожидаете, что на телефоне с поддержкой J2ME не будет веб-браузера.

Мобильные веб-браузеры, такие как Webkit и Opera, становятся лучше быстрее, чем J2ME (по крайней мере, до тех пор, пока не начнет поставляться MIDP3.0, если вообще когда-либо начнет).

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

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

Возможно, вы захотите взглянуть на LWUIT для улучшения и упрощения графического интерфейса J2ME.

Единственное, чего J2ME добьется для сервиса бронирования авиабилетов, - это экономия времени автономной работы за счет отсутствия необходимости постоянной передачи данных по сети благодаря механизмам локального хранения.

есть много отличных приложений j2me, которые (должны) взаимодействовать с веб-сервисами.просто подумайте о приложениях Google, таких как gmail mobile и maps для мобильных устройств.они быстрее и проще в использовании, чем использование сервисов через браузер мобильного телефона.так что, если вы можете создать хорошее приложение, оно определенно того стоит.

Редактировать:кроме того, приложение j2me предоставляет возможные функции, которые не могут быть предоставлены веб-приложением:интеграция с функциями телефона (адресная книга, календарь), "позвоните по этому номеру", location api и т.д.

Я думаю, что для бизнес-приложений или более ориентированных на текст / данные устройств мобильный веб-сайт / wap-сайт может быть проще в обслуживании, поскольку вам не придется иметь дело с отправкой клиентских обновлений на телефоны.

Для приложений с интенсивным использованием пользовательского интерфейса (карты, игры и т.д.), Вероятно, подойдут клиентские приложения, так что вы сможете выполнять большую часть обработки и рендеринга на стороне клиента.

Однако оба варианта сложны, поскольку существует очень много проблем с совместимостью с телефонами.Возможно, вам будет лучше всего сузить список типов телефонов, которые вы хотите поддерживать в своем приложении.Если вы считаете, что большинство ваших клиентов будут пользоваться телефонами iPhone или Android, вы можете настроить таргетинг на эти платформы (с помощью клиентских приложений или веб-приложений) и полностью отказаться от старой школы j2me.

Я ненавижу веб-приложения на телефонах.Они медленные и не работают в полусвязанной среде.

Приложения J2ME могут создавать локальные резервные копии, создавать резервные копии по Bluetooth, обмениваться данными по Bluetooth между двумя телефонами и улучшать адаптивный пользовательский интерфейс.Однако это требует денег, навыков, времени и т.д.

Однако мои основные проблемы с MIDP заключаются в обновлении программного обеспечения и микшировании wav в реальном времени.Технически это возможно в рамках MIDP, но головорезы за рулем не очень изобретательны.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top