Comparación: React Native vs Native App Development

Publicado: 2021-10-05

¿Podría el marco React Native RoR competir con el desarrollo de aplicaciones nativas ?

En realidad, es una de esas aplicaciones híbridas sobre las que escuchamos tantas opiniones en estos días. Hay muchas herramientas de desarrollo multiplataforma, pero a la que prestamos atención en este texto es el marco React Native RoR. ¿React Native es nativo? Entonces investiguemos el asunto.

A pesar de lo multi opcional que se ha vuelto nuestro mundo ahora, podemos tomar alrededor de 3500 decisiones cada día, y eso ni siquiera es el punto culminante. Este factor opcional múltiple también ha afectado al mundo del desarrollo nativo de iOS (y Android): existen numerosas formas de crear una aplicación. Puede tener su aplicación en diferentes plataformas, puede ser web o móvil, nativa o multiplataforma, todo podría resolverse según sus necesidades y valores. Intentaremos destacar los pros y los contras de cada caso.

Los caminos más conocidos y transitados del desarrollo de aplicaciones son nativos y multiplataforma. El desarrollo de aplicaciones nativas funciona en gran medida para dispositivos móviles y es un tipo oficial de desarrollo para un propósito específico (ya sea iOS o Android), dentro de un IDE específico ( XCode o Android Studio ) y en un lenguaje determinado ( Kotlin / Java para Android, Swift / Objective-C para iOS ).

El segundo tipo de aplicaciones desarrolladas se llama híbrido. ¿Cuál es la diferencia entre el desarrollo multiplataforma (ig React Native) y el desarrollo de aplicaciones nativas? El desarrollo de aplicaciones multiplataforma es un poco diferente al nativo, ya que en la mayoría de los casos incluye un marco de código abierto que mezcla los conceptos de desarrollo web y móvil, y muy a menudo está escrito en Java Script, aunque el resultado final eventualmente sería ser un archivo de aplicación "similar al nativo". La rivalidad "aplicaciones nativas vs aplicaciones híbridas" está llegando a su meridiano en estos días.

Si bien todo está claro con las plataformas y los lenguajes "nativos", las aplicaciones híbridas tienen una clasificación más amplia. Los marcos JS multiplataforma más utilizados son los siguientes:

  • Marco iónico 3
  • Xamarin
  • Córdoba (ex PhoneGap)
  • React Native RoR framework

Hoy en día, ¿por qué elegir aplicaciones híbridas y en qué marco construirlas? ¿Qué elegir: React Native vs Ionic? ¿Xamarin vs React Native? Uno de los marcos más utilizados para el desarrollo de aplicaciones multiplataforma es React Native , pero ¿qué hace que la gente lo use? He intentado investigar el asunto.

Reacciona más rápido.

aplicaciones creadas en react native
[Fuente de la imagen: Facebook React Native]

Apuesto a que has reconocido todos y cada uno de estos iconos. Todos ellos (en el pasado, o incluso actualmente) fueron o están construidos usando React Native. Hablando de eso, la compañía Facebook es básicamente propietaria y promotora activa del desarrollo de aplicaciones React Native. Sin embargo, la propia empresa niega ser una “herramienta para aplicaciones híbridas”. Como afirman en su desembarco oficial,

“Con React Native, no crea una“ aplicación web móvil ”, una“ aplicación HTML5 ”o una“ aplicación híbrida ”. Usted crea una aplicación móvil real que es indistinguible de una aplicación creada con Objective-C o Java. React Native utiliza los mismos componentes básicos de la interfaz de usuario que las aplicaciones regulares de iOS y Android. Simplemente coloque esos bloques de construcción juntos usando JavaScript y React ".

[Fuente: Facebook Github]

Pero, ¿React Native realmente es genial frente al desarrollo de aplicaciones nativas? Bueno, no del todo. En primer lugar, incluso el proceso de creación de aplicaciones es diferente aquí.

¿Cómo crear una aplicación nativa de react? Envuélvelo.

React Native para Android (e iOS) en sí mismo es un cierre sobre la compilación nativa, donde la herramienta JS le permite crear aplicaciones de manera más fácil. Incluso tiene una estructura simplificada: los componentes se parecen a las etiquetas HTML básicas. El código que escribe en React Native es único para cada plataforma móvil, pero hay muchas herramientas universales que se pueden reutilizar y volver a aplicar en iOS o Android. Además, puede tener algunos destinos de compilación, lo que me hace llamar al desarrollo de React Native no solo un marco multiplataforma, sino también un dispositivo multiplataforma. Puede adoptar su aplicación para iOS, al igual que AppleTV y Mac OS.

Las aplicaciones desarrolladas en React Native no requieren un IDE nativo (XCode o Android Studio), aunque puede desarrollar con ellas, ya que Expo - el IDE personalizado de React Native tiene menos funciones de depuración que ofrecer. El marco de trabajo de RN tampoco sofistica la estructura de los componentes; es bastante simple, y si está buscando uno más complejo, debe usar partes nativas de iOS o Android, envueltas en la cubierta JS en la parte superior (que es bastante , muy desordenado) . Algunos componentes están vestidos con un , lo que te ayuda a ponerle varios accesorios.

Algunas ventajas que hacen de React Native una buena oferta para los desarrolladores de aplicaciones multiplataforma de todo el mundo :

1. Requiere menos recursos de su parte.

Al igual que con todas las soluciones multiplataforma, es más barata y un poco más económica; no es necesario contratar dos equipos de desarrollo de aplicaciones separados; puede tener uno en desarrollo, pero el resultado cubriría ambas plataformas si está dispuesto a hacerlo. La cantidad de recursos y costos invertidos en la creación de estas aplicaciones será, por supuesto, significativamente menor de lo que requeriría el desarrollo de la aplicación nativa.

