Intraweb HTML5 app, git y base de datos – ¿se mezclan?

Estoy en un poco de terreno nuevo aquí y tal vez esto es un repost (si es así lo siento).

Necesito algunas indicaciones sobre la dirección a seguir. He hecho anteriormente una aplicación para Android y me encontré usando más tiempo de dev en la interfaz de usuario. Quiero diseñar la interfaz de usuario con HTML5 y distribuirlo a Android e iOS .

Investigué mucho sobre nativos e híbridos para concentrar mi esfuerzo. Vino a través de un montón de plataformas como PhoneGap, Appcelerator, Trigger.io y AppGyver (encontró los últimos dos atractivos). Pero ahora estoy confundido …

Básicamente, quiero hacer un entorno intraweb que permite a un equipo para desarrollar HTML5 contenido que alimenta los datos en una base de datos, manteniendo el desarrollo y la base de datos bajo estricto control de versiones.

Pensando en una configuración

  • Servidor local que aloja el código HTML5 de origen y la base de datos (s) – git upstream.
  • El desarrollo es hecho por git en las computadoras de escritorio
  • El móvil / tabletas extrae la fuente (origen git) y crea instancias que solicitan las entradas de datos a upstream (y por lo tanto todos los otros controles remotos)
  • Múltiples unidades pueden trabajar en la misma instancia y contribuir a extraer los datos de solicitud al origen. Ellos ven los cambios de inmediato (la lógica debe asegurar ningún conflicto – pensando en hacer ping a los dispositivos)

No hay necesidad de distribuir nueva aplicación a través de tiendas de aplicaciones si se agrega un nuevo html5 (ningún comportamiento cambiado, por lo que no se violó ningún manifiesto).

Actualmente estoy considerando la posibilidad de hacer una aplicación nativa que tiene una vista web y realiza comandos git, pero estoy temiendo que voy a quedar atascado (no tengo experiencia de programación de iOS). ¿Es esto exceso?

No estoy en absoluto en contra de los proveedores híbridos – sólo me pregunto si me dejarán lograr lo que apunto.

Si alguien tiene algunos enlaces a tutoriales en línea sobre cómo archivar una tarea similar o puede proporcionar útiles consejos / punteros, entonces yo lo agradecería.

Voy a upvote todas las respuestas que me ayudó y establecer la solución para el que me ayudó más.

He trabajado algunos años con la tecnología web empaquetado en aplicaciones nativas. Tienes que considerar dos cosas.

En primer lugar, su aplicación será simplemente una página HTML simple o tendrá interfaces de usuario de lujo, interacción de interfaz de usuario muy dinámica y animaciones? Si es complejo y muy dinámico, se adhieren a las aplicaciones nativas. La principal ventaja de ellos es el rendimiento, es muy superior a las aplicaciones de WebView en HTML5.

En segundo lugar, el WebView tiene muchas restricciones de uso. No es como el navegador Chrome que usas en tu teléfono / tablet. Operaciones demasiado sofisticadas probablemente tendrán problemas con WebView, y el tiempo extra que has pasado construyendo UIs pasará trabajando alrededor de problemas muy molestos.

Otra preocupación, el uso de git incluido en su aplicación será difícil de integrar con el WebView debido a sus restricciones de sandbox. Seguramente no recomendaría ir por ese camino. Si no utiliza el hardware del teléfono nativo, como la cámara y otros, puede mostrar en WebView un sitio HTML5 remoto. Es una opción mucho más simple y segura.

Otra cosa a tener en cuenta. Estas bibliotecas JavaScript de embalaje tienen objetivos diferentes. El Cordova (PhoneGap extiende esto con algunas funciones de Adobe) tiene como objetivo poner a disposición de su código JS las características del teléfono nativo, no tiene nada que ver con la interfaz de usuario. El Ionic que se mencionó se centra en el desarrollo de la interfaz de usuario. Hay otras bibliotecas que se centran en la interfaz de usuario y se utilizan con PhoneGap / Córdoba. Mi sugerencia para las interfaces de usuario sofisticadas y dinámicas que utilizan tecnología basada en HTML5 es el marco Sencha Touch, que se incluye ahora en ExtJS 6. A pesar de que se pagan marco y requieren la programación avanzada de Javascript. La curva de aprendizaje es muy grande.

