Quiero desarrollar una aplicación para dispositivos Android y iOS. ¿Hay alguna manera de desarrollar la aplicación una vez y desplegarla en ambas? ¿O es necesario desarrollar para cada plataforma por separado?Android y iOS: ¿Cómo desarrollar para ambos?
Respuesta
Si desea aplicaciones que brinden una experiencia nativa, tendrá que escribir aplicaciones separadas.
Creo que el mejor lugar para comenzar es con una muy buena versión web optimizada para navegadores móviles. Creo que las mejores aplicaciones web son mejores que muchas de las aplicaciones nativas, pero no son competitivas con las mejores aplicaciones nativas.
También hay un par de opciones como Titanium o PhoneGap, que son un tipo de sistema híbrido web/nativo, utilizan la tecnología web para crear aplicaciones nativas.
Bien, usted tiene http://monotouch.net y http://monodroid.net. De esta forma, puede tener una lógica comercial común y solo volver a desarrollar su UI.
Muchas aplicaciones móviles solo presentan información y tienen muy poca lógica comercial. – mikerobi
Todo depende del tipo de aplicación que desea desarrollar. Si es un juego, le sugiero que escriba la mayor parte como código nativo, y aproveche el hecho de que OpenGL ES 2.0 es compatible de forma nativa en ambas plataformas. Obviamente, todos sus códigos Java no serán reutilizables en iOS, por lo que todo lo que se pueda hacer como biblioteca nativa portátil ayuda a reducir la cantidad de código no reutilizable.
Codename One es otro, para el desarrollo de Java en ambas plataformas. No hay experiencia con eso, sin embargo.
Si se trata de un juego o una aplicación principalmente gráfica, BatteryTech Engine hará lo que quiera. Todavía necesita XCode para compilar para iOS, pero de lo contrario es una base de código primaria única para ambas plataformas.
Usando Qt, que es un framework C++ para el desarrollo multiplataforma que tiene una licencia LGPL y una comercial, puede desarrollar para ambas plataformas y simplemente recompilar su aplicación desde la misma fuente. Como beneficio adicional, también puedes apuntar a Windows, Linux y Mac.
Tenga en cuenta, sin embargo, que Qt presenta sus propios controles, por lo que los widgets no se verán nativos en Android ni en iOS. Además, al igual que con todos los marcos multiplataforma, le proporcionará el mínimo común denominador en términos de características.
con Qt se puede desarrollar verdaderamente aplicaciones multiplataforma que trabajarán en el escritorio, embebidos y plataformas móviles. Qt 5.2 presenta soporte total para las plataformas Android e iOS y, por lo tanto, permite la creación de aplicaciones móviles multiplataforma que se empaquetan e implementan tanto en Google Play como en App Store desde una base de código. En lugar de escribir dos versiones del mismo código con dos tecnologías diferentes, ¡puede escribirlo una vez con Qt!
App Store de Apple podría no aceptar aplicaciones que utilizan dylibs, sin embargo, que podría force you to use the commercial license para aplicaciones de código cerrado:
En iOS es posible utilizar una versión vinculada de forma dinámica de las librerías Qt, y haz que se incluyan con la aplicación. Esto permite que la aplicación use la licencia LGPL para Qt, a la vez que permite que la aplicación sea de código cerrado. Queda por ver si Apple aceptará las aplicaciones que agrupan los dylibs en la tienda de aplicaciones iOS.Si Apple no acepta aplicaciones que usan dylibs empaquetados en la App Store, entonces será necesario vincular Qt estáticamente a la aplicación. Y como el puerto Qt para iOS usa la versión LGPL de Qt, las reglas para vincular estáticamente con LGPL se activarán, esto puede ser un problema para las aplicaciones de código cerrado.
Finalmente, dado que Qt es un marco de C++, tendrá que utilizar C++ para desarrollar su aplicación.
Empecé a usar NativeScript y parece prometedor.
NativeScript es la forma de crear multiplataforma, aplicaciones nativas de iOS y Android sin vistas web. Use Angular, TypeScript o JavaScript moderno para obtener una interfaz de usuario y rendimiento verdaderamente nativos mientras comparte habilidades y códigos con la web. Obtenga el 100% de acceso a las API nativas a través de JavaScript y reutilice los paquetes de NPM, CocoaPods y Gradle. Código abierto y respaldado por Telerik.
Hay muchas opciones. Depende si quieres una experiencia nativa o si quieres que las cosas estén en una vista web. Con la experiencia nativa puede que tenga que hacer una codificación nativa, pero aún es mucho mejor que desarrollar 2 aplicaciones nativas separadas.
A continuación se presentan algunos con los que tengo experiencia.
experiencia nativa
- Nativescript + Angular (gratis)
- Xamarin (precio depende de lo que está haciendo)
- React Native (gratis)
Webview
He utilizado un montón de cruzadas plataformas en los últimos años, y la de mi perspectiva Xamarin es la mejor, porque al final ella, se puede decir si la aplicación es multiplataforma o no. pero con Xamarin compila a nativo así que no hay diferencia aparente entre ellos en términos de UI. Puede comenzar aquí: https://www.xamarin.com
- 1. ¿Cómo puedo desarrollar para Android en Emacs?
- 2. ¿Es posible desarrollar Android para Android?
- 3. Desarrollar aplicaciones para Android usando Html, Css y JavaScript
- 4. Android desarrollar fuente LCD
- 5. Serverless embedded noSQL para Android y iOS
- 6. Generación de código para iOS y Android
- 7. vmware y rendimiento para desarrollar
- 8. Cómo desarrollar la aplicación de Realidad Aumentada para Android
- 9. ¿Cómo desarrollar un teclado personalizado para la aplicación Android?
- 10. ¿Cómo integrar HTML 5 para BlackBerry, IOS y Android?
- 11. Cómo desarrollar complementos para el navegador nativo de Android
- 12. ¿Todavía es posible desarrollar dispositivos iOS anteriores?
- 13. Buen IDE basado en Android para desarrollar aplicaciones de Android
- 14. Groovy y GWT: Combinando ambos paradigmas
- 15. Desarrollar sin problemas en ambos VC++ 2010 y VC++ 2008 en el mismo trabajo?
- 16. Gema para notificaciones push para Android y iOS
- 17. Desarrollo de Android para el desarrollador de iOS
- 18. RESTful frameworks para Android, iOS ...?
- 19. ¿Puedo desarrollar Android en Mac?
- 20. Cómo enable_shared_from_this de ambos padres y derivado
- 21. Python para IOS o Android
- 22. eclipse link y log4j: cómo usar ambos
- 23. Mejores prácticas para desarrollar aplicaciones más grandes en Android
- 24. Aplicación web para Android e iOS envuelta en una nativa
- 25. ¿Existe un marco multiplataforma para desarrollar aplicaciones de iPhone/Android?
- 26. MongoDB y Whoosh. ¿Necesito ambos?
- 27. Buenas herramientas para desarrollar una GUI en Android?
- 28. ¿Puedo usar Lázaro Pascal construir para iOS y Android
- 29. Prueba de aceptación automatizada para dispositivos iOS y Android
- 30. desarrollar C# /. NET en dispositivos Android
Consulte también http://stackoverflow.com/questions/6171128/ios-android-cross-platform-development, que hace la misma pregunta pero se cerró porque solicitó las recomendaciones de IDE/framework . – sashoalm