2008-08-27 11 views

Respuesta

46

Phonegap es un marco basado en javascript/css/html que se dirige a iPhone, Android y Blackberry. (Al menos en el iphone) también se puede incluir como una aplicación nativa. La capa de interfaz de usuario para estas aplicaciones generalmente está construida en html/javascript y puede ser más lenta que una verdadera aplicación nativa.

phonegap


Reaccionar nativo permite crear experiencias de aplicación de clase mundial en plataformas nativas utilizando una experiencia consistente desarrollador basado en JavaScript y reaccionar. El enfoque de React Native radica en la eficiencia del desarrollador en todas las plataformas que le interesan: aprenda una vez, escriba en cualquier lugar. Facebook usa React Native en múltiples aplicaciones de producción y continuará invirtiendo en React Native. La interfaz de usuario para las aplicaciones React Native son controles nativos, por lo que su UI suele ser más rápida que un enfoque HTML/javascript puro para la administración de la GUI.

React Native


Unidad es un motor de juego multiplataforma desarrollado por Unity Technologies y utilizado para desarrollar videojuegos para PC, consolas, dispositivos móviles y sitios web. Unity es notable por su capacidad de dirigir juegos a múltiples plataformas. Las plataformas compatibles incluyen Android, Apple TV, BlackBerry 10, iOS, Linux, línea de Nintendo 3DS, OS X, PlayStation 4, PlayStation Vita, Unity Web Player (incluido Facebook), Wii, Wii U, Windows Phone 8, Windows, Xbox 360, y Xbox One.

Unity


OpenFL es un puerto de código abierto de la API de Flash para de escritorio, navegador, iOS, Android, Flash, HTML5, etc. y es una opción a considerar para quienes provienen de un mundo Flash. Se basa en binarios nativos y también en navegadores (Flash/HTML5).

openfl


monogame es una implementación de código abierto del marco 4.x Microsoft XNA. Hace que sea más fácil para los desarrolladores de XNA crear juegos multiplataforma con una reutilización de código extremadamente alta. Actualmente admite iOS, Android, Windows (tanto OpenGL como DirectX), Mac OS X, Linux, Windows 8 Store, Windows Phone 8, PlayStation Mobile y la consola OUYA.

monogame


Adobe Flash Y lo creas o no, Adobe Flash puede publicar binarios nativos para iOS, Android, escritorio y por supuesto la web. El rendimiento es razonable, pero no increíble. Si tuviste un juego Flash, puedes llevarlo al móvil muy fácilmente. Y esto no requiere ningún complemento de ningún tipo. En realidad, crea un binario autónomo nativo que se ejecuta en cada plataforma.

adobe

-3

No hay nada existente (vale la pena confiar, si acaso), y dudo que alguna vez haya algo oficialmente planificado.

-1

Dicho marco, por naturaleza, no podía aprovechar las funciones específicas del iPhone como el acelerómetro o los gestos con varios dedos. También es probable que anule los términos del SDK de Apple.

Como andyuk le sugirió, considere escribir una aplicación web. Funciones básicas como llamar a alguien puede acceder de esa manera.

3

Incluso si realmente quisiera, no sería práctico crear su propio marco multiplataforma: iPhone es código nativo, Android es Java.

Por supuesto, no hay nada que lo detenga, por ejemplo, compartir la lógica central de C/C++ en una aplicación de escritorio con su contraparte de iPhone.

32

Editar: Desde que se formuló esta pregunta, se han desarrollado varias soluciones viables. Si bien el tono de esta respuesta aún puede ser preciso (para obtener el beneficio del 100% de HW/OS es probable que sea necesaria una aplicación nativa), puede encontrar una cantidad de posibles respuestas debajo de esta pregunta.

Tanto Android como el iPhone tienen interfaces de usuario muy definidas. Incluso si encontró un marco que cubriera las enormes diferencias en los niveles de aspecto más bajos (Android está programado en Java sobre una VM personalizada, iPhone es un código nativo programado en Objective-C) y en niveles superiores (las aplicaciones de iPhone son una completamente aislado y aislado, el modelo de objetos de Android se distribuye y las clases se invocan libremente entre las aplicaciones y las bibliotecas) su aplicación final se sentiría extraña y fuera de lugar en cualquiera de ellos. Piense en la falta de multitouch en Android o en la falta de botones de hardware dedicados en el iPhone.

