Cómo desarrollar una aplicación multiplataforma

Existen aproximadamente 5 estrategias diferentes que puede seguir para desarrollar una aplicación multiplataforma. La elección entre eso dependerá de lo que quieras construir. su experiencia y las compensaciones que está dispuesto a hacer (recursos, tiempo, experiencias, etc.).

  1. Una aplicación completamente nativa: escriba una aplicación para Android, otra para iOS, otra para Windows, etc. La única pieza común sería cualquier servicio en la nube al que sus aplicaciones llamen. Este es probablemente el más ineficiente desde el punto de vista de Ingeniería, pero proporcionará la mejor experiencia de usuario (incluido el rendimiento).
  2. Aplicación nativa con cierta reutilización de código: puede escribir su lógica de tiempo de ejecución / negocio en C ++ puro mientras que su IU se puede escribir en los marcos nativos proporcionados por la plataforma. Por ejemplo, en Android, escribirá su código UI en Java y usará JNI para hablar con el código C ++ mientras que en iOS, escribirá su código UI en Cocoa / Objective-C. También deberá escribir un código específico de plataforma para llamar a API de dispositivo / SO. También puedes hacer algunas optimizaciones aquí. Por ejemplo, puede usar algunas bibliotecas de código abierto o de terceros para API específicas del sistema operativo / dispositivo. Claramente, el código C ++ no le permitirá usar este código para el navegador. Este modelo generalmente funciona mejor que el primer enfoque, pero aún tiene todos los beneficios del enfoque anterior. También puede escribir su lógica de negocios en javascript en lugar de C ++, pero eso no le proporcionará muchos beneficios en este modelo.
  3. Proporcione experiencia de aplicación nativa pero escribiendo el código exactamente una vez. Aquí hay dos subenfoques, pero ambos enfoques le permiten escribir código exactamente una vez y usarlo en todas las plataformas principales.
    1. Crea una aplicación con Xamarin. En este modelo, crea la aplicación una vez que usa C # y se convierte en código nativo en otras plataformas. Esto aún le brinda todos los beneficios, incluido el rendimiento de la aplicación nativa, y será muy atractivo para los equipos que estén más familiarizados con las tecnologías .Net. Por supuesto, este enfoque cubrirá iOS, Android y Windows, pero no web u otras plataformas.
    2. Cree una aplicación web utilizando una tecnología javascript y cree la interfaz de usuario en JS pero utilizando React. Esto le permite proporcionar una experiencia nativa a sus usuarios en iOS y Android, al tiempo que le permite hacer que la misma aplicación esté disponible a través de la web. Aquí el tiempo de ejecución está en javascript, pero su interfaz de usuario será nativa. Esto también le permite incluir la web en sus plataformas, lo que le permite usar esta aplicación web en plataformas que no sean iOS y Android. Esto será más atractivo para los equipos con más experiencia en tecnologías web.
  4. Aplicaciones web: estas aplicaciones se crean completamente en HTML / JS y serán más atractivas para los equipos familiarizados con las tecnologías web. Puede usar muchas tecnologías aquí como Angular.js, etc., para escribir la aplicación en javascript. Sin embargo, aún necesitará escribir código o usar bibliotecas para llamar a las API específicas del dispositivo / SO. Para esto, puede usar tecnologías como PhoneGap / Cordova. Por supuesto, con esto, también puede apuntar a los navegadores. Aunque la desventaja es que estos pueden no ser más efectivos o eficientes en memoria en dispositivos de gama baja, la brecha se está cerrando rápidamente.

He categorizado las soluciones en las 5 categorías anteriores, pero no he enumerado todas las tecnologías allí. Estoy seguro de que una vez que identifique una estrategia, puede encontrar muchas bibliotecas y herramientas que harán que su desarrollo sea más fácil y rápido.