2. Reaccionar El poder nativo está en sus componentes.

Como ya se ha dicho, la lista de componentes aceptables para React Native es enorme. A su vez, estos componentes ciertamente podrían reutilizarse en otros proyectos, si presentan algunas semejanzas comunes.

3. Tiene una comunidad enorme.

Reaccionar comunidad nativa

¿Cuántas personas crees que tiene la comunidad oficial React Native de Facebook? En el momento en que se publicó este artículo, el número superó los 23 000. Lo mejor de ser parte de una gran comunidad es un sentido de cierta inclusión + capacidad para extraer nuevos componentes de ella. Los componentes que crea para sus fines personalizados se pueden distribuir fácilmente dentro del grupo, de modo que puede encontrar una solución lista para usar cuando la necesite, sin tener que volver a escribirla desde cero.

4. Es promovido por ...

empresa de facebook

La corporación de Facebook en su conjunto ya se puede nombrar como "Marca de marca", por lo que todo Facebook, detrás de él, da una ventaja gigante al marco React Native (si incluso tomamos la comparación entre Ionic y React Native). Los usuarios confían en que esta red social es lo suficientemente duradera como para representar los productos que anuncia y en los que afirma confiar.

Un tamaño no sirve para todos.

En la otra esquina del ring, donde se encuentran los desarrolladores de aplicaciones nativas, también hay valores y beneficios que compra cuando paga por "convertirse en nativos".

1. Nativo = más receptivo.

La capacidad de respuesta de una interfaz es algo que los diseñadores de UX anhelan y por lo que hacen decenas de esfuerzos. Cuando se trata de una aplicación nativa, cada pantalla de diseño se diseña y adapta por separado para que las pautas de las tiendas se ajusten al estilo, ya sea plano o material .

2. Idiomas nativos = desarrollado oficialmente por las tiendas Apple y Google.

Native App Store y Google Play aceptan las aplicaciones creadas en los idiomas desarrollados y compatibles con las plataformas. Si sigue las pautas, su escalera a la tienda está lista. Con una aplicación multiplataforma, todavía tiene la posibilidad de aceptar, pero lo más probable es que lo rechacen solo por un poco de interfaz o navegación "webbish".

3. "Need For Speed".

Uno de los principios fundamentales de la Ingeniería de usabilidad es sinónimo de interacciones rápidas: "1.0 segundo es aproximadamente el límite para que el flujo de pensamiento del usuario permanezca ininterrumpido". Mientras que las aplicaciones nativas reaccionan y funcionan lo suficientemente rápido para mantener a los usuarios dentro del ritmo del sistema, los productos híbridos a menudo se retrasan un poco.

4. Nativo = más sofisticado.

aplicaciones nativas = aplicaciones sofisticadas

Las soluciones multiplataforma son ideales cuando busca crear algo que ya existe, con características fuera de la clase "promedio". Cuando se trata de cosas complejas (todos esos algoritmos de IoT, AR / VR y Big Data Mining de moda están en esta lista), las aplicaciones híbridas carecen de habilidades técnicas para realizar lo que desea. Por otro lado, los IDE y los lenguajes nativos tienen perspectivas tecnológicas infinitas: se podrían escribir muchas cosas en ellos.

Elija con cuidado.

Si está buscando una aplicación simple para construir (listas y nada más complejo que eso), React Native es una maravilla. Si se requiere más rendimiento de la aplicación, surgirán procedimientos de desarrollo más perplejos: ya debe cambiar a Swift o Kotlin, y luego envolverlo todo en la brillante portada de Java Script; y esto no parece una cosa fácil de hacer. Por lo tanto, para cosas como transmisión de video o audio, enrutamiento, chats en tiempo real, edición de fotos, etc., será mejor que comience con el desarrollo nativo desde el principio, evitando estas desventajas.

Además, React Native es un marco de JavaScript completo, y todo el código podría incluso escribirse en el editor de texto como TextMate o Notepad ++. Aunque cuando se trata de construir un proyecto, necesitas desesperadamente un IDE en particular, o al menos un emulador.

Hay algunos ejemplos de aplicaciones decentes basadas en RN:

  • Aplicaciones de Facebook, obviamente
  • Aplicaciones móviles de Airbnb (iOS y Android híbridos)
  • Aplicación móvil de Walmart (ya que tenía varias vistas web integradas con una implementación inferior a la esperada)

Puede ver la lista completa de productos basados ​​en RN en su sitio web oficial, y nuevamente RN gana el concurso de marco React Native vs Xamarin aquí.

Por el bien de la perspectiva.

Según las estadísticas de Flurry, "el consumidor estadounidense de hoy gasta un promedio de 2 horas y 38 minutos por día en teléfonos inteligentes y tabletas. El 80% de ese tiempo (2 horas y 7 minutos) se dedica a aplicaciones". Su producto tiene que encajar de alguna manera en esas 2 horas diarias. Todos los puntos considerados, el marco React Native RoR sería una solución útil para un pequeño proyecto a corto plazo; las revisiones demuestran que es rápido, furioso y nuevo, o cuando quieres "probar el concepto". No obstante, a largo plazo, o al planificar una innovación técnica para poner en marcha, no puede confiar en una opción ya preparada. Necesita que se desarrolle desde cero, necesita que se personalice, por lo que necesita que sea un desarrollo de aplicaciones nativas.

Escrito por Artem Chervichnik y Elina Bessarabova .