Lo mejor que puede hacer es desarrollar una interfaz de usuario específica de la plataforma y tener el modelo y la lógica central de su aplicación en algún tipo de lenguaje de scripting. Luego, busque un intérprete en C simple (para el iPhone) y uno en Java (para Android). Scheme, Lisp y Javascript podrían encajar en la factura. Solo asegúrate de que el intérprete no esté expuesto a los usuarios finales o estarías violando el iPhone NDA ...

Si tu aplicación tiene datos pesados, puedes seguir el modelo de muchas aplicaciones de iPhone y desarrollar interfaces de usuario nativas para iPhone y Android, y tiene toda la lógica de la aplicación en un servidor remoto. Su interfaz de usuario se convierte en la única parte instalada de la aplicación y todo lo demás está alojado en la red. Esto tiene la ventaja adicional de tener la posibilidad de ofrecer perfiles itinerantes entre diferentes dispositivos y una interfaz web.

+5

Parece ser que una serie de soluciones para esto han aparecido desde la pregunta se formuló inicialmente. – Thomas

+0

Parte del sentimiento de esta publicación puede seguir siendo cierto (aprovechando toda la potencia de una pieza de hardware en particular), pero si su aplicación es lo suficientemente simple, hay una serie de herramientas (vinculadas en otras respuestas) que pueden hacer el trabajo. – Stimy

+7

Buena respuesta, pero tenga en cuenta que Android tiene multitouch ... – Roddy

5

Mytopia tiene un marco inédito llamado RUGS. Presentaron recientemente en la conferencia TechCrunch 50 y su tecnología se veía muy interesante. Pudieron compilar una aplicación que se ejecutaba en todas las plataformas de teléfonos inteligentes (y fue capaz de aprovechar las capacidades de cada ... acelerómetro en el iPhone, por ejemplo). Lamentablemente, su website dice que necesita enviarles un correo electrónico si desea obtener más información. Puede valer la pena dispararles un correo electrónico si realmente desea desarrollar en un sistema multiplataforma con un teléfono inteligente.

Vi su presentación a través de la transmisión web TC50, pero desafortunadamente no puedo encontrar un video para usted ahora.

Por favor, publique nuevamente aquí con un resumen de qué marco decide utilizar y por qué lo eligió.

2

Sólo quería mencionar que una aplicación web utilizando las marchas plugin puede hacer uso de Geolocation (Ya no Avaliable) (GPS y Wifi servicios de localización) y esto funciona en Android (la navegador en el G1 incluye soporte de Gears incorporado).

No estoy seguro de si hay alguna esperanza de obtener compatibilidad con engranajes en un iPhone, pero es otro enfoque útil para crear aplicaciones web con características adicionales y al mismo tiempo tener un amplio alcance de dispositivos.

3

Salida esto:

http://www.xmlvm.org/overview/

Es un proyecto que trata de ser capaz de programas escritos en una variedad de idiomas de origen a una variedad de idiomas de destino compilar en forma cruzada. Uno de los casos de prueba iniciales fue escribir programas en Java y ejecutarlos en un iPhone. Ver el video en el sitio vale la pena. Han discutido la posibilidad de poder apuntar a Android también.

Dicho esto, no lo he intentado. El proyecto parece bastante beta, y no hay mucha actividad en su sitio SourceForge.

4

QuickConnectiPhone le permite escribir su aplicación en JavaScript y aún así es instalable. Una versión de Android está en Alpha inédito en este punto.

Habiendo tanto le permitirá crear su aplicación en JavaScript, CSS y HTML, hacer llamadas a cualquiera del iPhone o el teléfono Android para el funcionamiento del dispositivo, tales como la vibración, ubicaciones GPS, etc.

El iPhone la versión se puede descargar desde https://sourceforge.net/projects/quickconnect/ y si me contactas puedo enviarte la versión de Android.

11

Añadiendo otro servicio a la pila aquí: Rhomobile está buscando crear solo esto. Parece una frase simplificada: piense en la web a principios de los 90. Pero podría ser la forma más fácil de portar su aplicación favorita a cada plataforma móvil importante.

Más detalles: Rhomobile promises: Build once, deploy to any smartphone

