samsung para mucha mejor mas dure descargar consume celular bateria app aplicaciones aplicacion ahorro ahorrar ahorrador cordova reactjs ionic-framework

cordova - mucha - Elegir una pila de tecnología para la aplicación Desktop+Mobile



mejor aplicacion para ahorrar bateria android 2018 (1)

React Native

aprende una vez, escribe en cualquier lugar.

Esto es realmente aplicaciones nativas, por lo que generalmente tienen un mejor rendimiento que las aplicaciones no nativas. Para crear aplicaciones Reaccionar nativas, aún necesita conocer la plataforma objetivo (Android / iOS) y aún necesita escribir una aplicación por plataforma, pero puede usar la misma arquitectura de aplicación (React / Flux) en ambas plataformas.

Como está escrito en JS (como React), aún puede compartir código entre las plataformas, pero algún código siempre tendrá que ser diferente, porque el ReactElement que utiliza en su función de render es realmente específico de la plataforma. Entonces, básicamente, puedes compartir toda la lógica de administración de tu estado, pero tendrás que proporcionar una función de renderizado personalizada para cada plataforma a la que apuntas.

Esta es una buena opción si necesita actuaciones buenas / nativas, tiene tiempo para aprender plataformas iOS y Android y mantener 2 aplicaciones diferentes en paralelo.

Actualmente React Native para Android no se lanzó, pero probablemente lo hará en agosto de 2015. Es una buena alternativa a las aplicaciones nativas habituales y ofrece algunas ventajas, como la recarga en caliente, pero aún no es una tecnología muy madura y es un poco arriesgado, pero es muy prometedor a largo plazo y ha sido probado en batalla por Facebook y la comunidad.

También puedes echarle un vistazo a ComponentKit , también de Facebook, que de alguna manera es React for ObjectiveC, pero creo que la mayoría de los nuevos proyectos de Facebook tenderán a usar React Native sobre ComponentKit.

Cordova / WebView aplicaciones

escribe una vez, corre a cualquier lugar

Las aplicaciones Cordova / Phonegap no son aplicaciones nativas. Son conchas nativas alrededor de las aplicaciones de WebView. Una vista web es un navegador que se ejecuta dentro de una aplicación nativa. Estas aplicaciones están empaquetadas en un shell nativo para estar disponibles para las tiendas de aplicaciones de Google / Apple como las otras aplicaciones nativas.

La ventaja es que solo es HTML, JS y CSS. Significa que si ya tiene un sitio web móvil (o un sitio web de escritorio receptivo que maneje tanto pantallas de escritorio como pantallas móviles), puede empaquetarlo fácilmente como una aplicación Cordova y ponerlo a disposición a través de las tiendas de aplicaciones.

¡Entonces escribes una vez un sitio web móvil y también obtienes una aplicación para iOS y Android!

Esta es una buena opción si solo desea desempeños todavía aceptables, quiere que su aplicación esté disponible en la mayoría de las plataformas lo antes posible y que no tenga tiempo / recursos para desarrollar múltiples aplicaciones en paralelo.

También ayuda si ya conoce el desarrollo web :) Y todavía puede usar fácilmente las características de la aplicación nativa (como la cámara) con los complementos de Cordova.

AngularJS (Ionic, Famo.us) vs ReactJS (Reapp, TouchstoneJS)

Ionic y Famo.us son marcos móviles utilizados principalmente en la parte superior de AngularJS

Reapp y TouchstoneJS son frameworks móviles en la parte superior de ReactJS

Estos no están hechos para aplicaciones nativas (o React Native), sino para sitios web móviles o aplicaciones de vista web. Elige el que quieras, no conozco ninguno en particular. El uso de un marco no es un requisito para las aplicaciones móviles / de vistas web, pero es probable que necesite algunas utilidades para manejar eventos táctiles porque el evento onclick menudo no es suficiente para una buena experiencia móvil.

No entraré a discutir sobre AngularJs vs ReactJs, pero he experimentado ambos y prefiero mucho ReactJS (y no estoy solo). ReactJS, cuando se usa de la manera correcta, es más funcional, elegante y fácil de razonar. No creo que AngularJs permita la recarga en caliente elegante y el viaje en el tiempo de Bret Victor porque requiere una arquitectura diferente que permite ReactJS.

Sin embargo, AngularJS todavía permite construir cosas, y Famo.us/Ionic es probablemente más maduro que los frameworks móviles ReactJS existentes.

Backend

Le aconsejaría que use NodeJS porque le permite construir aplicaciones Isomorphic / Universal, lo que significa que puede compartir código tanto en el cliente / servidor, incluidos los componentes React, para que pueda renderizar tanto en el cliente como en el servidor. Esto significa que en lugar de una página html vacía, puede servir directamente el contenido para que esté disponible más rápido, es más fácil de indexar para los motores de búsqueda y también funciona para los navegadores js-disabled.

