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