¿Tecnología para escribir iPhone, BlackBerry y teléfono Android al mismo tiempo? [cerrado]

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

  •  03-07-2019
  •  | 
  •  

Pregunta

¿Existe una estrategia o al menos la mejor práctica para escribir una aplicación que se ejecute en iPhone, BlackBerry y Android?

Ignoro los entornos de desarrollo para BB y Android, pero supongo que ambos son compatibles con las aplicaciones Java.

Sé que el iPhone requeriría una parte de ObjectiveC (así como una nueva interfaz de usuario).

¿Alguien ha hecho esto?

¿Fue útil?

Solución

Es posible que desee consultar http://phonegap.com/

Otros consejos

Una técnica, que funciona adecuadamente para ciertos tipos de aplicaciones, como las aplicaciones de referencia: Use HTML / CSS / JavaScript y escriba clientes compactos que usen el objeto del visor HTML de la plataforma para leer contenido web incrustado localmente.

Una técnica para escribir una aplicación multiplataforma que se ejecutó tanto en BlackBerry como en Windows Mobile, fue escribirlo todo en HTML. Tuve que usar un subconjunto de HTML y CSS que funcionaba tanto en BlackBerry Browser como en Pocket Internet Explorer. También utilicé una pequeña cantidad de JavaScript.

Escribí visores muy pequeños que corrían fuera de HTML almacenado internamente e imágenes usando jar: // (BlackBerry) y res: // (Windows Mobile) URL. Pude integrar todos los archivos HTML e imágenes como parte de la aplicación BlackBerry, utilizando una versión personalizada del campo del navegador y. Lo mismo para Windows Mobile, pude usar Pocket Internet Explorer como un ActiveX incorporado en mi aplicación de Windows Mobile.

Nota: para BlackBerry, tuve que admitir dispositivos heredados que ejecutan OS 4.2. Para hacerlo, reciclé muchos ejemplos de código RIM, como SecondaryResourceFetchThread.java, para extraer imágenes incrustadas en la aplicación y enviarlo a través de un objeto de conexión personalizado que implementó HttpConnection que diseñé para manejar jar: // URL para internamente HTML / imágenes incrustadas en mi aplicación BlackBerry. Fue un poco difícil de averiguar. Para Windows Mobile, fue más intuitivo.

Hay otras formas de hacer lo que necesitaba, pero funcionó perfectamente para una aplicación de referencia médica, y pude diseñar archivos CSS separados para BlackBerry y para Windows Mobile para reformatear el contenido de forma ligeramente diferente para los dos dispositivos móviles. (Era algo así como probar la compatibilidad de Netscape versus Internet Explorer en los viejos tiempos).

Es posible que esto no funcione en su situación, pero si su aplicación es una aplicación de "referencia" de estilo web y usted sabe cómo hacer HTML correctamente, este enfoque puede funcionar.

Actualmente estamos investigando esto también y encontramos:

Titanium

Kony Solutions

Estos productos tienen buenas críticas. El Titanium es gratis para la edición comunitaria.

Otra opción a tener en cuenta es Rhodes , que es un marco de Ruby.

http://j2mepolish.org podría ser una buena opción, sin embargo, el iPhone solo está en la hoja de ruta. Pero Android y BB ya son compatibles, al igual que todos los demás teléfonos j2me.

también si está escribiendo juegos, consulte mi solución multiplataforma (iPhone, Android, etc.) llamada Cuttlefish Engine, en http://www.cuttlefishengine.com .

Al escribir aplicaciones multiplataforma, debe decidir qué parte del código compartir. Las 2 opciones son

  • Todo. Utiliza (escribe) bibliotecas de la interfaz gráfica de usuario multiplataforma y rutinas del sistema
  • La lógica es multiplataforma, pero la capa de presentación es específica de la plataforma

El segundo enfoque tiende a dar mejores aplicaciones pero es un trabajo más (asumiendo que no es necesario escribir las bibliotecas de plataforma cruzada).

Lo complicado con el mundo móvil es elegir un idioma. Ahora mismo tienes

  • Java : teléfonos con Android, Blackberry, Java ME
  • Objective C / C : iPhone, windows Mobile
  • Javascript : Palm Pre

Puede compilar de forma cruzada java a javascript y viceversa. También puede compilar java a C o usar un motor javascript al que pueda llamar desde C. No creo que pueda ejecutar C en un teléfono java / javascript. Eso me lleva a sugerir que escribas tu código en Java / Javascript. Las compilaciones cruzadas (y la mezcla de idiomas en general) tienen el inconveniente de hacer que la depuración sea un poco más difícil.

Además, puedes intentar con Mobile Community Framework (MCF). Este es un marco multiplataforma que se ejecuta de forma nativa en iPhone, Android, WinMobile, Symbian y BlackBerry. MCF maneja las operaciones de red, ubicación y proximidad para usted, en una red Wi-Fi Ad-Hoc o a través de un servidor proxy dedicado si no es posible una conexión directa. Tiene una API simple y es de uso gratuito. De esta manera, puede desarrollar la interfaz y la lógica de su aplicación por separado en cada plataforma, y ??usar MCF para conectar instancias de su aplicación de la forma que desee.

Más información en http://uvamobiltec.com

Siempre puedes escribir una aplicación javascript en la web, y debería funcionar en las tres. Por supuesto que no se instala en el teléfono.

Android tiene una vista web que ejecuta Javascript. Estoy seguro que las otras plataformas también lo hacen. Si escribiste la mayor parte de tu lógica en javascript, podrías reutilizar ese javascript en todas las plataformas.

Otro marco de trabajo es http://www.mosync.com/

Parece que soporta todas las plataformas principales.

Adobe Flex y Flash Builder también parecen prometedores. Aún así, debe considerar su propiedad, pero con la video en el sitio web del centro de desarrolladores parece que merece la pena. Por cierto, la última versión Actualmente soporta Android. Se supone que el soporte para iOS saldrá en junio de 2011 a través de una actualización.

Si desea escribir una aplicación web multiplataforma, SenchaTouch o Phonegap es una buena opción.

Si prefiere una aplicación nativa, la mejor solución multiplataforma es Titanium . Usando Titanium, puede escribir su aplicación en Javascript, y compila JS a código nativo (Objective-C, Java ...)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top