En conclusión, si su objetivo es un desarrollo más rápido de la interfaz de usuario y las aplicaciones son simples, puede ir con Cordova y otro marco enfocado en la interfaz de usuario. Pero sugiero olvidar el complicado Git "on-the-fly" actualización de la aplicación. Si su aplicación utiliza muchas características nativas y tiene UIs muy complejas y grandes, se adhiere al nativo debido al rendimiento.

Otra cosa a tener en cuenta, las aplicaciones nativas bien desarrolladas consumen (en la mayoría de los casos) mucho menos ancho de banda de la red y duración de la batería.

Espero que estas informaciones te ayuden =)

Puedo sugerir que busque en Ionic , es una cita:

Potente SDK HTML5 que le ayuda a crear aplicaciones móviles con sensación nativa usando tecnologías web como HTML, CSS y Javascript.

Ionic se centra principalmente en la apariencia y la interacción de la interfaz de usuario de su aplicación. Eso significa que no somos un reemplazo para PhoneGap o su marco de Javascript preferido. En su lugar, Ionic simplemente encaja bien con estos proyectos con el fin de simplificar una gran parte de su aplicación: la parte delantera. Le recomendamos leer ¿Dónde encaja el Marco Iónico? Para obtener una buena comprensión de los objetivos de Ionic.

Ionic actualmente requiere AngularJS para poder trabajar en todo su potencial. Si bien todavía puede utilizar la parte CSS del marco, se perderá poderosas interacciones de interfaz de usuario, gestos, animaciones y otras cosas.

Lo que obtengo de esto es que Ionic se integra con PhoneGap.

No estoy seguro de lo bien que esto ayudará, pero creo que será útil en su búsqueda.

PhoneGap – Es, sin embargo, la suite más completa que le permite aprovechar HTML, CSS y Javascript de una manera que le dará la posibilidad de tener una solución de fuente única y publicar en el paisaje móvil.

Uso de su escenario:

  1. Cree su aplicación en un servidor Web local (Intranet)
  2. Utilice la API de PhoneGap para mejorar el acceso a los datos y la interfaz de usuario.
  3. Publicar en GIT / SVN para el control de versiones
  4. Construir con PhoneGap (Build Service – un servicio en la nube que toma el zip de código fuente y luego elegir su plataforma)
  5. Publicar como privado / público en el dispositivo de destino (IOS, Android, WPhone)

De esta forma, su aplicación HTML5 y su aplicación publicada / empaquetada en los dispositivos elegidos serían idénticos; Y el WebApp y DeviceApp permanecerán sincronizados.

Tutoriales útiles de PhoneGap:

  • Tutorial de PhoneGap 1

  • Tutorial PhoneGap 2

  • ¿Cuál es la equivalencia iOS de Android RelativeLayout / LinearLayout?
  • ¿Cómo crear un enlace para todos los dispositivos móviles que abre google maps con una ruta que empieza en la ubicación actual, destinando un lugar determinado?
  • ¿Qué son los reproductores ffmpeg de código abierto para iOS / Android?
  • Qué superficie utilizar para eglMakeCurrent para el contexto que sólo se convierte en FBOs
  • ¿Cómo configurar / mostrar fuentes de atribución en Firebase Analytics?
  • Método de cifrado para iPhone y Android
  • Desarrollo móvil (Android & iOS) principiante necesita orientación
  • Almacenamiento en caché de datos para aplicaciones móviles de iOS / Android para trabajar con Pagination
  • Enviar notificación a todos los dispositivos conectados a una red Wi-Fi
  • ¿Está bien entender que la actividad es similar a ViewController en iOS?
  • Nativescript y FontAwesome
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.