Разрабатывать приложения Blackberry, используя нативный API или J2ME? - PullRequest
17 голосов
/ 14 января 2009

Мы собираемся создать приложение Blackberry, но хотели бы получить некоторую информацию о том, следует ли реализовывать с использованием J2ME (на основе мидлетов) или Blackberry (UIApplication).

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

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

Извиняюсь за несколько субъективный и менее технический характер вопроса.

Ответы [ 8 ]

24 голосов
/ 14 января 2009

Я пробовал оба способа - создание чистого приложения MIDP для работы на платформах BlackBerry и не-BLackBerry и создание отдельного приложения BlackBerry (часто с использованием большей части того же бизнес-логического и сетевого кода, что и приложение MIDP). Определенно пойдите родной маршрут BlackBerry.

Это все о классах пользовательского интерфейса BB. Они дадут вам возможность (помимо прочего) реагировать на различные типы событий меню (трекбол и клавиши меню), реагировать на коды клавиш, специфичные для BB, если вы заинтересованы в Storm, воспользуйтесь датчиком ориентации и сенсорная поддержка. Кроме того, они представляют собой гораздо более богатый набор элементов пользовательского интерфейса для работы. Вы можете собрать многое (но не все) из того, что они делают в чистом MIDP, но в итоге вы настроите так много для каждой платформы, что в итоге вы ничего не сохраните. Начиная с пользовательского интерфейса BB и настраивая, вы экономите много времени и усилий.

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

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

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

10 голосов
/ 09 марта 2009

BlackBerry - очень сложная платформа для программирования. Я пошел по родному маршруту и ​​обнаружил, что он очень плохо документирован и в целом - просто несчастный дизайн для работы. Я чувствовал, что это необходимо, потому что вы потеряете способность для определенных функций (колесо прокрутки?), Если вы пойдете по маршруту J2ME. Это компромисс, и вам придется выбрать тот, который лучше подходит для ваших конкретных потребностей.

4 голосов
/ 03 мая 2009

Я работаю с J2ME с 2002 года, когда телефоны Nextel / Motorola были в авангарде функциональности J2ME. Я имею дело прежде всего с неигровыми приложениями. Сегодня, с развитием J2ME и увеличением числа телефонов, соответствующих JSR, мое приложение продолжает плавно портировать. В этом году я наконец-то нашел способ перенести его на устройство Blackberry. Два дня спустя мое приложение полностью работает на Blackberry. Приложение является чисто общим J2ME и использует многие из JSR (местоположение, Bluetooth, XML и т. Д.). Сильный дизайн интерфейса помогает. Я расширил некоторые классы пользовательского интерфейса для поддержки клавиатур QWERTY / SureType. Я использовал множество нативных приложений, которые можно найти на устройствах Blackberry (не в играх), и мне еще предстоит обосновать какую-либо причину перейти на RIM API, чтобы посмотреть, что мне принесет пользу. Аргументы, приведенные выше другими коллегами-программистами, также доказывают, что выиграть очень мало, если вы не преданы исключительно платформе устройств Blackberry.

2 голосов
/ 15 января 2009

Не зная объема своего приложения, то есть устройств, на которые вы нацеливаетесь, еще одна вещь, которую вы должны принять во внимание, - это постоянно растущие различия во входных данных для каждой модели BlackBerry. Некоторые устройства, такие как Curve и Bold, являются стандартными контактными площадками QWERTY, тогда как другие устройства, такие как PEARL, имеют контактные площадки SureType. И затем есть Шторм, который поддерживает оба в зависимости от ориентации экрана. Кроме того, панель SureType должна использоваться как стандартная цифровая панель, если пользователь установил ее таким образом. Нативные API-интерфейсы поддерживают все это, где вы не будете иметь такой роскоши со стандартным MIDP.

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

1 голос
/ 26 октября 2010

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

0 голосов
/ 02 сентября 2009

J2ME прост в разработке. И, BlackBerry API имеет много функций, также вы можете использовать ограниченный класс с простой подписью. BlackBerry продает свой подписной сертификат, и это дешево. 20 $. Вы можете использовать этот сертификат для подписи и использования всех ограниченных классов. В J2ME иногда необходимо использовать более одного сертификата, даже если вы не можете использовать все возможности телефона. Поэтому я предлагаю использовать нативный API BlackBerry и некоторые коды J2ME Wrapper. Таким образом, вы можете легко кодировать как J2ME и использовать все возможности встроенного API BlackBerry.

0 голосов
/ 30 апреля 2009

Из моего опыта: придерживайтесь родного приложения BlackBerry UiApplication. Это лучшее для BlackBerry и обеспечивает лучший пользовательский опыт для пользователей BlackBerry. Вы не можете легко скопировать это с J2ME.

0 голосов
/ 09 марта 2009

Я согласен с Энтони, я бы использовал специальные API для BlackBerry для приложений BlackBerry. J2ME просто не переносим, ​​и BlackBerry намного лучше поддерживает свои проприетарные API.

...