Xamarin, NativeScript de Telerik, Corona SDK y una miríada de otros marcos de desarrollo cruzado se publican todo el tiempo. ¿No es mejor ser nativo de inmediato en lugar de agregar una capa de abstracción entre el desarrollador y el idioma de destino?

Todos los marcos mencionados anteriormente son muy diferentes en la forma en que funcionan y los objetivos que intentan alcanzar. Dependiendo de sus necesidades y habilidades, puede elegir cualquiera de ellos.

Los marcos basados ​​en PhoneGap como Ionic Framework, por ejemplo, están utilizando HTML / CSS y JavaScript para comprimir una página web en un dispositivo móvil. Hay dos problemas con esto: la UX no es nativa (porque PhoneGap está utilizando un componente del navegador para representar la IU). Por lo tanto, estas aplicaciones basadas en PhoneGap no se recomiendan para aplicaciones que serán utilizadas por muchos clientes. Son más adecuados para aplicaciones internas.

También hay otro problema (mayor en mi humilde opinión) con PhoneGap. Y esta es la complejidad de la aplicación para lograr el resultado final (la última milla). Esto se debe al hecho de que las páginas web no están diseñadas para funcionar en dispositivos móviles y hay toneladas de fallas que debe superar. Sí, está reutilizando sus habilidades web y HTML, pero al final pasó tanto tiempo ajustando la aplicación que el retorno de la inversión es difícil de alcanzar.

Hay una nueva clase de marcos disponibles en estos días (finales de 2015). Frameworks que están DISEÑADOS para ser móviles primero y para usar las capacidades nativas de los dispositivos. React Native (Facebook), NativeScript y Xamarin son excelentes ejemplos de tales marcos. Cuando los usas, obtienes de una manera bastante más simple los resultados finales y el resultado final es en realidad una verdadera aplicación nativa que se ejecuta sin problemas en los dispositivos móviles.

Una ventaja de NativeScript sobre ReactNative y Xamarin es que también puede usar las API nativas completas de la plataforma subyacente sin la necesidad de escribir código Java u ObjC. Todo se hace mediante JavaScript o TypeScript.

Definitivamente hay un ROI adjunto cuando usas esa nueva clase de frameworks y es por eso que mucha gente ahora se está convirtiendo a ellos: son la evolución de los frameworks basados ​​en PhoneGap.

Entonces, en resumen, diría que: SÍ, si apuesta por estos nuevos marcos, es probable que logre sus resultados mucho más rápido y con mucha menos inversión que haciendo un desarrollo nativo puro.

Para comenzar, puede ver la aplicación NativeScript Framework NativeScript Kitchen Sink para iOS y Android. Instálelo directamente en su dispositivo para experimentar la IU nativa usando JavaScript solamente.

Espero que este resumen te ayude.

Divulgación completa: trabajo como gerente de producto para NativeScript.

Entiendo por qué las empresas eligen ser nativas puras.
Sí, hay un caso para el desarrollo Cross Platform Native (no híbrido), como Codename One ( http://www.codenameone.com ).
Codename One permite a los desarrolladores escribir una aplicación móvil nativa para iOS, Android, BB y Windows utilizando el lenguaje Java. Es una plataforma de escritura una vez que se implementa en cualquier lugar, por lo que no hay varias versiones del código. El objetivo es una fuente / binaria nativa y, por lo tanto, no tiene que eliminar el rendimiento.

Codename One no tiene limitación (en teoría) ya que los desarrolladores siempre pueden llamar al código nativo si lo necesitan.

Puedo verlo usado para cualquier tipo de aplicación. Si la empresa tiene limitaciones de recursos y tiene un desarrollador Java disponible, CN1 es una buena solución para ellos.
Además, no hay necesidad de usar un MAC.

(Divulgación: estoy afiliado a la empresa)

Sí. por favor hazte nativo. No haga ninguna de las cosas híbridas a menos que trabaje en aplicaciones internas o B2B

Estos marcos intermedios / híbridos lo ayudan rápidamente con el primer 50% de su aplicación, pero el próximo 30% será una rutina y el último 20% imposible. Estos marcos nunca están completamente actualizados con las diferentes plataformas, y tienen que ir por el denominador común con respecto a los estándares técnicos y de interfaz de usuario. Además de eso, los usuarios de dispositivos móviles esperan excelentes aplicaciones que son extremadamente fáciles de usar, por lo que su aplicación correcta los decepcionará y nunca los ganará si tiene competencia