La mejor y más segura manera es desplegar un equipo de desarrolladores expertos en desarrollo híbrido (el término “oficial” para crear aplicaciones multiplataforma en TI), porque hay una amplia lista de matices a tener en cuenta, si es nativo (para un desarrollo de plataforma única) no es su opción. De todos modos, si desea leer rápidamente todo esto, hay un breve libro electrónico sobre todo lo relacionado con el desarrollo de aplicaciones y aplicaciones móviles.

Creo que la mejor manera es desarrollar una aplicación híbrida que use HTML5 para la interfaz con un “contenedor” nativo, el mejor es la falta de teléfono. Descubrimos que el marco iónico HTML5 ofrece el mejor rendimiento y está más cerca del rendimiento nativo. Facebook también tiene una solución multiplataforma HTML5 llamada React que también es muy buena pero un poco más difícil de usar. Obtenga más información aquí: https://www.red-c.co.uk/articles

Para desarrollar una aplicación multiplataforma, hay dos formas,

  1. Codificación manual
  2. Usar herramientas de arrastrar y soltar

En caso de codificación manual, portar una aplicación de una plataforma a otra se convierte en una GRAN tarea. Si la aplicación desarrollada en una plataforma es compleja, la transferencia puede tener muchas molestias. Recodificación para otras plataformas, ajuste de elementos en términos de UI / UX, etc. El beneficio de esto es la naturaleza NATIVA de las aplicaciones desarrolladas. Las aplicaciones nativas tienen el mejor rendimiento y se consideran más seguras.

En caso de utilizar alguna herramienta como phonegap.com, etc., el código generado no es NATIVO. Son aplicaciones híbridas. Configure.IT multiplataforma ha abordado este punto problemático y las aplicaciones desarrolladas al usarlo son NATIVAS. Para portar una aplicación de una plataforma a otra, solo se necesita un clic. Entonces, si configuramos la aplicación de iOS para convertirla en una aplicación de Android, solo debemos hacer clic en un botón. El descanso lo realiza la plataforma misma.

HTML, CSS y Java Script son tus amigos cuando quieres aplicaciones multiplataforma. Ahora, aquí tiene una opción, elija xamarin para aplicaciones casi nativas o tecnologías tipo teléfono para aplicaciones más centradas en la web. También puede buscar sobre aplicaciones web progresivas …

No sé mucho sobre su entorno y situación, pero creo que las líneas anteriores apuntarán a Google, donde puede encontrar buenas opciones para sus necesidades …

More Interesting

¿Cuál es la diferencia entre un servicio web, API web y API REST? ¿Qué es mejor usar con todos los lenguajes como Java, PHP y aplicaciones móviles?

¿Cuál es el mejor servicio para crear una página de destino de la aplicación?

¿Qué lenguaje de programación o pila de idiomas es el más adecuado para una aplicación interactiva de chat social que puede conectarse a redes externas?

¿Debo seguir con el marco Ionic 1, que conozco muy bien, o aprender React-Native o Ionic 2 para un nuevo proyecto para un cliente en este momento?

¿Qué lenguaje informático brinda conocimiento y dominio del software, la aplicación móvil y el desarrollo de sitios web?

Cómo 'poblar' mi aplicación

¿Cuál es el mejor marco para el desarrollo de aplicaciones multiplataforma: Ionic, Meteor o React Native?

¿Qué espera la gente de una aplicación de chat? ¿Cuáles son las necesidades de las personas para la aplicación de chat?

Cómo iniciar un sitio web o una aplicación que requiere que las personas ya estén usando, como redes sociales, juegos en línea o algo como eBay o Quora

¿Cuánto cuesta crear una aplicación y hasta su uso en línea oficialmente?

¿Cuáles son sus consideraciones clave para el diseño o desarrollo web para dispositivos móviles y táctiles?

¿Cuándo debe una aplicación web dejar de usar un PaaS?

¿Cuáles son las ventajas y desventajas del sistema de inicio de sesión de entrada única?

¿Cuáles son las tecnologías utilizadas para desarrollar aplicaciones móviles?

¿Es posible convertirse en maestro en aplicaciones web y móviles?