Hola, les saluda Luis y aquí les traigo otro post.
¿Eres un desarrollador web de pila NERD (Node.js, Express, React, Databases) autodidacta o recién graduado? Probablemente ahora se esté preguntando si necesita aprender otro idioma para probar el móvil. Este es solo el artículo para ti.
JavaScript se vuelve cada vez más popular ya que básicamente puede convertirse en un desarrollador web de pila completa con un solo lenguaje de codificación. Para agregar la cereza en la parte superior, puede usar JS para desarrollar aplicaciones nativas en teléfonos móviles también. Este artículo lo guiará a través de algunas preguntas e inquietudes al realizar la transición de la web a un dispositivo móvil, una guía que desearía tener al abordar la idea de crear una aplicación móvil por primera vez.
Índice
Pregunta 1: ¿Qué tan popular es el desarrollo móvil?
En cuanto al uso de los clientes, los dispositivos móviles representan aproximadamente la mitad del tráfico web en todo el mundo. En el primer trimestre de 2020, los dispositivos móviles (excluidas las tabletas) generaron el 51,92 por ciento del tráfico global del sitio web, situándose constantemente en torno al 50 por ciento desde principios de 2017.
Y según el mercado laboral y los roles de desarrollador más populares, Encuesta para desarrolladores de 2020 realizado por Stack Overflow afirma que alrededor del 55% de los encuestados se identifican como desarrolladores full-stack y alrededor del 20% se consideran desarrolladores móviles. Aunque la demanda de desarrolladores web es aún mayor según la búsqueda de empleo de glassdoor.com, los desarrolladores móviles parecen ganar un poco más en promedio:
Dicho esto, realmente depende de ti. Ambos roles parecen tener una buena demanda y estar bien pagados. Nunca está de más probarlo y decidir por ti mismo.
Pregunta 2: Bien, entonces, ¿qué es el desarrollo web móvil y qué lenguajes se utilizan para crear aplicaciones?
El desarrollo de aplicaciones móviles es la creación de software destinado a ejecutarse en dispositivos móviles y optimizado para aprovechar las características y el hardware únicos de esos productos. Hay varios tipos de aplicaciones móviles e idiomas que se utilizan para crearlas en consecuencia:
- Aplicaciones nativas: aplicaciones creadas para una plataforma específica, iOS o Android, utilizando las herramientas de desarrollo de software y los idiomas compatibles con esos sistemas operativos. Idiomas: Swift (u Objective-C) para iOS y Kotlin (o Java) para Android
- React Native / Xamarin: desarrollo de aplicaciones multiplataforma que tiene una interfaz de usuario nativa con acceso limitado a bibliotecas de código abierto como desventaja. Idiomas: JavaScript y React (React Native), C # (Xamarin)
- Aplicaciones web móviles (también conocidas como aplicaciones HTML5): Aplicaciones móviles basadas en la web que no se instalan en su dispositivo móvil de mano y se ejecutan en navegadores web en dispositivos móviles. Idiomas: HTML, CSS y JavaScript
- PWA (aplicaciones web progresivas): páginas web normales que funcionan sin conexión o tienen soporte sin conexión, pero a diferencia de las aplicaciones HTML5, se puede acceder a ellas a través de los íconos de la aplicación en la pantalla de inicio del dispositivo, por lo que la aplicación está fuera de línea desde los recursos almacenados en caché. Idiomas: HTML, CSS y JavaScript
- Aplicaciones híbridas: las mezclas de aplicaciones web nativas y móviles, viven en una tienda de aplicaciones, pero dependen del HTML que se representa en un navegador integrado en la aplicación. Idiomas: HTML, CSS, Javascript, frameworks javascript móviles como Cordova, PhoneGap, etc.
Pregunta 3: ¡Entendido! ¿Cómo hago una elección ahora? Parece que hay varias opciones con la pila NERD
Sí, como ve, alguien que conozca Javascript tiene varias opciones aquí. Las aplicaciones híbridas tienden a ser muy lentas y las tiendas de aplicaciones tienden a rechazarlas por razones desconocidas. Los más contemporáneos y de uso frecuente en la actualidad (lo que significa que hay una red de soporte más grande para que pueda depurar y hacer preguntas) son PWA y React Native.
React Native
Es una tecnología multiplataforma desarrollada por Facebook. Utiliza componentes nativos en lugar de componentes web como base. Permite a los ingenieros crear una aplicación de sistema operativo dual (Android e iOS) utilizando React y JavaScript, y tiene como objetivo cerrar la brecha entre el desarrollo web y móvil. Mientras PWA es una aplicación que se entrega a través de la web y se desarrolla utilizando tecnologías web comunes, como HTML, CSS y JavaScript. Funciona en cualquier plataforma que utilice un navegador compatible con los estándares. En pocas palabras, es una experiencia web similar a una aplicación y mejora constantemente.
Tanto PWA como React Native son multiplataforma, lo que significa que solo tendría que codificar una vez. La gran ventaja de PWA es que usa el mismo código para la versión web: al final del día, tiene un sitio web y una aplicación. Sin embargo, la principal desventaja es el rendimiento y la accesibilidad limitada a las funciones nativas del dispositivo.
React Native tampoco tendrá acceso a las nuevas funciones nativas del dispositivo hasta que se publique el contenedor (código de traducción), pero en general tiene una interfaz de usuario declarativa y predecible y recarga en caliente. Dado que traduce Javascript al idioma nativo, tiene un acceso mucho mayor a las funciones nativas del dispositivo. También puede incorporar algo de código nativo directamente si así lo decide.
Aquí hay un gran artículo que compara los dos. Para resumir, React Native es el término medio entre Native y PWA y es la recomendación del editor para la primera experiencia con el desarrollo móvil.
Muy bien, bastante convincente, ¡hagamos esto!
Si encuentra convincentes los argumentos que se inclinan hacia React Native, estos son sus próximos pasos. React Native está muy cerca de su experiencia con React. Puede comenzar viendo un par de tutoriales; personalmente me gusta esta lista aquí o simplemente descubra la estructura por su cuenta sobre la marcha.
Expo es un marco y una plataforma para aplicaciones universales de React. Es un conjunto de herramientas y servicios construidos alrededor de React Native y plataformas nativas que lo ayudan a desarrollar, construir, implementar e iterar rápidamente en iOS, Android y aplicaciones web desde la misma base de código JavaScript / TypeScript.
React Native sugiere usar Expo CLI para comenzar si es nuevo en el desarrollo móvil. ¿Qué es EXPO? Expo es literalmente la forma más fácil y rápida de crear su primera aplicación móvil usando React Native. Si sigue los pasos del enlace (básicamente: 1. instalar expo, 2. crear el proyecto, 3. instalar la aplicación expo en su teléfono, 4. iniciar el proyecto, 5. escanear el código QR), podrá ver su primer Aplicación movil en tu teléfono en cuestión de minutos.
Expo proporciona una amplia documentación sobre cómo crear e implementar cosas. Cree un repositorio de git, realice el compromiso temprano y no tenga miedo de experimentar y romper cosas. Estoy seguro de que te encantará esta experiencia.
¡Los mejores éxitos!
Añadir comentario