¿Mejores prácticas de aplicaciones híbridas?

Ya tengo un prototipo en ejecución de la creación de mi aplicación iOS con Apache Cordova, y estoy planeando usar la misma base de código para Android.

¿Debo bifurcar el repository de iOS y comenzar a personalizar Android?

o

¿Debo mantener los cambios relacionados con Android como una twig separada del mismo repository?

¿Cuáles son algunas de las mejores prácticas que se siguen y por qué?

Si desea volver a utilizar parte de la base de código, puede agregar un directory para el código específico de Android en su twig master .

Si prefieres tener componentes, puedes poner la base de código común en su propio repository, crear una biblioteca (por ejemplo, un package maven que publiques en un repository maven interno), y tener un repository de iOS y un repository de Android, ambos harían reference a esta biblioteca.

Sin embargo, a less que tenga una base de código muy grande (o a less que no planee hacer modificaciones en esta base de código común), no recomendaría el enfoque de biblioteca, ya que puede ser difícil agregar y probar un parche menor en la base de código común.

En cuanto a los enfoques que propusiste:

  • un tenedor y una twig separada son más o less lo mismo de todos modos (en lugar de tener una twig android , tendrías un branch fork/master )
  • Con las twigs de android y iOS , cambiar la base de código común requeriría una fusión adicional que no necesitaría con una sola sucursal. Y tiene el riesgo de una desynchronization de esta base de código común entre sus twigs si no tiene un flujo de trabajo estricto