¿Desarrollas aplicaciones Blackberry usando API nativa o J2ME?
java-me (8)
Lo intenté en ambos sentidos: crear una aplicación MIDP pura para ejecutar en plataformas BlackBerry y no BLackBerry y crear una aplicación BlackBerry separada (a menudo usando la misma lógica de negocios y código de red que la aplicación MIDP). Definitivamente vaya a la ruta nativa de BlackBerry.
Se trata de las clases de UI de BB. Te darán la capacidad de (entre otras cosas) responder a los diferentes tipos de eventos del menú (trackball y tecla de menú), responder a los códigos clave específicos de BB, si estás interesado en que Storm aproveche el sensor de orientación y toque soporte. Además, son un conjunto mucho más rico de elementos de la interfaz de usuario con los que trabajar. Puedes construir mucho (pero no todos) lo que hacen en MIDP puro, pero terminan personalizando tanto para cada plataforma que no guardarás nada al final. Comenzar con la interfaz de usuario de BB y personalizarlo ahorra mucho tiempo y esfuerzo.
Incluso en aplicaciones de juegos, o para aplicaciones en las que está dibujando todos sus componentes de forma personalizada, tiene mejor acceso a las API de gráficos de BlackBerry y obtiene un mejor rendimiento en la ruta de la aplicación nativa de BlackBerry. Y todavía tiene mejores detalles sobre los eventos de entrada.
Finalmente, hay algunas cosas agradables del ciclo de vida que puede hacer con las aplicaciones nativas de BlackBerry, como pasar al segundo plano, o ejecutar automáticamente el inicio del sistema que no puede hacer con los MIDlets, que pueden ser de interés dependiendo de su aplicación.
También piense en el mercado: si planea respaldar BlackBerry de inmediato, y luego quizás otras plataformas MIDP en el futuro, generalmente es un mejor plan ejecutar lo mejor posible en su plataforma inicial. Probablemente no haya muchas razones para ingresar a MIDP más tarde si primero no tiene éxito en BlackBerry.
Estamos a punto de construir una aplicación Blackberry, pero nos gustaría obtener información sobre si implementar usando J2ME (MIDlet basado) o Blackberry native (UIApplication).
Entiendo algunas de las compensaciones. J2ME será más flexible si queremos portar la aplicación a otros dispositivos. RIM tiene mejor soporte para Blackberry nativo.
Sin embargo, el lugar donde aún me falta información está en el lado de UI. Queremos construir una aplicación que tenga una gran experiencia de usuario, y que se parezca a otras aplicaciones a las que los usuarios de BB están acostumbrados. ¿Podemos hacer esto si tomamos la ruta J2ME?
Disculpas por la naturaleza algo subjetiva y menos técnica de la pregunta.
Sin conocer el alcance de su aplicación, es decir, a qué dispositivos apuntará, otra cosa que tendrá que tener en cuenta es la creciente diferencia de entradas para cada modelo de BlackBerry. Algunos dispositivos, como el Curve y el Bold, son almohadillas estándar QWERTY donde otros dispositivos, como el PEARL, tienen almohadillas SureType. Y luego está la Tormenta que admite ambos dependiendo de la orientación de la pantalla. Además, el pad SureType debe usarse como un teclado numérico estándar si el usuario lo tiene configurado de esa manera. Las API nativas tienen soporte para todo esto, donde no tendrás ese lujo con MIDP estándar.
Otro consejo al diseñar su experiencia de usuario, podría tener en mis manos algunos modelos diferentes de BlackBerry y probar algunas de las aplicaciones que vienen de serie, ya que hay muchos accesos directos que los usuarios se acostumbran a usar que ni siquiera se dan cuenta de que existen. Por ejemplo, la barra ESPACIAL barra las páginas hacia abajo. Esto es enorme para leer documentos, sin embargo, tengo un lector de fuentes RSS de terceros que no tiene esta funcionalidad y siempre intento usarlo primero antes de recordar que no existe en esta aplicación. Ese tipo de pequeño detalle puede marcar una gran diferencia para los usuarios de BlackBerry.
BlackBerry es una plataforma muy difícil para programar. Fui por la ruta nativa y encontré que estaba muy poco documentada y en general solo un diseño miserable para trabajar. Sentí que era necesario porque perderá la capacidad de ciertas funciones (¿rueda de desplazamiento?) Si usa la ruta J2ME. Es una compensación y tendrás que elegir la que mejor se adapte a tus necesidades específicas.
Estoy de acuerdo con Anthony, iría con las API específicas de BlackBerry para aplicaciones de BlackBerry. J2ME simplemente no es portátil, y BlackBerry tiene un soporte mucho mejor para sus API propietarias.
Según mi experiencia, quédese con la aplicación Ui nativa de BlackBerry. Es lo mejor para BlackBerry y ofrece la mejor experiencia de usuario para los usuarios de BlackBerry. No puedes copiar eso con J2ME fácilmente.
He estado trabajando con J2ME desde 2002 cuando los teléfonos Nextel / Motorola estaban a la vanguardia de la funcionalidad J2ME. Me ocupo principalmente de aplicaciones que no son de juegos. Hoy, con la evolución de J2ME y más teléfonos que se ajusten a los JSR, mi aplicación continúa funcionando sin problemas. Este año finalmente logré moverlo a un dispositivo Blackberry. Dos días después, mi aplicación es completamente funcional en Blackberry. La aplicación es J2ME puramente genérica y utiliza muchos de los JSR (ubicación, bluetooth, xml, etc.). Un diseño de interfaz de usuario fuerte ayuda. Amplié algunas de mis clases de interfaz de usuario para admitir los teclados QWERTY / SureType. He utilizado una variedad de aplicaciones nativas que se encuentran en dispositivos Blackberry (no en juegos) y todavía no he justificado ninguna razón para aventurarme en la API de RIM para ver en qué me beneficiaría. Los argumentos expresados anteriormente por otros programadores compañeros demuestran además que hay muy poco que ganar a menos que esté exclusivamente dedicado a una plataforma de dispositivo Blackberry.
J2ME es simple de desarrollar. Y, la API de BlackBerry tiene muchas características, también puedes usar clases restringidas con simple firma. BlackBerry vende su certificado de firma y es barato. 20 $. Puede usar este certificado para firmar y usar todas las clases restringidas. En J2ME, a veces debe usar más de un certificado, incluso si no puede usar todas las capacidades del teléfono. Entonces, mi sugerencia es usar la API nativa de BlackBerry y algunos Códigos de Contenedor J2ME. Entonces, puede codificar fácilmente como J2ME y puede usar todas las capacidades de la API nativa de BlackBerry.
Hay una manera intermedia: puede usar J2ME-Polish y codificar de forma nativa en J2ME. El polaco agregará la apariencia de una aplicación nativa de BlackBerry hasta cierto punto. Tiene la ventaja de transferir su aplicación a otros teléfonos J2ME y no estar limitada a BlackBerry.