En general, existen dos tipos de aplicaciones que se ejecutan en dispositivos móviles: sitios web móviles y aplicaciones móviles nativas.
Se accede a los sitios web móviles como cualquier otro sitio web: hay un navegador y generalmente un servidor (es raro, pero en teoría uno podría entregar un conjunto de páginas web localmente y solo ver los recursos locales).
Un navegador web móvil suele ser el navegador nativo móvil independiente incluido con el sistema operativo, como iOS Safari (para dispositivos Apple) o Chrome (para dispositivos Android, también disponible en iOS desde la App Store). Ambos navegadores también proporcionan componentes de vista web que pueden integrarse en una aplicación “nativa”, de modo que la aplicación misma está enmarcando un navegador web para parte o toda su interfaz de usuario.
- ¿Son las aplicaciones móviles lo mismo que las aplicaciones web?
- ¿Se puede crear una aplicación web sin usar funciones?
- Cómo convertir mi sitio web en una aplicación web
- ¿Cuál es más fácil de desarrollar, una aplicación / portal web de escritorio o una aplicación móvil (Android / iOS)?
- ¿Qué son las aplicaciones web?
Sin embargo, las aplicaciones móviles nativas son aplicaciones independientes escritas y compiladas para los dispositivos en los que se ejecutan. Para los dispositivos Apple, el lenguaje “administrado” preferido actual es Swift, y el lenguaje original y más “de bajo nivel” es Objective-C. Para Android, las aplicaciones nativas están escritas en Java. Estas aplicaciones nativas ciertamente pueden incluyen componentes del navegador web, pero generalmente usan primitivas nativas (como controles de texto, controles de imagen, controles desplegables, botones, etiquetas, etc.) para interactuar con los usuarios. Estas aplicaciones nativas generalmente interactúan con un servidor a través de una interfaz de programación de aplicaciones (API), cuyo “sabor” más popular es JSON usando REST sobre http. Los marcos de servidores de back-end populares para API incluyen Node.js, ASPNet Web API, PHP (yuck), etc.
Ahora, escribir aplicaciones nativas separadas para las dos plataformas principales es una molestia para los editores, por lo que bien puede preguntar “¿hay disponible una tecnología de tipo de compilador cruzado de escritura única, ejecución nativa”? Bueno, sí. Hay un par de plataformas / marcos de desarrollo intermedios que están destinados a ayudar a ahorrar tiempo a los desarrolladores, al generar UX “nativo” o de aspecto casi nativo de un conjunto central de construcciones de lenguaje de IU que se “compilan” en plataformas específicas. Esos incluirían los formularios ReactNative y Xamarin (ahora parte de Microsoft Visual Studio). Su promesa es “escribir una vez, ejecutar en todos los dispositivos móviles”, pero aún no es perfecto, y generalmente no ofrecen toda la potencia de cada entorno nativo. . A veces también están sujetos a la lentitud o la falta de aprobación de la App Store y Google Play, ya que estos dos proveedores preferirían las aplicaciones nativas por razones estratégicas. Aún así, estas plataformas están evolucionando rápidamente e intentan ser tan buenas como escribir aplicaciones de forma nativa en cada plataforma.
Anexo: Desde el punto de vista del marketing, una gran desventaja de las aplicaciones móviles frente a las aplicaciones nativas es que no tienes presencia en las tiendas de aplicaciones, lo cual es bastante útil. Pero, por ejemplo, para las aplicaciones de intranet (aplicaciones corporativas), hay un gran atractivo para los sitios web móviles: escritura única, esfuerzo singular, actualizaciones instantáneas, etc.