Aplicación HTML5 Intraweb, git y database: ¿se mezclan?

Estoy en un terreno nuevo aquí y tal vez este es un repository (si es así> lo siento).

Necesito algunos consejos sobre qué dirección tomar. Previamente hice una aplicación para Android y me encontré usando la mayoría del time de desarrollo en la interfaz de usuario. Deseo diseñar la interfaz de usuario con HTML5 y distribuirla entre Android e iOS .

Investigué mucho sobre nativo e híbrido para enfocar mi esfuerzo. Conocí un montón de plataforms como PhoneGap, Appcelerator, Trigger.io y AppGyver (las últimas dos me parecieron atractivas). Pero ahora estoy confundido …

Básicamente, deseo crear un entorno intraweb que permita a un equipo desarrollar contenido HTML5 que alimente datos en una database, manteniendo el desarrollo y la database bajo estricto control de versión.

Pensando en tal configuration

  • Servidor local que aloja el código fuente y la (s) base (es) de origen HTML5: git upstream.
  • El desarrollo se realiza por git en computadoras de escritorio
  • El dispositivo mobile / tabletas extrae la fuente (origen de git) y crea instancias que solicitan la extracción de las inputs de datos en sentido ascendente (y, por lo tanto, en todos los demás controles remotos)
  • Las unidades múltiples pueden trabajar en la misma instancia y contribuir a extraer datos de request al origen. Ven los cambios de inmediato (la lógica debería asegurar que no haya conflictos, pensando en hacer ping a los dispositivos)

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

Actualmente estoy considerando hacer una aplicación nativa que tenga una vista web y realice commands de git, pero temo que me quedaré atascado (no tengo experiencia en progtwigción de iOS). ¿Es esto exagerado?

No estoy en contra de los proveedores híbridos, solo me pregunto si me permitirán alcanzar lo que pretendo.

Si alguien tiene algunos enlaces a tutoriales en línea sobre cómo archivar tareas similares o puede proporcionar consejos útiles, lo agradecería.

Respaldaré todas las respuestas que me ayudaron y estableceré la solución para la que más me ayudó.

Trabajé algunos años con la tecnología web empaquetada en aplicaciones nativas. Tienes que considerar dos cosas.

En primer lugar, su aplicación será solo una simple página HTML o tendrá interfaces de usuario de lujo, interacción con la interfaz de usuario muy dinámica y animaciones. Si es complejo y muy dynamic, quédese con las aplicaciones nativas. La principal ventaja de ellos es el performance, es MUY superior a las aplicaciones empaquetadas de WebView en HTML5.

En segundo lugar, WebView tiene MUCHAS restricciones de uso. No es como el browser Chrome que usa en su teléfono / tableta. Las operaciones demasiado sofisticadas probablemente tendrán problemas con WebView, y el time adicional que ha dedicado a build interfaces de usuario que pasará trabajando en pequeños problemas muy molestos.

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

Otra cosa a tener en count. Estas bibliotecas de JavaScript de embalaje tienen diferentes objectives. El Cordova (PhoneGap amplía esto con algunas funciones con Adobe) tiene como objective poner a disposition de su código JS las características del teléfono nativo, no tiene nada que ver con la interfaz de usuario. El Ionic mencionado 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 / Cordova. Mi sugerencia de UI sofisticadas y dinámicas que utilizan tecnología basada en HTML5 es el marco Sencha Touch, que se incluye ahora en ExtJS 6. Aunque se les paga marco y requieren una progtwigción Javascript avanzada. La curva de aprendizaje es muy grande.

Para concluir, si su objective es un desarrollo de interfaz de usuario más rápido y las aplicaciones son simples, puede ir con Cordova y otro marco de trabajo enfocado en la interfaz de usuario. Pero sugiero olvidar la complicada actualización de la aplicación Git "sobre la marcha". Si su aplicación usa muchas características nativas y tiene UI muy complejas y grandes, cumpla con las nativas debido al performance.

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

Espero que estas informaciones te ayuden =)

Podría sugerir mirar a Ionic , es una cita:

Potente SDK HTML5 que te ayuda a crear aplicaciones mobilees con sentido nativo 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 reemploop para PhoneGap o su marco de JavaScript favorito. En cambio, Ionic simplemente encaja perfectamente con estos proyectos para simplificar una gran parte de tu aplicación: la interfaz. Recomendamos leer ¿Dónde encaja el Marco Iónico? para get una buena comprensión de los objectives de Ionic.

Ionic actualmente requiere AngularJS para trabajar en todo su potencial. Si bien aún puede usar la parte de CSS del marco, se perderá poderosas interacciones de UI, 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 hasta el momento la suite más completa que le permite aprovechar HTML, CSS y Javascript de una manera que le dará la capacidad de tener una única solución de origen y publicar en el entorno mobile.

Usando su escenario:

  1. Crea tu aplicación en el server web local (Intranet)
  2. Utilice la API PhoneGap para mejorar el acceso a los datos y la interfaz de usuario.
  3. Publicar en GIT / SVN para el control de versiones
  4. Comstackr con PhoneGap (service de compilation: un service en la nube que toma el código fuente de un código fuente y luego elige su plataforma)
  5. Publicar como privado / público en el dispositivo objective (IOS, Android, WPhone)

De esta forma, su aplicación HTML5 y su aplicación publicada / empaquetada en los dispositivos que elija serían idénticas; y la aplicación web y DeviceApp permanecerán sincronizadas.

Tutoriales útiles de PhoneGap:

  • Tutorial de PhoneGap 1

  • Tutorial de PhoneGap 2