Esto es extraño porque ni siquiera me gusta el Javascript (me gustan los idiomas como Scala, Haskell o Clojure). Si este es tu caso, aún puedes explorar otras opciones para aplicaciones isomórficas, como:

  • ¿Tiene la mayor parte de su backend en el lenguaje X (o microservicios?), Y solo un pequeño servicio NodeJS para la representación del lado del servidor.
  • Usando algo como Nashorn para ejecutar JS dentro de la JVM
  • Utilizando un lenguaje de fondo que se compila en Javascript (como ScalaJS) y puede ejecutarse tanto en el cliente como en el servidor.

Sin embargo, las últimas 2 opciones todavía son un poco inmaduras.

Mi experiencia

Somos una pequeña empresa (3 desarrolladores) sin nadie que tenga experiencia nativa de iOS / Android, y queríamos un resultado rápido.

Inicialmente teníamos un sitio web de escritorio complejo ReactJS (SPA). Lo hicimos receptivo con mediaqueries de CSS. Agregamos manejadores de eventos táctiles personalizados para una mejor experiencia móvil. Así que, al final, tuvimos un sitio web compatible con dispositivos móviles / tabletas / computadoras de escritorio.

Tomamos esta misma aplicación y la empaquetamos en Córdoba, por lo que ahora también está disponible en las tiendas de aplicaciones. Funciona muy bien y las actuaciones son muy aceptables. Puede esperar las mismas actuaciones con su sitio web móvil / aplicación cordova (para Android, consulte el proyecto Crosswalk )

Terminamos con un único SPA sensible a ReactJS de HTML / JS / CSS para mantener (¡aún así trabajamos esos SPA!).

Definitivamente volveré a tomar las mismas decisiones, incluso si en el futuro pudiéramos usar React Native si nuestro equipo crece.

Edición 2016 : por ahora, si tuviera que elegir qué usar, usaré Redux y usaré ReactJS para sitios web de escritorio y móviles, y ReactNative para dispositivos móviles nativos. Redux es muy agradable, e incluso si no se puede compartir todo el código entre las aplicaciones móviles, Facebook informa que la mayor parte puede ser fácil. Tenga en cuenta que es muy importante tener una separación clara entre los componentes de presentación y de contenedor, para que pueda reutilizar los componentes de su contenedor en todas sus aplicaciones y simplemente proporcionar componentes de presentación personalizados.

También tenga en cuenta que es posible agregar vistas web dentro de una aplicación nativa de reacción, por lo que es posible migrar progresivamente una aplicación web móvil a una aplicación nativa (por ejemplo, primero se podría intentar migrar los menús de navegación y el diseño general). Editar: también es interesante, el proyecto Ace tiene como objetivo agregar algunos diseños nativos dentro de una aplicación de Cordova.

edición 2017 : para todos los desarrolladores de aplicaciones móviles, definitivamente recomendarán probar Expo (React Native). Obtienes la velocidad del desarrollador de Cordova sin tener que saber nada sobre las aplicaciones nativas. Si ya conoces un poco de React, puedes comenzar en 1 minuto.

También recomiendo usar GraphQL con Apollo, tomará más tiempo para aprender, pero es una muy buena opción para el mantenimiento a largo plazo del proyecto.

Actualmente, estoy buscando información en la web con el objetivo de crear una versión web y móvil de un clásico juego de mesa.

La idea es tener todas las características y el juego en la versión de escritorio, y una aplicación móvil nativa simplificada que permita a los usuarios jugar y cambiar algunas configuraciones.

Ahora estoy acostumbrado a crear aplicaciones web para computadoras de escritorio, pero nunca he tocado nada como Cordova / Ionic.

También me gustaría añadir que tengo la intención de poner la aplicación en producción algún día.

Tengo muchas preguntas

  • ¿Qué usarías tiene una tecnología del lado del servidor? (Estoy mirando hacia Node.js, ¿en consejo a favor o en contra?
  • ¿Cómo se relacionan Cordova / Ionic / React native y / u otros con mi aplicación de escritorio? ¿Están separados proyectos? ¿Alguna forma de reutilizar trozos de código? (CSS, JS)?
  • ¿Cuál de las plataformas anteriores usaría personalmente y por qué?

Intento reunir la mayor cantidad de información posible de cualquier persona que haya trabajado con alguna de las tecnologías mencionadas anteriormente, así que siéntase libre de responder solo partes de esta publicación para que pueda compilar todo.

Muchas gracias por tu tiempo y ayuda