Pues verás, eso de que las soluciones nativas son lo mejor... en teoría sí, en la práctica no, ni de putísima coña. Haces bien en tirar de híbridas porque hoy en día tenemos herramientas de puta madre que te harán apps con un rendimiento cercano al nativo, y te llevarán mucho menos tiempo (además de que el mantenimiento del código, más de lo mismo).
Por un lado tienes React Native, mucha gente te la va a recomendar, y ciertamente está genial porque tira sólo de componentes nativos, por lo que la app irá como un tiro. Contrapartida: no te deja tanta manga ancha a la hora de personalizar las cosas, y React tiende a ser coñazo hasta para cosas simples (opinión personal).
La otra opción es Ionic 2, que sacó su versión de producción hace poco. Yo estoy desarrollando una app en éste y la verdad que está genial: tiras de código web de toda la vida, pudiendo usar ES6/Typescript, y con Angular 2, que a mí personalmente me parece un framework bestial. Contrapartida: al menos en mi opinión, Angular 2 no es demasiado fácil de aprender, y algunas cosas de Ionic son más trucos que te vas aprendiendo que otra cosa. Pero vamos, el rendimiento está de puta madre aún sin optimizar una mierda, con más spaghetti que en la Tagliatella y sin activar el modo de producción.
Por otro lado, están Xamarin, Nativescript y cosas así... todo es buscar, herramientas para hacer apps híbridas hay a patadas.
Luego, lo de usar JSON para la comunicación, genial. Es lo lógico. Ya ni dios usa XML a día de hoy o plain-text. Pero te diría que echases un vistazo al tema de la programación reactiva, RxJs y uso de websockets, ya que quizá para alguna cosita de la app te sirva. Por ejemplo, hacer un chat en un setInterval() que mande peticiones http/https al backend, es de mataos, completamente. Con RxJs, te suscribes a un evento, y básicamente será como si estuvieras capturando un evento en el backend o frontend y lo propagaras en tiempo real hacia el otro. Todo ventajas. Hay que saber salir de las típicas request de toda la vida y echarle un vistazo a estas cosas, que quizá te vengan bien dependiendo de los requerimientos de la aplicación.
Como última recomendación, permítete recomendarte que si tiras de Javascript (tanto en RN o Ionic 2 es lo que te tocará), revises un poco Ecmascript 6 / Typescript, ya que mejorarán mucho tu código pese a que luego éste se traspase a versiones más viejas a través de Babel o el transpiler de TS.
También, si usas Ionic 2 y apuntas a SDKs de Android menores a la 4.4.4, échale un ojo a Crosswalk, te hará falta.
Saludetis y suerte. Sólo una pregunta, ¿usas Python+Django porque te gusta, o por alguna razón en particular?