Como desarrolladores, hay algunas decisiones muy importantes que se deben tomar al pensar en desarrollar una aplicación, y una de ellas es decidir qué tecnología usarás.
Como te debes haber dado cuenta, elegir la herramienta de desarrollo adecuada puede ser bastante estresante. Elija el incorrecto y podrías terminar con una aplicación que que tú (O tú cliente) realmente querían.
Entonces, digamos que tiene que crear una aplicación móvil, específicamente una aplicación que esté disponible para los sistemas Android. ¿Qué eliges? ¿Prefieres [REACT](https://reactjs.org/)? ¿O mejor [Android SDK](https://developer.android.com/studio/)? ¿Cómo sabes cuál es el mejor?
Para ahorrarle algo de tiempo, hemos asumido la tarea de realizar esta investigación y ayudarlo a decidir. Pero prepárate, porque si crees que esta será una pelea fácil entre estos dos juegos de herramientas, estás muy, muy equivocado.
##Kits de herramientas vs bibliotecas de Javascript
Comparar el SDK de Android con React parece injusto cuando te das cuenta de que estás comparando un kit de herramientas de desarrollo de software con una biblioteca de código abierto de Javascript, ambos realizan las mismas tareas, pero lo hacen de manera diferente.
Pongámoslo de esta manera, el SDK de Android es, literalmente, un kit de desarrollo de software lleno de herramientas necesarias para crear una aplicación móvil de Android. Mientras tanto, React es simplemente una biblioteca de JavaScript.
Para ser justos, React resulta ser extremadamente útil cuando desarrolla una aplicación, ya que le ayuda a crear interfaces de usuario, permitiéndole diseñar vistas en cada página en diferentes etapas de su aplicación.
Sin embargo, cuando se pone contra Android SDK, React no es realmente el competidor más fuerte. Sí, ambos pueden usarse para desarrollar y para la aplicación de Android, pero no en el mismo nivel ... Y ahí es cuando entra React Native.
React Native es bastante similar a ReactJS, con la única diferencia que una es una biblioteca de código abierto, y la otra es en realidad un marco. Por lo tanto, para continuar nuestro debate, nos centraremos principalmente en React Native.
##Lo que Android SDK puede (y no puede) hacer
Como dijimos anteriormente, el SDK de Android es básicamente un conjunto de herramientas que proporciona a los desarrolladores todo lo que puedan necesitar para crear una aplicación que funcione en plataformas Android.
Hablaremos de lo que este kit de herramientas incluye en un minuto, pero por ahora, debes saber que cada vez que Google presenta una nueva versión de Android (Lollipop, KitKat, etc.) también lanzan una nueva versión de Android SDK. Es decir, cada nueva versión de este sistema móvil viene con su propio kit de herramientas para desarrolladores.
**¿Por qué hace esto Google?** Simple, para que los ingenieros y desarrolladores puedan continuar creando aplicaciones móviles que presenten todas las funciones más recientes. En pocas palabras, hacen esto para mantener a USTED y su código actualizados.
Ahora, si se está preguntando si este kit de herramientas es compatible con su plataforma de desarrollo actual (o computadora, para ponerlo de una manera menos sofisticada), sí lo es. Este kit de herramientas y todo lo que viene con él funciona en todas las plataformas, incluyendo Windows, Mac OS e incluso Linux.
Analicemos con más detalle todas las características y características del SDK de Android y cómo puede ayudarlo a crear y desarrollar una aplicación móvil realmente increíble.
###¿Qué incluye el SDK de Android?
Como dijimos anteriormente, este kit de herramientas viene con todo lo que pueda necesitar para crear una aplicación móvil que funcione con Android, como:
1. Códigos fuente de muestra
2. Bibliotecas
3. Un emulador
4. Documentación sobre las API de Android.
5. Depurador
6. Y tutoriales gratuitos para armar tu aplicación móvil.
Vale la pena mencionar que este kit de herramientas funciona bastante bien por sí solo, sin embargo, se recomienda integrarlo con un entorno de desarrollo y complementos (por supuesto, Android) para mejorar la experiencia de desarrollo.
Entre los beneficios del SDK de Android podemos encontrar los siguientes:
1. Es gratis. Google distribuye este kit de herramientas básicamente a cualquier persona que vaya al sitio web del desarrollador de la aplicación de Android y lo descargue directamente de la fuente oficial.
2. Es código abierto. Este punto es sumamente importante, ya que permite a los desarrolladores de software e ingenieros compartir tecnologías útiles, lo que permite a otros personalizar aún más y hacer que su experiencia de desarrollo sea aún más fácil.
3. Es fácil de manejar. Aunque es cierto que necesita cierto nivel de experiencia en programación de computadoras para administrar todas las funciones incluidas en el SDK, todavía es una herramienta bastante fácil de manejar. No es demasiado complicado, no es demasiado "elegante" para utilizarse.
##La verdad sobre React Native
Ahora que hemos hablado sobre el SDK de Android, hablemos un poco sobre [React Native](https://www.rootstack.com/es/tecnologia/react-native). En primer lugar, tenemos un informe completo sobre esta tecnología, que aborda temas como qué es exactamente esto, cómo funciona y los beneficios que experimentará. Realmente recomendamos leerlo y entenderlo antes de continuar esta lectura.
Lo mismo ocurre con [ReactJS](https://www.rootstack.com/es/tecnologia/react), también tenemos un informe completo sobre esa tecnología en particular que puede consultar si lo desea, solo para hacer seguro que eres completamente consciente de las diferencias entre React y React Native.
Dicho esto, React Native es un Framework, específicamente un framework de JavaScript que te permite crear aplicaciones nativas reales que funcionan perfectamente en Android (o cualquier sistema móvil en realidad)
Ten en cuenta que una aplicación nativa es una que está específicamente diseñada para ser utilizada en una plataforma en particular, que en este caso es Android. Lo que significa que puede crear aplicaciones originales y nativas que funcionarán tan bien como si las estuviera creando con Android SDK.
##¿Qué incluye React Native?
Debido a que React Native no es un conjunto de herramientas, sino un marco que funciona con JavaScript, por lo tanto, tendrá acceso a este tipo de lenguaje de programación, bloques de construcción nativos y todas las demás funciones que le permiten, como desarrollador, codificar Tu aplicación de una manera mucho más fácil.
Sin embargo, el valor real de React Native no radica en lo que incluye o no, ya que no es un kit de herramientas. Más bien, depende de lo que pueda hacer con él y de cómo implementarlo en su proceso de desarrollo de software.
Entre los beneficios de React Native podemos enfocarnos en los tres principales siguientes:
1. Crear una aplicación nativa. A diferencia de trabajar con otros marcos, con React Native, en realidad estás desarrollando una aplicación móvil legítima que es exactamente igual a cualquier otra aplicación hecha con un SDK.
2. Tener acceso a todos los beneficios del desarrollo web. Lo bueno de React Native es que es extremadamente similar a ReactJS, lo que significa que aún obtienes todos los beneficios y el poder de trabajar con React, pero para aplicaciones móviles.
3. Crea aplicaciones que funcionen tanto en Android como en iOS. Quizás lo mejor de React Native es que realmente puedes crear aplicaciones para cualquiera de estos dos sistemas, y funcionarán igual de bien.
##¿Entonces cual es mejor?
Para resumir nuestro pequeño, pero muy entretenido debate, cuál es la mejor aplicación para crear una aplicación móvil para Android dependerá directamente de dos cosas: lo que desea crear y su nivel de experiencia.
Tanto Android SDK como React Native son relativamente fáciles de usar, sin embargo, es cierto que el primero requiere cierto nivel de experiencia en programación de computadoras para acceder verdaderamente a todas las características y beneficios que este kit de herramientas tiene para ofrecerle.
Además, si desea crear una aplicación que pueda ejecutarse o iOS, React podría ser su ganador, ya que permite a los desarrolladores crear aplicaciones móviles para cualquiera de estas dos plataformas.
Aparte de eso, se enfrenta a dos de las herramientas de desarrollo de software para dispositivos móviles más sólidas que existen, es solo cuestión de elegir cuál se adapta mejor a SU proyecto e ir a por él.