Vamos a empezar con los basicos.
Un sitio móvil es un sitio web al que se accede a través del navegador web del teléfono. Las páginas HTML se sirven desde un servidor web (y la interfaz de usuario está optimizada para el diseño del teléfono).
Una aplicación nativa (a menudo referido como "aplicación") es esencialmente una aplicación ejecutable que se descarga en el teléfono. Para iPhone, están escritos en Objective-C. Para Android están escritos en Java. Para Windows Mobile están escritos en C#, etc.
Aquí está la mala noticia que se enfrentan:
-Para para su aplicación para el lanzamiento de la "pantalla inicial" del iPhone debe ser compilado usando Objetivo C. Lo mismo con Android/Java.
-Con el fin de acceder a la cámara, que necesita ser compilado usando Objective C (o Java para Android).
Así que aquí hay algunas buenas noticias para usted:
-Se puede escribir fácilmente su aplicación nativa para ser un front-end puramente interfaz de usuario y llame a su código del lado del servidor existente utilizando un modelo API REST para la lógica de negocio. Solo tiene que exponer la funcionalidad que necesita para exponer a la aplicación. Así que esa es 1 manera de reutilizar la base de código existente y hacer la aplicación más simple. Hay buenos marcos de Objective C como RESTKit que hacen que esto sea bastante fácil.
-Podrías hacer que su aplicación realmente cursi y, esencialmente, lo convierten en un navegador web a su sitio, pero eso no puede ser aprobada por Apple si no personaliza para iPhone un poco. Y será una experiencia pobre para los usuarios de iPhone que esperan que una aplicación funcione como una aplicación. No recomendaría esto.
-Si planea lanzar en múltiples plataformas, o realmente no desea tener que mantener un proyecto Objective C (y proyecto Java en el futuro), podría usar algo como PhoneGap, Appcelerator Titanium o Sencha Touch . Estas son envolturas que tomarán una aplicación escrita en tecnologías web (HTML 5) y las compilarán en aplicaciones nativas. Estas aplicaciones HTML 5 pueden acceder a la cámara, etc. Sus desarrolladores actuales no tienen que aprender Objective-C y pueden usar sus habilidades de HTML/JavaScript que ya tienen. Hay muchas ventajas en estas tecnologías. La desventaja es que su aplicación no se verá ni se sentirá tan bien como una aplicación nativa o usará cualquiera de las características "geniales" del teléfono. Se comportará como un buen sitio web móvil. Si tiene una buena interfaz de usuario/gente de diseño, puede crear algo bastante bueno utilizando estas tecnologías web. Pero si solo buscas emular un sitio web en una aplicación nativa (y no crear el próximo juego asesino), entonces es probablemente la mejor opción por varias razones.
Si la aplicación nativa de google frente a phonegap (o sencha touch) hay mucha información sobre los pros y los contras. Ese es probablemente un buen lugar para que comiences a aprender.
¿Qué tan bien conoce objetivo-c? –
No mucho, tengo algunos buenos antecedentes de C++ y tengo una comprensión general de dónde difiere Ob-C, etc. –