¿Cuál es el mejor enfoque para desarrollar una aplicación móvil y web? ¿Se debe elegir un marco como MeteorJS o trabajar con React y React Native?

Necesitamos más contexto aquí. ¿Qué tienes ya? ¿Estás desarrollando todo desde cero? ¿Cuáles son sus requisitos de experiencia de usuario (UX)? ¿Quieres soporte fuera de línea en tu aplicación? Etc …

Meteor le dará una pila completa para trabajar, incluido un sistema de plantillas / vista, base de datos, comunicación basada en sockets en tiempo real, un back-end, etc., por lo que si necesita lo que Meteor proporciona, entonces podría ser un buen apto para ti. También puede convertir su sitio web Meteor en una aplicación móvil instalable envolviéndola con Cordova, que supongo que es lo que le gustaría hacer. Sin embargo, una aplicación basada en Cordova (que obtendrá de este enfoque) rara vez es la mejor en términos de UX, animaciones, FPS (cuadros por segundo), etc. debido a que es una tecnología basada en WebView, por lo que eso depende de sus requisitos para decidir.

React Native le dará a su aplicación una interfaz de usuario (UI) nativa, lo que significa que no se basa en un WebView (Cordova). No puede usar los mismos componentes de la interfaz de usuario en una aplicación React que en una aplicación React Native a menos que use React Native para Web que aún no esté listo para la producción.

Dicho esto, puede usar React junto con Meteor fácilmente, luego conectar su aplicación React Native a través de REST o su protocolo basado en socket DDP. No hay un “mejor enfoque” aquí, depende de sus requisitos. A mi modo de ver, puedes:

  1. Cree su producto usando solo Meteor (con React si lo desea, o Angular / Blaze). De esa manera, escribirá una aplicación web receptiva y la envolverá en Cordova para que sea instalable desde App Store / Play Store. Al hacerlo, su aplicación estará disponible en las tiendas de aplicaciones, pero también en su sitio web.
  2. Construya su producto usando Meteor y React Native. Use Meteor como su back-end y para manejar su página web receptiva, pero use React Native para hacer una aplicación separada que [agnósticamente] se conecte a su back-end Meteor.