6 preguntas sobre desarrollo mobile

mobile development
Valora esta página

En el mundo del desarrollo mobile, tenemos lenguajes modernos, tanto para iOS como para Android, para desarrollar aplicaciones nativas para cada plataforma.

Asimismo, existen algunas herramientas multiplataforma para programar una vez y compilar para los distintos sistemas operativos. Las más conocidas son Apache Cordova, o Capacitor/Ionic. A estas herramientas se las conoce como híbridas, ya que son un mix entre código web estándar y código nativo. Para su ejecución, utilizan los llamados webviews que básicamente son browsers embebidos en las apps. Es decir, “parecen” aplicaciones nativas, pero no lo son realmente: son aplicaciones web que corren como nativas.

Además, desde hace unos años, algunas de esas herramientas multiplataforma evolucionaron para compilar directamente a código nativo (por ejemplo, React-native, Native Script, Xamarin o Flutter), manteniendo el concepto de programar una vez y compilar para cada plataforma.

En esta nota, responderemos a algunas preguntas sobre los lenguajes nativos y las tecnologías multiplataforma modernas, y cuándo es más apropiado utilizar una u otra opción para el desarrollo mobile.

¿Cuándo utilizar apps nativas?

Si el proyecto lleva demasiados servicios externos o acceso a funcionalidades del sistema operativo, es mejor una plataforma sólida, de código nativo, porque es complejo realizar este tipo de tareas con herramientas multiplataforma.

¿Qué problemas puedo llegar a tener con las aplicaciones híbridas antes mencionadas?

Hay casos en los que podemos llegar a tener problemas al publicar en el store de Apple, porque Apple puede prohibir el uso de librerías o componentes (por ejemplo, si hay alguna librería que esté deprecada), que utilizan las herramientas multiplataforma. En estos casos, sería suficiente con actualizar, pero podríamos tener otros problemas en la revisión posterior.

Apple, por política, prefiere las aplicaciones nativas. Aunque tolera las apps híbridas, prefiere evitarlas. De hecho, en los guidelines de Apple, se aclara que no van a publicar las apps que sean solo un webview y no usen código nativo.

¿Cuándo usar aplicaciones híbridas o multiplataforma?

Si la aplicación es muy sencilla o es un prototipo o una idea a la que no se le piensa dar mantenimiento por mucho tiempo, las alternativas híbridas son una gran opción, porque son más simples y, por lo tanto, de menos coste.

¿Qué es Flutter?

Flutter es un framework para desarrollar aplicaciones para diferentes plataformas, elaborado por Google y publicado por primera vez como proyecto de código abierto a finales de 2018. Este kit de desarrollo ofrece un gran número de bibliotecas para elementos estándar de la interfaz de usuario de Android e iOS, aunque también sirve para desarrollar aplicaciones web de escritorio.

Flutter está apoyado por Google. Allí es hacia donde quiere llevar el desarrollo Android, porque es una herramienta sólida a nivel de librerías y compatibilidad. Lo más interesante de Flutter es que compila a nativo para Android e iOS y no es una aplicación web embebida (webview).

¿Desarrollo mobile con Kotlin o Java?

Kotlin es el lenguaje de programación que quiere Google para sustituir a Java en el desarrollo de aplicaciones Android. Todo apunta a que Java será reemplazado por Kotlin, por lo que resulta beneficioso implementar este último en un desarrollo nuevo.

Kotlin es interoperable con Java, lo que significa que puede aprovechar todas las bibliotecas de Java, JVM y marcos existentes.

Los desarrolladores que conocen Java pueden aprender Kotlin con facilidad, ya que la curva de aprendizaje es fácil.

¿Swift u Objetive C?

La sintaxis de Swift es bastante más sencilla. Allí apunta Apple: a un lenguaje moderno, robusto y potente. Swift se sitúa por delante del resto en cuanto a potencia y rendimiento.

Objetive-C se basa en el lenguaje de programación C, el cual es uno de los más populares entre los programadores.

Un punto interesante es que no son excluyentes: ambos pueden trabajar en equipo, pudiendo crear programas con partes escritas con los dos. Swift es el futuro, pero Objective-C es la base.

Esperamos que las respuestas a estas preguntas sobre desarrollo mobile hayan logrado ayudarte a definir algunas de tus dudas y a encontrar el mejor camino para tu proyecto de negocio. Si tienes un proyecto en mente, no dudes en escribirnos.

Facebook
Twitter
LinkedIn
Email

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *