¿Cómo debo hacer las administraciones de código específicas de la plataforma (SVN) para aplicaciones mobilees híbridas?

Estoy desarrollando aplicaciones mobilees híbridas con PhoneGap y Titanium para plataforms mobilees Android, iOS y Windows. La aplicación es relativamente grande y contiene un código específico de plataforma debido a su naturaleza.

Como ejemplo, suponga que hay un file llamado main.js Si el main.js contiene código, pertenece a las tres plataforms y utiliza comentarios al crear una aplicación para cada plataforma. Cuando estoy comstackndo para Android, comenten el código relacionado con iOS y viceversa.

¿Cómo debo hacer las gestiones de código en SVN?

  • ¿Debo usar twigs SVN separadas para cada sistema operativo?
  • ¿Debería include todo el código en una sola twig y usar comentarios?
  • Otras alternativas?

Tu pregunta es un poco incomoda. Su título habla sobre el uso de SVN, que proporciona administración de código fuente para control de versiones, etc., pero su pregunta se refiere al código específico de la plataforma, que es un poco diferente.

Si se enfoca en el aspecto del event handlingl código específico de la plataforma, tiene algunas maneras de manejarlo en PhoneGap / Cordova. (No puedo hablar en Titanio)

  1. Puede usar fusiones para modificar código automáticamente por plataforma. Vea los documentos aquí (path hacia la parte inferior) – http://cordova.apache.org/docs/en/4.0.0/guide_cli_index.md.html#The%20Command-Line%20Interface

  2. Puede usar el complemento del dispositivo ( http://plugins.cordova.io/#/package/org.apache.cordova.device ) para oler el dispositivo y hacer algo específico por plataforma.

  3. También puede usar ganchos para modificar el código por plataforma. Fusionar es más simple, pero los ganchos te dan más poder.

Actualizar

Directorios de combinación de Phonegap: activos no fusionados

No escriba código networkingundante o comentario y comentario, utilice el complemento de dispositivo cordova y verifique la plataforma del dispositivo y escriba allí si hay algo específico de la plataforma.

ejemplo:

  if ( device.platform == 'android' || device.platform == 'Android' ){ // write here android specific code }