. (Nota: No trabajo para Rhomobile; acaba de llegar a través de la historia de hoy)

2

que hemos tenido éxito con el middleware de hielo-táctil para obtener el iPhone y Dispositivos Android hablando con los mismos servidores. con generación de código bastante decente para objetos y métodos de red. pero la lógica local todavía tiene que escribirse en el lenguaje del teléfono. de esta manera podríamos aprovechar las ventajas de la interfaz de usuario de cada uno, mientras que nuestro modelo vive en el mismo servidor y nuestros controladores se autogeneran.

link text

7

Rhomobile El marco de Rhodes hace esto.Las aplicaciones Rhodes son nativas para cada teléfono inteligente individual

3

Puede desarrollar aplicaciones Java para iPhone con iSpectrum. De esta manera usted será capaz de volver a utilizar una cantidad consistente de su código de aplicación entre Android y el iPhone (y, posiblemente, los applets de escritorio o MIDlets J2ME, dependiendo de lo que haces :))

Mas informaciones en http://www.flexycore.com

3

Su mejor opción será AirPlay, visite AirPlay web site

Un clic e implemente para Android, Iphone, Samsung Bada, Symbian, Windows Mobile, BREW, WebOS y Maemo.

10

Trabajo (ed) bastante con las soluciones "nativas" Obj-C y Java (4 Android). También construyo una aplicación con Appcelerator para iPhone y Android que funciona muy bien. Las API de Appcelerator son bastante extensas. La aplicación Appcelerator Kitchen Sink muestra una gran cantidad de elementos y funcionalidades listos para incluir en una aplicación (https://github.com/appcelerator/KitchenSink). Sin embargo, dado que mi aplicación Appcelerator no es demasiado compleja, no me siento cómodo para recomendarla en general. Un colega me dijo que su equipo de desarrollo lo intentó y que no estaban satisfechos. Sin embargo, no pudo nombrar una razón real. Sin embargo, voy a seguir probando para ver dónde están las limitaciones. Una gran limitación es el soporte de la plataforma (actualmente solo iOS y Android).

En cuanto a Rhodes, esta solución parece bastante impresionante en el papel, especialmente en términos de plataformas compatibles. Veo algunos problemas con eso sin embargo. En primer lugar, las aplicaciones de demostración y la aplicación de fregadero de cocina necesitan mucho espacio en disco, se ejecutan un poco entrecortadas y se ven funky a veces (al menos en Android). Segundo, hay muy pocas aplicaciones de "mundo real" para encontrar. Me refiero a las aplicaciones que se han descargado al menos más de 1000 veces y al servicio de las necesidades del mundo real además de la demo diseñada. La usabilidad para mí tiene la máxima prioridad en aplicaciones móviles (para consumidores).

Veo un gran potencial en las aplicaciones HTML/CSS/JavaScript/PhoneGap. Recientemente, leí algunos artículos sobre empresas más grandes que usan HTML (5) para construir sus aplicaciones (por ejemplo, Netflix http://mashable.com/2010/12/03/netflix-html5/, Zynga http://www.spielsucht24.de/2010/12/21/zynga-launches-html5-mafia-wars-atlantic-city-for-mobile-web/). Todavía existen algunos problemas de usabilidad y agilidad que deben resolverse cuando se crean aplicaciones móviles con tecnologías web. Otro problema podría ser la prueba, depuración y mantenimiento de aplicaciones HTML de nivel empresarial.

3

Mi libro HTML5 para iOS y Android le permite tomar aplicaciones web creadas en HTML, JavaScript & CSS, y convertirlas en aplicaciones independientes que puede cargar en las tiendas de aplicaciones (gratis o para vender) - http://html5formobile.com - Los envoltorios para hacer esto para los SDK de iOS y Android están disponibles gratuitamente en el sitio web, y usted no necesita ningún conocimiento del lenguaje de programación si sigue las instrucciones del libro.

3

Me doy cuenta de que esta pregunta es bastante antigua, pero aparece en las búsquedas de Google, así que pensé que sería una buena idea actualizarla.

Creo que un buen framework en este momento que se dirige a ambas plataformas y en realidad se ejecuta nativo, lo que permite escribir juegos de buen rendimiento sería Corona.

Enlace: http://www.anscamobile.com/corona/

Cuestiones relacionadas