Pues ya tengo un panorama general mas claro gracias a sus comentarios y lo que he leído; y según lo que he entendido lo resumo aquí para los que les interese.
1- Hay dos opciones: apps nativas y apps híbridas.
2- Las apps nativas es lo mejor en función del desempeño de la app, son más rápidas, hay mejor integración con las funciones del teléfono, pero son más difíciles por el tiempo de desarrollo porque hay que programar para dos plataformas de forma independiente. Las apps nativas se desarrollan en java en el caso de Android, y en objective-c o swift en el caso de iOS.
3- Las apps híbridas se desarrollan con una combinación de html, css y javascript; es como hacer un sitio web, y básicamente corren localmente en una ventana de navegador del dispositivo, pero en apariencia lucen como cualquier app nativa, y en la mayoría de los casos se desempeñan igual. Las app híbridas se compilan por separado para Android e iOS, utilizando un framework llamado Cordova.
4- Actualmente casi cualquier app se puede desarrollar de forma híbrida. Eso debido a la mejora de los web browsers y a los plugins de Cordova, que permiten usar en la app cualquier función nativa del dispositivo, como gps, notificaciones push, cámara, etc.
5- A excepción de apps que requieran un uso intensivo de cpu/gpu como juegos por ejemplo, el resto de aplicaciones se pueden desarrollar de forma híbrida.
6- Al día de hoy lo que está de moda para desarrollar aplicaciones híbridas es usar un SDK llamado Ionic. Parece que todos están usando Ionic.
7- Ionic hace más fácil el desarrollo de apps porque además de usar Cordova para la compilación usa Angular para la programación y tiene su propio UI framework, con una extensa variedad de elementos listos para usar como botones, barras, tabs, menús, forms, etc, que de otra forma tendríamos que crearlos manualmente con html, css y javascript. Se podría usar en su lugar jQuery mobile, pero al parecer se considera muy desfasado y no se está usando mucho.
8- Toda la interfaz original de Ionic es por línea de comandos, pero ahora tienen Ionic Lab, un software que incluye todo lo que necesitas para crear, ver, probar, publicar tu app desde OSX, Windows y Linux, y también tienen una herramienta web visual con la cual crear el prototipo de tu app, agregando todos los elementos visuales, páginas, navegación y hasta hay una galería de iconos que se pueden integrar fácilmente.
9- Aun si no usamos Ionic Lab las aplicaciones desarrolladas con Ionic se pueden previsualizar localmente en Google Chrome, en un simulador de iOS, en un simulador de Android, en el dispositivo, y hasta tienen una app en la tienda que mediante una cuenta se puede subir nuestra app y luego correrla dentro de esa aplicación, de esa manera se puede compartir con muchas personas y diferentes dispositivos para hacer las pruebas necesarias antes de publicarla en AppStore o Google Play.
10- Otro servicio web de Ionic es que mediante un dashboard podemos enviar notificaciones push a los dispositivos.
11- Finalmente he encontrado dos buenos libros de Ionic que me han gustado: Ionic Cookbook y Ionic in Action. El primero es para los que tienen conocimientos de Angular y avanzan rápido. El segundo explica en detalle cada pequeña cosa, cada concepto, cada línea de código.
Sitio oficial de Ionic:
http://ionicframework.com/Ionic Creator:
https://ionic.io/products/creatorIonic View:
http://view.ionic.io/Ionic Lab:
http://lab.ionic.io/Ionic CSS Components:
http://ionicframework.com/docs/components/