El desarrollo de aplicaciones móviles es el acto o proceso mediante el cual se desarrolla una aplicación móvil para uno o más dispositivos móviles , que pueden incluir asistentes digitales personales (PDA), asistentes digitales empresariales (EDA) o teléfonos móviles . [1] Estas aplicaciones de software están diseñadas específicamente para ejecutarse en dispositivos móviles, teniendo en cuenta numerosas limitaciones de hardware. Las limitaciones comunes incluyen la arquitectura y las velocidades de la CPU, la memoria disponible (RAM), las capacidades limitadas de almacenamiento de datos y la variación considerable en las pantallas (tecnología, tamaño, dimensiones, resolución) y los métodos de entrada (botones, teclados, pantallas táctiles con o sin lápices ópticos). [2] Estas aplicaciones (o "apps") pueden preinstalarse en los teléfonos durante la fabricación o entregarse como aplicaciones web, utilizando el procesamiento del lado del servidor o del lado del cliente (por ejemplo, JavaScript) para proporcionar una experiencia "similar a una aplicación" dentro de un navegador web . [3]
El sector de desarrollo de aplicaciones móviles ha experimentado un crecimiento significativo en Europa. Un informe de 2017 del Progressive Policy Institute estimó que en enero de 2017 había 1,89 millones de puestos de trabajo en la economía de las aplicaciones en toda la UE, lo que supone un aumento del 15 % respecto del año anterior. Estos puestos de trabajo incluyen puestos como desarrolladores de aplicaciones móviles y otros puestos que respaldan la economía de las aplicaciones. [4]
Con el fin de facilitar el desarrollo de aplicaciones para dispositivos móviles, y la consistencia de las mismas, se han adoptado diversos enfoques.
La mayoría de las empresas que comercializan un producto (por ejemplo, Apple, iPod/iPhone/iPad) proporcionan un kit de desarrollo de software (SDK) oficial. También pueden optar por proporcionar algún tipo de prueba o control de calidad (QA). A cambio de que se les proporcione el SDK u otras herramientas, puede ser necesario que un posible desarrollador firme algún tipo de acuerdo de confidencialidad, o NDA, que restrinja el intercambio de información privilegiada.
Como parte del proceso de desarrollo, el diseño de la interfaz de usuario (UI) móvil es un paso esencial en la creación de aplicaciones móviles. Los diseñadores de UI móviles consideran las limitaciones, los contextos, el espacio de la pantalla, los métodos de entrada y la movilidad como esquemas para el diseño. Las limitaciones en el diseño de la UI móvil incluyen la capacidad de atención limitada del usuario y factores de forma como el tamaño de la pantalla de un dispositivo móvil para las manos del usuario. El contexto de la UI móvil incluye señales de la actividad del usuario, como la ubicación o el momento en que se usa el dispositivo, que se pueden observar a partir de las interacciones del usuario dentro de una aplicación móvil. Dichas señales de contexto se pueden utilizar para proporcionar sugerencias automáticas al programar una cita o actividad o para filtrar una lista de varios servicios para el usuario.
El usuario es a menudo el centro de la interacción con su dispositivo, y la interfaz incluye componentes tanto de hardware como de software. La entrada del usuario permite que éste manipule un sistema, y la salida del dispositivo permite que el sistema indique los efectos de la manipulación del usuario.
En general, el objetivo principal del diseño de la interfaz de usuario móvil es lograr una interfaz fácil de entender y de usar. La funcionalidad está respaldada por plataformas de aplicaciones empresariales móviles o entornos de desarrollo integrados (IDE).
Los desarrolladores de aplicaciones móviles también deben considerar una amplia gama de dispositivos con diferentes tamaños de pantalla, especificaciones de hardware y configuraciones debido a la intensa competencia en el hardware móvil y los cambios dentro de cada una de las plataformas.
En la actualidad, las aplicaciones móviles suelen distribuirse a través de un punto de venta o mercado oficial en línea (por ejemplo, Apple, App Store; Google, Google Play) y existe un proceso formalizado mediante el cual los desarrolladores envían sus aplicaciones para su aprobación e inclusión en esos mercados. Sin embargo, históricamente, ese no siempre fue el caso.
Las interfaces de usuario móviles, o front-ends, dependen de back-ends móviles para respaldar el acceso a los sistemas empresariales. El back-end móvil facilita el enrutamiento de datos, la seguridad, la autenticación, la autorización, el trabajo sin conexión y la orquestación de servicios. Esta funcionalidad está respaldada por una combinación de componentes de middleware , incluidos servidores de aplicaciones móviles, back-end móvil como servicio (MBaaS) e infraestructura de arquitectura orientada a servicios (SOA).
Los paquetes de desarrollo de software necesarios para desarrollar, implementar y administrar aplicaciones móviles están compuestos por muchos componentes y herramientas que permiten a un desarrollador escribir, probar e implementar aplicaciones para una o más plataformas de destino.
Las herramientas de desarrollo front-end se centran en la interfaz de usuario y la experiencia del usuario (UI-UX) y proporcionan las siguientes capacidades:
A continuación se enumeran las herramientas notables.
Las herramientas de origen incluyen los SDK oficiales publicados por, o en nombre de, la empresa responsable del diseño de una plataforma de hardware particular (por ejemplo, Apple, Google, etc.), así como cualquier software de terceros que reciba soporte oficial para el desarrollo de aplicaciones móviles para ese hardware.
Plataforma | Lenguaje de programación | Depuradores disponibles | Emulador disponible | Entorno de desarrollo integrado disponible | Implementación multiplataforma | Opciones de empaquetado del instalador | Costo de la herramienta de desarrollo |
---|---|---|---|---|---|---|---|
Androide | Java, pero partes del código pueden estar en C , C++ , | Depurador integrado en Eclipse, monitor de depuración independiente disponible | Sí | Complemento de Android para NetBeans para Eclipse , IntelliJ IDEA , Android Studio y Project Kenai | Solo para Android, gracias a Dalvik VM, marzo de 2009 | apk | Edición comunitaria IntelliJ IDEA gratuita : gratuita |
Zarzamora | Java | Depurador integrado en IDE | Sí | Eclipse , BlackBerry JDE | Solo BlackBerry, debido a la API de RIM | alx, bacalao | Gratis |
Kit de desarrollo de software para iOS | Objetivo-C , Swift | Depurador integrado en Xcode IDE | Incluido con iPhone SDK, integrado con Xcode IDE | Xcode , Código de aplicación | iPhone , iPad , iPod Touch | Solo a través de App Store , necesita revisión y aprobación de Apple Inc. | Las herramientas de Apple son gratuitas para Mac con procesador Intel . Las pruebas con simuladores son gratuitas, pero para instalarlas en un dispositivo es necesario pagar una clave de firma para desarrolladores. AppCode: licencias comerciales disponibles. Desde 2015, Apple permite instalar la aplicación en su propio dispositivo sin necesidad de una membresía paga de desarrollador. [5] |
Kit de desarrollo de software para iOS | Objeto Pascal | Depurador integrado en Xcode IDE | Incluido en Delphi XE2 profesional o superior | Embarcadero Delphi XE2 | iPhone , iPad , iPod Touch | Solo a través de App Store , necesita revisión y aprobación de Apple Inc. | El desarrollo requiere un Mac basado en Intel además del IDE en Windows. El diseño se realiza en Windows, la compilación y la implementación deben realizarse en Mac. Las pruebas del simulador son gratuitas, pero la instalación en un dispositivo requiere el pago de una clave de firma de desarrollador. |
Plataforma | Lenguaje de programación | Depuradores disponibles | Emulador disponible | Entorno de desarrollo integrado disponible | Implementación multiplataforma | Opciones de empaquetado del instalador | Costo de la herramienta de desarrollo |
---|---|---|---|---|---|---|---|
Java ME | Java | Sí | Emulador gratuito, Sun Java Wireless Toolkit, mpowerplayer | Paquete de movilidad Eclipse , LMA NetBeans | Sí, aunque muchas implementaciones de VM tienen errores específicos del dispositivo que requieren compilaciones separadas | Empaquetado de Jad / Jar ; archivos PRC en Palm OS | Gratis |
Plataforma | Lenguaje de programación | Depuradores disponibles | Emulador disponible | Entorno de desarrollo integrado disponible | Implementación multiplataforma | Opciones de empaquetado del instalador | Costo de la herramienta de desarrollo |
---|---|---|---|---|---|---|---|
Acelerador | HTML5 , C# | Sí | Sí | Microsoft Visual Studio (sin bloqueo) | Todas las plataformas y aplicaciones móviles están basadas en navegador. | Web móvil | Licencias comerciales disponibles |
Móvil Juntos | XPath / XQuery , lenguaje de programación visual de árboles de acción | Sí | Sí | IDE propietario solo en Windows | Android, iOS, Windows, navegador | La distribución nativa para cada formato | Gratis |
Aplicación Inventor para Android | Lenguaje de programación visual basado en bloques, con diseñador de interfaces | Herramientas de depuración limitadas integradas en IDE | Sí | Diseñador de interfaces basado en web, con conexión al programa web-start de Java para programación de bloques | Dispositivos Android | apk | Gratis |
Acelerador de aplicaciones | JavaScript | Sí, en Titanium Studio. | El emulador está disponible mediante emuladores nativos. | Titanium Studio basado en Eclipse | Android, iPhone; BlackBerry, Tizen, web móvil | El formato de distribución nativo de cada plataforma | Licencias Apache 2.0 gratuitas, de código abierto, comerciales y empresariales disponibles |
Básico4android | Sintaxis similar a Visual Basic | Sí | El emulador está disponible mediante emuladores nativos. | IDE propietario | Androide | El formato de distribución nativo de cada plataforma | Licencias comerciales disponibles |
Nombre en clave uno | Java | Sí | Sí | Eclipse, Netbeans | Android, iPhone, BlackBerry, Windows Mobile, J2ME | El formato de distribución nativo de cada plataforma | Servidor de compilación basado en suscripción y GPLv2 de código abierto |
Solar2D | Lua | Sí | Sí | Código X | Android, iOS, Nook Color | Implementación nativa para cada plataforma | Libre usando licencia MIT |
Dragón RAD | Mosaicos visuales de arrastrar y soltar | Sí | Utiliza emuladores de terceros | IDE propietario | Android, BlackBerry y Windows Mobile | Implementación OTA | Licencias gratuitas y comerciales disponibles |
GeneXus para dispositivos móviles e inteligentes | Representación del conocimiento y programación declarativa : modelado para un desarrollo sencillo, luego se genera automáticamente el código para cada plataforma | GeneXus utiliza bibliotecas de códigos previamente probados y depuración de código por parte del usuario que no es necesaria después de la generación del código. | Publica en la nube, prueba de forma nativa en el dispositivo, sin necesidad de emulador | IDE propietario | Android , iOS (iPhone, iPad), BlackBerry OS e incluso HTML5 si es necesario | El formato de distribución nativo de cada plataforma y también basado en navegador en la nube. | Prueba gratuita, licencias comerciales y empresariales disponibles |
Estudio IBM MobileFirst | HTML5 , CSS3 , JavaScript y lenguajes SDK nativos con API Native Worklight | Sí, simulador de navegador móvil o integración con el depurador SDK nativo | El emulador está disponible mediante emuladores nativos o el simulador de navegador con el complemento Cordova | Complemento de Eclipse , independiente y basado en Eclipse | Android , iOS , BlackBerry 6, 7 y 10, Windows Phone 7.5 y 8, Windows 8 (computadora de escritorio, tabletas), Adobe AIR , aplicación web móvil, página web del navegador de escritorio | El formato de distribución nativo de cada plataforma | Edición para desarrolladores gratuita a través de Eclipse Marketplace, licencia comercial para implementación |
Lázaro | Objeto Pascal | Sí, se puede depurar en IDE a través de ActiveSync para Windows CE | Utiliza los emuladores de las plataformas. | Lazarus IDE , que incluye un diseñador de GUI y un depurador integrados | Lenguaje compilado disponible para Windows CE , dispositivos basados en Linux, puerto Symbian en desarrollo | El formato de distribución nativo de cada plataforma | Gratis |
Lambda nativo | Esquema | No | No, pero se puede compilar y probar en el host local. | Eclipse (software) (opcional) | Todos los binarios nativos: Android , iOS , BlackBerry 10 , Windows , OS X , Linux , OpenBSD , OpenWrt | El formato de distribución nativo de cada plataforma | Libre ( licencia BSD ) |
Código en vivo | Código en vivo | Sí (integrado en IDE) | Sí (se pueden utilizar emuladores de iOS y Android) | Sí | iOS, Android, macOS, Windows, Linux, servidor, HTML5. Paquete de instalación | El formato de distribución nativo de cada plataforma | Edición gratuita de código abierto, ediciones comerciales y empresariales disponibles |
Macromedia Flash Lite | Script de acción | Sí | Incluido con IDE | Macromedia Flash MX2004/8, Eclipse | Sí | Implementación de SIS-CAB o archivos SWF OTA -IR-Bluetooth | Varía, es gratuito pero limitado con MTASC |
Mermelada | C , C++ | Sí | Sí | Visual Studio , Xcode | Todos nativos: Android, BlackBerry, BREW, iOS (iPhone), Maemo, Palm-webOS, Samsung bada, Symbian, Windows Mobile 6.x y escritorio, OS X | El formato de distribución nativo de cada plataforma | Licencias comerciales disponibles |
IDE de memes | Guión de meme | La validación se proporciona en la vista de problemas. | Sí, se puede integrar el emulador de Android | Eclipse RCP | Android , Windows Móvil | El formato de distribución nativo de cada plataforma | Libre para desarrollo |
Mónaca | HTML5 , CSS , JavaScript | Sí | La vista previa está disponible en la IDE de la nube y en la herramienta local | IDE basado en la nube, Visual Studio, IDE/editores de terceros | Android, iOS, Windows 8.1, 10 | El formato de distribución nativo de cada plataforma | Gratis, hasta 3 proyectos. Licencia comercial y empresarial disponible. |
Mono para Android | DO# | Sí | Sí | Visual Studio 2005 y MonoDevelop | Androide | El formato de distribución nativo de la plataforma. | |
MonoTouch | DO# | Sí | Sí | Visual Studio 2005 y MonoDevelop | iOS | El formato de distribución nativo de la plataforma. | |
MoSync | C , C++ , Lua , HTML5, CSS, JavaScript | Sí | Sí | Eclipse, Visual Studio 2005 y posteriores, MoBuild con editores de texto | Android, iOS (iPhone), Java ME, Moblin, Smartphone 2003, Symbian, Windows Mobile (Pocket PC), Blackberry (experimental) | Implementación de SIS , CAB, JAD, JAR, APK y OTA | Gratuito, GPL 2.0, suscripción independiente gratuita; suscripción comercial disponible |
NetBeans | C++ , Java | Sí | Sí | Herramientas de desarrollo de Java | Android (Móvil y Tablet), Nokia (Symbian, Seria 60 – 40 – 80), etc... | Gratis | |
Abrir enchufe | ActionScript , XML | Sí | Sí | Complemento OpenPlug ELIPS para Adobe Flash Builder | Android, iOS (iPad, iPhone, iPod Touch), Symbian, Windows Mobile | El formato de distribución nativo de cada plataforma | Licencias gratuitas y comerciales disponibles |
Sistemas externos | OutSystems, CSS , JavaScript | Sí | Pruebe directamente en el navegador | Estudio de servicios de OutSystems | Android, iOS, Windows Phone 7 | N / A | Edición comunitaria gratuita para uso personal o licencia de suscripción para uso comercial |
PhoneGap y Apache Cordova | HTML , CSS y JavaScript | Sí | Sí. Se pueden probar muchas funciones directamente en el navegador. También es posible ejecutar emuladores nativos en iOS y Android. | Sí Existen muchos IDE para herramientas basadas en Cordova como Ionic Studio o Appery.io | iPhone, Android, Tizen, Windows Phone, BlackBerry, Symbian, Palm, Bada | El formato de distribución nativo de cada plataforma | Apache 2 |
Kit de desarrollo de software Qt | C++ , QML | Sí | Sí | Creador de Qt | Android (vista previa de tecnología), iOS (vista previa de tecnología), Symbian , Maemo , MeeGo , Linux , Windows , OS X | El formato de distribución nativo de cada plataforma | Licencias gratuitas y comerciales disponibles |
Rhomóvil | Ruby con funciones de interfaz HTML compiladas a través de un intérprete en aplicaciones nativas | Sí | N/A, las aplicaciones pueden ejecutarse en el ejecutor Win32 o en emuladores de dispositivos para plataformas compatibles. | Xcode o Eclipse , la versión de RhoHub a pedido incluye IDE completo | Sí, compatible con Android 1.6+, iOS 3.0+ (iPhone, iPad), Windows Mobile 6.1 Professional, Windows Mobile 6.0 Standard, BlackBerry 4.6, 4.7, 5.0, 6.0 (compatible con 4.2 y 4.5, pero el acceso a la base de datos es muy lento en estos dispositivos), Symbian | Implementación OTA , iOS a través de App Store, .SIS, .CAB, .APK, .COD | Rhodes es gratuito y de código abierto bajo la licencia MIT, RhoSync está bajo la licencia GPL o comercial. Soporte comercial disponible. Suscripción a RhoHub |
Movimiento rubí | Rubí | Sí | Sí | Cualquier editor de texto. Como IDE, RubyMine . | Android, iOS | El formato de distribución nativo de la plataforma. | RubyMotion es un producto comercial. |
Toque Sencha | HTML , CSS y JavaScript | Sí | Sí | Arquitecto Sencha 2 | Android, iOS (iPhone, iPad, iPod touch), Kindle, BlackBerry, Bada | Entregado a través de la Web o híbrido a través de shells nativos para cada plataforma | GPLv3, gratuita para uso comercial, de pago para sistemas OEM e integrados |
Cara inteligente | Editor de diseño WYSIWYG con editor de código JavaScript | Sí | Sí | IDE y SDK de Smartface | Sí Android, iOS (iPhone, iPad, iPod touch), Kindle, Gear, Google Glass | El formato de distribución nativo de cada plataforma | Licencia comunitaria y licencias comerciales disponibles |
Estencilo | Editor de arrastrar y soltar basado en Scratch , Objective-C | Sí | Sí | Código X | iOS (iPad, iPhone, iPod Touch) | El formato de distribución nativo de cada plataforma | Licencias de desarrollo gratuitas y comerciales |
Plataforma Telerik y AppBuilder | HTML5, CSS y Javascript | Sí | Pruebe directamente en el navegador o dispositivo | Cliente en el navegador, cliente de escritorio, Visual Studio, Sublime Text o interfaz de línea de comandos (CLI) | Android, iOS, teléfono Windows | El formato de distribución nativo de cada plataforma | Prueba gratuita, licencias comerciales y empresariales disponibles |
Unidad | C# , JavaScript , Boo y otros lenguajes basados en .NET | Sí | Control remoto utilizado para simular la interacción del dispositivo antes de que la aplicación se cargue en el dispositivo. | Editor de Unity, también funciona con Visual Studios y MonoDevelop. | Android, iOS (iPhone, iPad), PC, Mac, navegador de escritorio, Xbox 360, PS3, Wii. BlackBerry Playbook, Nokia Symbian, Roku 2 y otros disponibles a través del programa Union de la empresa. | Formato de distribución nativo de cada plataforma | Licencias de desarrollo gratuitas y comerciales. |
Estudio de aplicaciones Verivo | WYSIWYG, arrastrar y soltar gráficos, JavaScript , lenguajes basados en .NET . Reemplazado por Appery.io | Sí | Pruebe directamente en el navegador o dispositivo | Estudio de diseño propio | Android, iOS, BlackBerry | Formato de distribución nativo de cada plataforma | Licencias de desarrollo gratuitas; licencias de implementación por CPU |
Aplicaciones Vizi | WYSIWYG, arrastrar y soltar gráfico | Sí | Pruebe directamente en el navegador o dispositivo | Estudio de diseño online | Android, iOS, Windows Phone planeados | El formato de distribución nativo de cada plataforma | Diseño, prueba, demostración y actualización de la aplicación gratuitos; tarifa para publicar |
Motor V-Play | Objetivo C , C++ , JavaScript , QML , Java | Sí | Sí | Creador de Qt | Todas las plataformas | El formato de distribución nativo de cada plataforma | Están disponibles licencias gratuitas, indie y empresariales. |
Wakanda | HTML5 , JavaScript | Sí | Sí | Sí, estudio Wakanda | Android, iOS, Windows 10 (próximamente) y aplicaciones basadas en navegador | apk | Licencias comerciales y de código abierto disponibles |
Xamarin | DO# | Sí | Sí | Xamarin Studio (solo Mac; obsoleto), Visual Studio (solo Windows), Visual Studio para Mac (solo Mac; reemplazó a Xamarin Studio) [6] [7] | Aplicaciones para Android, iOS, Windows Phone y Windows Store | La distribución nativa de cada plataforma | Edición comunitaria gratuita, edición pro incluida en la licencia MSDN de Microsoft |
Xojo | Xojo (similar a VB) | Sí | Sí | IDE de Xojo | iOS, aplicaciones web móviles | Las aplicaciones de iOS son nativas del iPad | Prueba gratuita sin límite de tiempo; licencias comerciales disponibles |
Las herramientas de back-end continúan el trabajo de las herramientas front-end y brindan un conjunto de servicios reutilizables que se administran y controlan de forma central y brindan las siguientes capacidades:
Las herramientas disponibles se enumeran a continuación.
Plataforma | Lenguaje de programación | Entorno de desarrollo integrado disponible | Implementación multiplataforma | Opciones de implementación | Costo de la herramienta de desarrollo |
---|---|---|---|---|---|
Servidor MobileTogether de Altova | Interfaz basada en navegador | IDE propietario | Servidor disponible para Windows , Linux y macOS . Compatible con dispositivos móviles con Android , iOS , Windows 8 , Windows 10 , Windows Phone y cliente basado en navegador HTML5. | Local, en la nube o híbrido | Las herramientas de desarrollo son gratuitas, se necesita una licencia comercial para su implementación. |
GO!AppZone de Globo plc | JavaScript . Conectores de integraciones personalizadas/lógica del lado del servidor: C#, VB.NET | Sí, GO!AppZone Studio | Android , BlackBerry , iOS , Windows Phone, 8.x, RT | Local, en la nube o híbrido | Las herramientas de desarrollo son gratuitas, se necesita una licencia comercial o suscripción para su implementación. |
Servidor IBM MobileFirst | HTML5 , CSS3 , JavaScript y lenguajes SDK nativos con API Native Worklight | Complemento de Eclipse , independiente y basado en Eclipse | Android , iOS , BlackBerry 6, 7 y 10, Windows Phone 7.5 y 8, Windows 8 (computadora de escritorio, tabletas), Adobe AIR , aplicación web móvil, página web del navegador de escritorio | En las instalaciones | Edición para desarrolladores gratuita a través de Eclipse Marketplace, licencia comercial para implementación |
Mestizos | Java | Eclipse | Android, iOS (iPhone, iPad), Java ME, BREW, BlackBerry, Nintendo DS, Palm/webOS, Sony PSP, Samsung bada, Symbian, Windows Mobile, Windows Phone 7, Escritorio de Windows, OS X | En las instalaciones | Licencias comerciales disponibles |
Wakanda | JavaScript | Utilice Wakanda Studio | Android, iOS (iPhone, iPad), Windows Phone 10 (próximamente), aplicación HTML5 | Local o en la nube | Ediciones comunitarias y comerciales |
Verivo Akula | Java | Utilice cualquier IDE front-end | Android, iOS (iPhone, iPad), Windows Phone7 | Local, en la nube o híbrido | Licencias de desarrollo gratuitas; licencias de implementación por CPU. Reemplazado por Appery.io |
Servidor de integración WebORB | C# , VB.NET , Java , PHP , ActionScript, JavaScript , Objective-C , | Funciona con Eclipse, Visual Studio, intelliJ IDEA y Amethyst IDE | Android, iOS (iPhone, iPad), BlackBerry Playbook, Windows Phone 7 | En las instalaciones | Licencias de desarrollo gratuitas; licencias de implementación gratuitas y comerciales |
A medida que la norma en cada vez más empresas es llevar su propio dispositivo (BYOD), los departamentos de TI a menudo necesitan soluciones tácticas provisionales que se sumen a las aplicaciones, teléfonos y componentes de la plataforma existentes. Las características incluyen
Se necesitan muchos componentes a nivel de sistema para tener una plataforma funcional para desarrollar aplicaciones móviles.
Plataforma | Lenguaje de programación | Depuradores disponibles | Emulador disponible | Entorno de desarrollo integrado disponible | Implementación multiplataforma | Opciones de empaquetado del instalador | Costo de la herramienta de desarrollo |
---|---|---|---|---|---|---|---|
Adobe AIR | ActionScript , HTML , CSS , JavaScript | Sí | Sí | Generador de Flash , Flash Professional , IntelliJ IDEA | Android, iOS (iPhone, iPad, iPod touch), BlackBerry | El formato de distribución nativo de cada plataforma | Flash Builder , Flash Professional , IntelliJ IDEA : licencias comerciales disponibles Adobe AIR SDK (herramienta de línea de comandos): gratuito |
ELABORAR CERVEZA | C ; las API se proporcionan en C con una interfaz de estilo C++ | Compatibilidad del depurador con el código de destino ARM nativo. Se puede utilizar Visual Studio para depurar el código de prueba x86 | No tiene emulador para el código ARM de destino, tiene un simulador para el código de prueba x86 | Visual Studio 6.0, Visual Studio 2003 .NET, Visual Studio 2005 | Compilar para la versión específica de BREW disponible en el dispositivo móvil | OTA | Tarifas de desarrollo relacionadas que suelen necesitarse para la certificación de aplicaciones Brew: tarifa anual de VeriSign para convertirse en desarrollador certificado. Compilador ARM de Realview para BREW (se encuentra disponible la versión gratuita GNU C/C++, pero con funciones y soporte limitados). Tarifa de prueba de TRUE BREW para distribuir la aplicación. |
Sistema operativo Firefox | HTML5 , CSS , JavaScript | Sí | No, pero hay simulador disponible. | Navegador Firefox, Firebug | Navegador web en otra plataforma | Firefox Marketplace , URL web | El desarrollo requiere Mozilla Firefox y el complemento simulador |
Marco compacto .NET | C# , VB.NET , Basic4ppc | Sí | Emulador gratuito, código fuente disponible, también incluido con IDE | Visual Studio 2008 , 2005, 2003, IDE Basic4ppc | Dispositivos basados en Windows Mobile , Windows CE y Symbian a través de herramientas de terceros | Implementación OTA , archivos CAB , ActiveSync | La mayoría de las herramientas son gratuitas, pero los diseñadores visuales necesitan ediciones comerciales de Visual Studio |
Abierto FL | Haxe (similar a Actionscript y Java) | Sí | Sí | IntelliJ IDEA , FlashDevelop | Android, iOS (iPhone, iPad, iPod touch), BlackBerry Playbook, WebOS, HTML5, Flash, Windows (exe), Linux | El formato de distribución nativo de cada plataforma | Gratis |
Sistema operativo Palm | C , C++ , Pascal | Sí | SO 1.0–4.1: emulador gratuito proporcionado por PalmSource (Access); SO 5.0: - 5.4 simuladores específicos del dispositivo proporcionados por Palm (palmOne) | Sistema de desarrollo Palm OS (Eclipse), CodeWarrior , PocketStudio, HB++, Satellite Forms | Dispositivos portátiles Palm OS o Windows Mobile con emulador StyleTap | Archivos PRC , instalador PalmSource (.psi) | Gratuito (POSE o GCC para Palm OS), comercial (CodeWarrior), o varios marcos comerciales de desarrollo rápido |
Pitón | Pitón | Sí | Complemento para el emulador de Nokia | Varios, incluidos complementos para Eclipse | El lenguaje interpretado está disponible de forma nativa solo en Nokia Series60 (y computadoras de escritorio), aunque existen puertos para otras plataformas móviles, incluido Palm OS | Implementación de Sis con py2sis o puede usar Python Runtime | Gratis |
Symbian | C++ | Sí | Emulador gratuito | Muchas opciones | Compilar por objetivo | Despliegue del SIS | Herramientas comerciales y gratuitas disponibles |
Tizen | Basado en la web : HTML5 , CSS , JavaScript Nativo : C , C++ | Sí | Emulador gratuito | Kit de desarrollo de software de Tizen | La aplicación basada en web estará disponible en el navegador web | Tizen a través de App Store, URL web | El desarrollo necesita Windows, OS X o Ubuntu Desktop |
Ubuntu Touch | Basado en web : HTML5 , CSS , JavaScript Nativo : QML , C , C++ | Sí | Sí | Kit de desarrollo de software de Ubuntu | La aplicación HTML5 estará disponible en el navegador web. | Ubuntu Touch a través de la tienda de aplicaciones, URL web | El desarrollo requiere Ubuntu Desktop 12.04 o superior, gratuito |
Sistema operativo web | JavaScript , CSS , HTML , C y C++ a través del PDK | Sí | Emulador gratuito | Eclipse | webOS, solo Palm | Implementación OTA , webOS a través de App Store, URL web, Precentral, .ipk | Gratis |
Windows Móvil | C , C++ | Sí | Emulador gratuito (código fuente disponible), también incluido con IDE | Visual Studio 2010 , 2008, 2005, eMbedded VC++ (gratis), Formularios Satellite | Windows Mobile , Windows CE | Implementación OTA , archivos CAB, ActiveSync | Herramientas de línea de comandos gratuitas o eMbedded VC++, o Visual Studio (edición estándar o superior) |
Teléfono Windows | C# , Visual Basic , C , C++ | Sí | Emulador gratuito, también incluido con IDE | Visual Studio 2012 , Visual Studio 2010 | Teléfono Windows | Despliegue OTA , archivos XAP |
Los criterios para seleccionar una plataforma de desarrollo suelen incluir las plataformas móviles de destino, la infraestructura existente y las habilidades de desarrollo. Cuando se apunta a más de una plataforma con desarrollo multiplataforma, también es importante considerar el impacto de la herramienta en la experiencia del usuario . El rendimiento es otro criterio importante, ya que la investigación sobre aplicaciones móviles indica una fuerte correlación entre el rendimiento de la aplicación y la satisfacción del usuario. Junto con el rendimiento y otros criterios, la disponibilidad de la tecnología y los requisitos del proyecto pueden impulsar el desarrollo entre entornos nativos y multiplataforma. Para ayudar a la elección entre entornos nativos y multiplataforma, se han publicado algunas pautas y puntos de referencia. Por lo general, los entornos multiplataforma son reutilizables en múltiples plataformas, aprovechando un contenedor nativo mientras se usa HTML, CSS y JavaScript para la interfaz de usuario. Por el contrario, los entornos nativos están dirigidos a una plataforma para cada uno de esos entornos. Por ejemplo, el desarrollo de Android se produce en el IDE Eclipse utilizando complementos de Android Developer Tools (ADT), el desarrollo de Apple iOS se produce utilizando el IDE Xcode con Objective-C y/o Swift, Windows y BlackBerry tienen cada uno sus propios entornos de desarrollo.
Las aplicaciones móviles se prueban primero en el entorno de desarrollo mediante emuladores y luego se someten a pruebas de campo . Los emuladores proporcionan una forma económica de probar aplicaciones en teléfonos móviles a los que los desarrolladores pueden no tener acceso físico. Los siguientes son ejemplos de herramientas utilizadas para probar aplicaciones en los sistemas operativos móviles más populares .
Las herramientas incluyen
Según un informe de la industria sobre aplicaciones de 2020, el 46 % de los usuarios de aplicaciones móviles han declarado que han dejado de usar o desinstalado una aplicación debido a un rendimiento deficiente. [9] Los expertos en diseño abogan por los siguientes principios de diseño para crear aplicaciones móviles exitosas y efectivas:
Pantallas sin desorden: permiten que las interacciones sean rápidas y sencillas, lo que permite a los usuarios centrarse en una tarea específica en lugar de verse abrumados por múltiples funciones y tareas. Los expertos en diseño abogan firmemente por una tarea por pantalla y recomiendan dividir los formularios largos en páginas y revelar progresivamente nuevas tareas o campos para minimizar el desorden. [10]
Reducir la carga cognitiva: hace que el recorrido del usuario por la aplicación sea fluido y conserva el flujo natural a través de la misma. Los expertos en diseño sugieren incorporar funciones de autocompletado , corrector ortográfico , asistencia de predicción de texto y menús desplegables para reducir la carga cognitiva. Los expertos en diseño también recomiendan que se conserve el estado de la aplicación cuando los usuarios abandonan temporalmente la aplicación y vuelven a ingresar para que puedan continuar su recorrido desde donde lo dejaron. [10] [11]
Navegación sencilla: alrededor del 11 % de las personas han desinstalado aplicaciones debido a su interfaz complicada . [9] Los expertos en diseño afirman que es fundamental presentar la barra de navegación de forma visible en la aplicación para ayudar a los usuarios a navegar a las pantallas de uso frecuente y de alta prioridad de forma instantánea. Sugieren el uso de íconos reconocibles específicos del sistema operativo del dispositivo para ayudar a los usuarios a realizar acciones fácilmente, como abrir un menú, cambiar configuraciones, volver a una pantalla y buscar dentro de una página. Según ellos, un usuario no debe confundirse mientras navega por la aplicación, por lo que un flujo de navegación ordenado, claro y lógico impulsa la participación y el descubrimiento en la aplicación. [10] [11]
Notificaciones: Se informa que alrededor del 19 % de los usuarios desinstalan una aplicación debido a las frecuentes notificaciones push. [9] Las notificaciones deben enviarse con una planificación cuidadosa según los expertos en diseño. Los expertos afirman que las notificaciones deben enviarse en el momento más conveniente para los usuarios en su zona horaria y los mensajes deben personalizarse para brindarles un gran valor. [10]
Velocidad Apariencia: Alrededor del 19% de las personas desinstalan aplicaciones debido a problemas de bloqueo. [9] Los expertos en diseño afirman que es importante asegurarse de que la aplicación sea rápida y responda para que los usuarios no tengan que esperar por el contenido. Afirman que los desarrolladores deberían entregar el contenido más rápido o dar la percepción de progreso. Algunos enfoques sugeridos por los expertos son el uso de pantallas de esqueleto que muestran el diseño de la aplicación con el contenido en gris, barras de progreso o indicadores de carga, tareas que se llevan a cabo en segundo plano y entrega del contenido rápidamente cuando el usuario lo solicita, o dar a los usuarios algunas tareas o contenido mientras esperan que se cargue una página. [10]
Usabilidad: Aproximadamente el 85% de los usuarios de dispositivos móviles utilizan su teléfono con una mano, [9] por lo que los expertos en diseño afirman que es importante que el menú de nivel superior, los controles de uso frecuente y los elementos de acción comunes estén al alcance del pulgar del usuario. También destacan la importancia de la legibilidad y se recomienda que el tamaño del texto sea de al menos 11 puntos para que los usuarios puedan leerlo a la distancia de lectura típica sin hacer zoom. [10] Se recomienda que los encabezados y títulos en las pantallas de la aplicación sean San Francisco 17pt y Roboto 16sp para iOS y Android OS respectivamente. [11] Los expertos también afirman que debe haber una relación de contraste mínima de 4.5:1 entre el texto y el color de fondo. [10] Los expertos en diseño alientan encarecidamente a los desarrolladores a hacer que las aplicaciones sean accesibles para todos los usuarios, incluidas las personas con discapacidades , por lo que sugieren características como navegación por voz , compatibilidad con lectores de pantalla y adaptabilidad de la interfaz de usuario en las aplicaciones móviles. [11]
Hay muchas solicitudes de patente pendientes para nuevas aplicaciones para teléfonos móviles. La mayoría de ellas se refieren a los campos tecnológicos de los métodos comerciales, la gestión de bases de datos, la transferencia de datos y la interfaz del operador. [12]
Microsoft pone a disposición del público general su Visual Studio para Mac (una versión renombrada de Xamarin Studio para Mac).