Если только, факт в том, что каждый телефон очень отличается - его чрезвычайно сложно создать приложение, которое охватывает все основные телефоны с поддержкой J2ME, которое выглядит наполовину прилично, следуя основным принципам. Вот почему мы в конечном итоге делаем такие вещи, как использование шрифтов на основе спрайтов (тьфу). Я не думаю, что я когда-либо работал над мобильным проектом с использованием J2ME, где нам удалось придерживаться только стандартного J2ME (и мы очень стараемся). Даже те вещи, которые должны быть стандартными, такие как чтение JSON-ленты с сервера, постоянное хранилище или даже действительно простые вещи, такие как вращение спрайтов, на самом деле не очень стандартны (да, я смотрю на вас RIM). Затем добавьте в Android требование для Android, и все готово.
Я использовал польский, и это действительно очень хорошо. Коммерческая лицензия не дешевая (но стоит того), но для школьного проекта - бесплатная. Вспышка (кашель) также является хорошей альтернативой. В эти дни лично я считаю, что мои проекты должны охватывать iPhone (Objective-C), Android (Java), Nokia (J2ME) и Blackberry (псевдо-J2ME), и становится очень сложно не использовать коммерческую платформу (или свернуть вашу собственный, если есть время и желание). Я открыт для идей относительно фреймворков, которые охватывают все эти платформы?