iphone - publicidad - Enfoque para desarrollar una aplicación móvil que admita una aplicación web
plataformas para crear aplicaciones moviles (2)
John,
Bueno, parece que tienes un poco de trabajo por delante. Cuando tiene una aplicación web existente, existen dos enfoques básicos para que su aplicación esté disponible en cualquier dispositivo en particular: puede (1) escribir una aplicación nativa que implemente la funcionalidad que desea para cada dispositivo que desea admitir o puede (2) escriba un "envoltorio" basado en la web para su aplicación existente y sirva el contenido como HTML / CSS a esos mismos dispositivos.
Opción 1: crea una aplicación nativa para cada plataforma que quieras apoyar
En cuanto al primer enfoque, los beneficios pueden ser excelentes. Al utilizar los marcos nativos de cada dispositivo, tiene la capacidad y flexibilidad completas para aprovechar las mejores características de cada dispositivo. Las vistas de su aplicación también pueden renderizarse más rápido, ya que todo lo que obtendrá de su servidor son los datos con los que poblar las vistas (es decir, no tiene que cargar imágenes, plantillas HTML o archivos CSS en absoluto).
El inconveniente de este enfoque es que inherentemente requiere que cada dispositivo tenga su propia aplicación. Entonces, si está apoyando una aplicación web, una aplicación de iPhone, una aplicación de Android y una aplicación Blackberry, esto significa que tiene 4 bases de código completamente separadas para mantener. Si agrega algún tipo de característica nueva a su aplicación web (que presumiblemente tendrá en algún momento), también deberá implementar esa nueva función en las otras tres bases de códigos separadas. Dado el hecho de que estos dispositivos pueden tener diferentes modelos de interacción, esto podría suponer un desafío. Otro inconveniente aquí puede ser la distribución (es decir, puede que tenga que pasar por un proceso de revisión para algo así como la tienda de aplicaciones de iPhone dependiendo de cómo quiera distribuir su aplicación). También significa que la cantidad que tendrá que aprender es bastante mayor ya que cada dispositivo tiene su propio conjunto de API y "filosofía" de programación.
Opción 2: escribir un "contenedor" basado en la web para su aplicación (quizás usando una biblioteca)
Este enfoque también tiene una gran cantidad de beneficios. En primer lugar, si utiliza un marco como PhoneGap o Sencha Touch o Rhomobile , la gran ventaja es que teóricamente escribe el código de "aplicación móvil" una vez y funciona en cada uno de los dispositivos compatibles con el marco. En comparación con escribir una aplicación nativa para tres plataformas, esto es mucho menos trabajo.
Los inconvenientes aquí son los siguientes. Este enfoque se ejecuta como un sitio web en el navegador del dispositivo, por lo que no tendrá acceso a todas las funciones de todos los dispositivos. Por definición, no todas las cosas geniales de las API de iOS y Android estarán disponibles para ti. También tiene un límite aquí en lo que respecta al almacenamiento local, pero esto puede no ser una gran preocupación para usted dada su aplicación web. Otro inconveniente es que habrá más ancho de banda requerido de su servidor de esta manera, ya que está publicando todo el HTML, las imágenes y el CSS que de otra manera no necesitaría con una aplicación nativa. Dependiendo de la cantidad de usuarios y la complejidad de las páginas, esto podría ser significativo para usted o no. Otro inconveniente aquí es que no puede ir a pantalla completa (con el iPhone en Mobile Safari, por ejemplo, siempre hay una barra de herramientas en la parte inferior).
Preocupaciones generales
Una cosa que me preocupaba al leer su pregunta era su lista de requisitos. Las funciones de reproducción y la conexión a una tienda de datos remota son cosas que definitivamente puede hacer con aplicaciones móviles nativas y basadas en la web. Pero "retener [drag] capacidades de caída" no lo es. Con un iPhone, por ejemplo, puede usar identificadores en una UITableViewCell para proporcionar una forma de reordenar listas, pero el método de arrastrar y soltar completo no es algo que realmente se adapte al modelo de interacción del usuario de un dispositivo móvil. Puede que tenga que volver a pensar en este.
El requisito de "proporcionar una experiencia de usuario rica equivalente o mejor que la aplicación web" también es un poco preocupante. Si bien las aplicaciones basadas en teléfonos pueden tener formas realmente simplificadas para obtener y manipular datos, recuerde que está diseñando para una pantalla de unas pocas pulgadas cuadradas. Es físicamente imposible proporcionar la misma amplitud de información de manera organizada que con un monitor de pantalla ancha HD de 21 ".
Recuerde que está diseñando aquí para dispositivos móviles, por lo que desea aprovechar las plataformas disponibles, pero recuerde que se trata de pantallas pequeñas y métodos de interacción limitados (toques, deslizamientos y gestos).
Mi recomendación es que, si es la primera vez que lo hace, si desea admitir todos estos dispositivos y ya tiene experiencia con la web, le sugiero que tome la Opción 2 y utilice uno de los marcos mencionados anteriormente. Sería la forma más fácil de comenzar y no habría conceptos radicalmente diferentes para que tuvieras que aprender.
¡Buena suerte!
Mi compañía creó su propia aplicación web de administración de proyectos. Es como el campo base con esteroides. Las características principales de esta aplicación son:
- crear listas de tareas
- asignar tareas a los miembros del equipo
- seguimiento de horas contra elementos de tareas
Estoy buscando construir aplicaciones móviles como una extensión de la aplicación web. Las aplicaciones móviles deben:
- reproducir las características mencionadas anteriormente
- conectarse a la misma base de datos que la aplicación web
- retener las capacidades de arrastre
- proporcionar una experiencia de usuario rica equivalente o mejor que la aplicación web
- trabajo en iphone, droid y blackberry
Teniendo en cuenta los requisitos anteriores, ¿cómo debería abordar el desarrollo de esta aplicación móvil? Hay cerca de 20 usuarios de teléfonos inteligentes en mi compañía: 8 iPhones, 7 droides y 5 moras.
He oído hablar de frameworks de desarrollo como Phonegap que te permiten desarrollar en HTML, Javascript y CSS. El software luego funciona en plataforma cruzada a través de blackberry, iphone y droide. Si soy un programador promedio / ligeramente superior al promedio, ¿podré crear una aplicación móvil multiplataforma de alta calidad con PhoneGap (u otro marco de desarrollo de plataforma x) que cumpla con los requisitos anteriores?
¿O debería crear cada aplicación para iphone, droid y blackberry de forma independiente?
¿Cuál es el mejor enfoque? ¿Cuáles son las compensaciones?
Además, comente sobre lo que publicó Neal L anteriormente, con Rhomobile puede acceder a las capacidades nativas de los dispositivos y también puede arrastrar y soltar sus vistas.
Hay varios videos de entrenamiento y de ejemplo aquí: http://rhomobile.com/webinars/