Desarrollo de aplicaciones móviles

Proceso para crear aplicaciones para varios sistemas operativos móviles

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]

Descripción general

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).

Plataforma

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.

Herramientas de desarrollo front-end

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:

  • Herramientas de diseño de UI
  • SDK para acceder a las funciones del dispositivo
  • Alojamiento y soporte multiplataforma

A continuación se enumeran las herramientas notables.

De primera parte

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.

PlataformaLenguaje de programaciónDepuradores disponiblesEmulador disponibleEntorno de desarrollo integrado disponibleImplementación multiplataformaOpciones de empaquetado del instaladorCosto de la herramienta de desarrollo
AndroideJava, pero partes del código pueden estar en C , C++ ,

Kotlin

Depurador integrado en Eclipse, monitor de depuración independiente disponibleComplemento de Android para NetBeans para Eclipse , IntelliJ IDEA , Android Studio y Project KenaiSolo para Android, gracias a Dalvik VM, marzo de 2009apkEdición comunitaria IntelliJ IDEA gratuita : gratuita
ZarzamoraJavaDepurador integrado en IDEEclipse , BlackBerry JDESolo BlackBerry, debido a la API de RIMalx, bacalaoGratis
Kit de desarrollo de software para iOSObjetivo-C , SwiftDepurador integrado en Xcode IDEIncluido con iPhone SDK, integrado con Xcode IDEXcode , Código de aplicacióniPhone , iPad , iPod TouchSolo 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 iOSObjeto PascalDepurador integrado en Xcode IDEIncluido en Delphi XE2 profesional o superiorEmbarcadero Delphi XE2iPhone , iPad , iPod TouchSolo 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.

Segunda Parte

PlataformaLenguaje de programaciónDepuradores disponiblesEmulador disponibleEntorno de desarrollo integrado disponibleImplementación multiplataformaOpciones de empaquetado del instaladorCosto de la herramienta de desarrollo
Java MEJavaEmulador gratuito, Sun Java Wireless Toolkit, mpowerplayerPaquete de movilidad Eclipse , LMA NetBeansSí, aunque muchas implementaciones de VM tienen errores específicos del dispositivo que requieren compilaciones separadasEmpaquetado de Jad / Jar ; archivos PRC en Palm OSGratis

Tercero

PlataformaLenguaje de programaciónDepuradores disponiblesEmulador disponibleEntorno de desarrollo integrado disponibleImplementación multiplataformaOpciones de empaquetado del instaladorCosto de la herramienta de desarrollo
AceleradorHTML5 , C#Microsoft Visual Studio
(sin bloqueo)
Todas las plataformas y aplicaciones móviles están basadas en navegador.Web móvilLicencias comerciales disponibles
Móvil JuntosXPath / XQuery , lenguaje de programación visual de árboles de acciónIDE propietario solo en WindowsAndroid, iOS, Windows, navegadorLa distribución nativa para cada formatoGratis
Aplicación Inventor para AndroidLenguaje de programación visual basado en bloques, con diseñador de interfacesHerramientas de depuración limitadas integradas en IDEDiseñador de interfaces basado en web, con conexión al programa web-start de Java para programación de bloquesDispositivos AndroidapkGratis
Acelerador de aplicacionesJavaScriptSí, en Titanium Studio.El emulador está disponible mediante emuladores nativos.Titanium Studio basado en EclipseAndroid, iPhone; BlackBerry, Tizen, web móvilEl formato de distribución nativo de cada plataformaLicencias Apache 2.0 gratuitas, de código abierto, comerciales y empresariales disponibles
Básico4androidSintaxis similar a Visual BasicEl emulador está disponible mediante emuladores nativos.IDE propietarioAndroideEl formato de distribución nativo de cada plataformaLicencias comerciales disponibles
Nombre en clave unoJavaEclipse, NetbeansAndroid, iPhone, BlackBerry, Windows Mobile, J2MEEl formato de distribución nativo de cada plataformaServidor de compilación basado en suscripción y GPLv2 de código abierto
Solar2DLuaCódigo XAndroid, iOS, Nook ColorImplementación nativa para cada plataformaLibre usando licencia MIT
Dragón RADMosaicos visuales de arrastrar y soltarUtiliza emuladores de tercerosIDE propietarioAndroid, BlackBerry y Windows MobileImplementación OTALicencias gratuitas y comerciales disponibles
GeneXus para dispositivos móviles e inteligentesRepresentación del conocimiento y programación declarativa : modelado para un desarrollo sencillo, luego se genera automáticamente el código para cada plataformaGeneXus 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 emuladorIDE propietarioAndroid , iOS (iPhone, iPad), BlackBerry OS e incluso HTML5 si es necesarioEl 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 MobileFirstHTML5 , CSS3 , JavaScript y lenguajes SDK nativos con API Native WorklightSí, simulador de navegador móvil o integración con el depurador SDK nativoEl emulador está disponible mediante emuladores nativos o el simulador de navegador con el complemento CordovaComplemento de Eclipse , independiente y basado en EclipseAndroid , 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 escritorioEl formato de distribución nativo de cada plataformaEdición para desarrolladores gratuita a través de Eclipse Marketplace, licencia comercial para implementación
LázaroObjeto PascalSí, se puede depurar en IDE a través de ActiveSync para Windows CEUtiliza los emuladores de las plataformas.Lazarus IDE , que incluye un diseñador de GUI y un depurador integradosLenguaje compilado disponible para Windows CE , dispositivos basados ​​en Linux, puerto Symbian en desarrolloEl formato de distribución nativo de cada plataformaGratis
Lambda nativoEsquemaNoNo, 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 , OpenWrtEl formato de distribución nativo de cada plataformaLibre ( licencia BSD )
Código en vivoCódigo en vivoSí (integrado en IDE)Sí (se pueden utilizar emuladores de iOS y Android)iOS, Android, macOS, Windows, Linux, servidor, HTML5. Paquete de instalaciónEl formato de distribución nativo de cada plataformaEdición gratuita de código abierto, ediciones comerciales y empresariales disponibles
Macromedia Flash LiteScript de acciónIncluido con IDEMacromedia Flash MX2004/8, EclipseImplementación de SIS-CAB o archivos SWF OTA -IR-BluetoothVaría, es gratuito pero limitado con MTASC
MermeladaC , C++Visual Studio , XcodeTodos nativos: Android, BlackBerry, BREW, iOS (iPhone), Maemo, Palm-webOS, Samsung bada, Symbian, Windows Mobile 6.x y escritorio, OS XEl formato de distribución nativo de cada plataformaLicencias comerciales disponibles
IDE de memesGuión de memeLa validación se proporciona en la vista de problemas.Sí, se puede integrar el emulador de AndroidEclipse RCPAndroid , Windows MóvilEl formato de distribución nativo de cada plataformaLibre para desarrollo
MónacaHTML5 , CSS , JavaScriptLa vista previa está disponible en la IDE de la nube y en la herramienta localIDE basado en la nube, Visual Studio, IDE/editores de tercerosAndroid, iOS, Windows 8.1, 10El formato de distribución nativo de cada plataformaGratis, hasta 3 proyectos. Licencia comercial y empresarial disponible.
Mono para AndroidDO#Visual Studio 2005 y MonoDevelopAndroideEl formato de distribución nativo de la plataforma.
MonoTouchDO#Visual Studio 2005 y MonoDevelopiOSEl formato de distribución nativo de la plataforma.
MoSyncC , C++ , Lua , HTML5, CSS, JavaScriptEclipse, Visual Studio 2005 y posteriores, MoBuild con editores de textoAndroid, iOS (iPhone), Java ME, Moblin, Smartphone 2003, Symbian, Windows Mobile (Pocket PC), Blackberry (experimental)Implementación de SIS , CAB, JAD, JAR, APK y OTAGratuito, GPL 2.0, suscripción independiente gratuita; suscripción comercial disponible
NetBeansC++ , JavaHerramientas de desarrollo de JavaAndroid (Móvil y Tablet), Nokia (Symbian, Seria 60 – 40 – 80), etc...Gratis
Abrir enchufeActionScript , XMLComplemento OpenPlug ELIPS para Adobe Flash BuilderAndroid, iOS (iPad, iPhone, iPod Touch), Symbian, Windows MobileEl formato de distribución nativo de cada plataformaLicencias gratuitas y comerciales disponibles
Sistemas externosOutSystems, CSS , JavaScriptPruebe directamente en el navegadorEstudio de servicios de OutSystemsAndroid, iOS, Windows Phone 7N / AEdición comunitaria gratuita para uso personal o licencia de suscripción para uso comercial
PhoneGap y Apache CordovaHTML , CSS y JavaScriptSí. 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.ioiPhone, Android, Tizen, Windows Phone, BlackBerry, Symbian, Palm, BadaEl formato de distribución nativo de cada plataformaApache 2
Kit de desarrollo de software QtC++ , QMLCreador de QtAndroid (vista previa de tecnología), iOS (vista previa de tecnología), Symbian , Maemo , MeeGo , Linux , Windows , OS XEl formato de distribución nativo de cada plataformaLicencias gratuitas y comerciales disponibles
RhomóvilRuby con funciones de interfaz HTML compiladas a través de un intérprete en aplicaciones nativasN/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 completoSí, 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), SymbianImplementación OTA , iOS a través de App Store, .SIS, .CAB, .APK, .CODRhodes 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íCualquier editor de texto. Como IDE, RubyMine .Android, iOSEl formato de distribución nativo de la plataforma.RubyMotion es un producto comercial.
Toque SenchaHTML , CSS y JavaScriptArquitecto Sencha 2Android, iOS (iPhone, iPad, iPod touch), Kindle, BlackBerry, BadaEntregado a través de la Web o híbrido a través de shells nativos para cada plataformaGPLv3, gratuita para uso comercial, de pago para sistemas OEM e integrados
Cara inteligenteEditor de diseño WYSIWYG con editor de código JavaScriptIDE y SDK de SmartfaceSí Android, iOS (iPhone, iPad, iPod touch), Kindle, Gear, Google GlassEl formato de distribución nativo de cada plataformaLicencia comunitaria y licencias comerciales disponibles
EstenciloEditor de arrastrar y soltar basado en Scratch , Objective-CCódigo XiOS (iPad, iPhone, iPod Touch)El formato de distribución nativo de cada plataformaLicencias de desarrollo gratuitas y comerciales
Plataforma Telerik y AppBuilderHTML5, CSS y JavascriptPruebe directamente en el navegador o dispositivoCliente en el navegador, cliente de escritorio, Visual Studio, Sublime Text o interfaz de línea de comandos (CLI)Android, iOS, teléfono WindowsEl formato de distribución nativo de cada plataformaPrueba gratuita, licencias comerciales y empresariales disponibles
UnidadC# , JavaScript , Boo y otros lenguajes basados ​​en .NETControl 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 plataformaLicencias de desarrollo gratuitas y comerciales.
Estudio de aplicaciones VerivoWYSIWYG, arrastrar y soltar gráficos, JavaScript , lenguajes basados ​​en .NET . Reemplazado por Appery.ioPruebe directamente en el navegador o dispositivoEstudio de diseño propioAndroid, iOS, BlackBerryFormato de distribución nativo de cada plataformaLicencias de desarrollo gratuitas; licencias de implementación por CPU
Aplicaciones ViziWYSIWYG, arrastrar y soltar gráficoPruebe directamente en el navegador o dispositivoEstudio de diseño onlineAndroid, iOS, Windows Phone planeadosEl formato de distribución nativo de cada plataformaDiseño, prueba, demostración y actualización de la aplicación gratuitos; tarifa para publicar
Motor V-PlayObjetivo C , C++ , JavaScript , QML , JavaCreador de QtTodas las plataformasEl formato de distribución nativo de cada plataformaEstán disponibles licencias gratuitas, indie y empresariales.
WakandaHTML5 , JavaScriptSí, estudio WakandaAndroid, iOS, Windows 10 (próximamente) y aplicaciones basadas en navegadorapkLicencias comerciales y de código abierto disponibles
XamarinDO#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 StoreLa distribución nativa de cada plataformaEdición comunitaria gratuita, edición pro incluida en la licencia MSDN de Microsoft
XojoXojo (similar a VB)IDE de XojoiOS, aplicaciones web móvilesLas aplicaciones de iOS son nativas del iPadPrueba gratuita sin límite de tiempo; licencias comerciales disponibles

Servidores back-end

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:

  • Integración con sistemas back-end
  • Autenticación-autorización de usuario
  • Servicios de datos
  • Lógica empresarial reutilizable

Las herramientas disponibles se enumeran a continuación.

PlataformaLenguaje de programaciónEntorno de desarrollo integrado disponibleImplementación multiplataformaOpciones de implementaciónCosto de la herramienta de desarrollo
Servidor MobileTogether de AltovaInterfaz basada en navegadorIDE propietarioServidor 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íbridoLas herramientas de desarrollo son gratuitas, se necesita una licencia comercial para su implementación.
GO!AppZone de Globo plcJavaScript . Conectores de integraciones personalizadas/lógica del lado del servidor: C#, VB.NETSí, GO!AppZone StudioAndroid , BlackBerry , iOS , Windows Phone, 8.x, RTLocal, en la nube o híbridoLas herramientas de desarrollo son gratuitas, se necesita una licencia comercial o suscripción para su implementación.
Servidor IBM MobileFirstHTML5 , CSS3 , JavaScript y lenguajes SDK nativos con API Native WorklightComplemento de Eclipse , independiente y basado en EclipseAndroid , 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 escritorioEn las instalacionesEdición para desarrolladores gratuita a través de Eclipse Marketplace, licencia comercial para implementación
MestizosJavaEclipseAndroid, 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 XEn las instalacionesLicencias comerciales disponibles
WakandaJavaScriptUtilice Wakanda StudioAndroid, iOS (iPhone, iPad), Windows Phone 10 (próximamente), aplicación HTML5Local o en la nubeEdiciones comunitarias y comerciales
Verivo AkulaJavaUtilice cualquier IDE front-endAndroid, iOS (iPhone, iPad), Windows Phone7Local, en la nube o híbridoLicencias de desarrollo gratuitas; licencias de implementación por CPU. Reemplazado por Appery.io
Servidor de integración WebORBC# , VB.NET , Java , PHP , ActionScript, JavaScript , Objective-C ,

XML

Funciona con Eclipse, Visual Studio, intelliJ IDEA y Amethyst IDEAndroid, iOS (iPhone, iPad), BlackBerry Playbook, Windows Phone 7En las instalacionesLicencias de desarrollo gratuitas; licencias de implementación gratuitas y comerciales

Capas complementarias de seguridad

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

  • Encapsulamiento de aplicaciones para mayor seguridad
  • Cifrado de datos
  • Acciones del cliente
  • Informes y estadísticas

Software del sistema

Se necesitan muchos componentes a nivel de sistema para tener una plataforma funcional para desarrollar aplicaciones móviles.

PlataformaLenguaje de programaciónDepuradores disponiblesEmulador disponibleEntorno de desarrollo integrado disponibleImplementación multiplataformaOpciones de empaquetado del instaladorCosto de la herramienta de desarrollo
Adobe AIRActionScript , HTML , CSS , JavaScriptGenerador de Flash , Flash Professional , IntelliJ IDEAAndroid, iOS (iPhone, iPad, iPod touch), BlackBerryEl formato de distribución nativo de cada plataformaFlash Builder , Flash Professional , IntelliJ IDEA : licencias comerciales disponibles Adobe AIR SDK (herramienta de línea de comandos): gratuito
ELABORAR CERVEZAC ; 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 x86No tiene emulador para el código ARM de destino, tiene un simulador para el código de prueba x86Visual Studio 6.0, Visual Studio 2003 .NET, Visual Studio 2005Compilar para la versión específica de BREW disponible en el dispositivo móvilOTATarifas 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 FirefoxHTML5 , CSS , JavaScriptNo, pero hay simulador disponible.Navegador Firefox, FirebugNavegador web en otra plataformaFirefox Marketplace , URL webEl desarrollo requiere Mozilla Firefox y el complemento simulador
Marco compacto .NETC# , VB.NET , Basic4ppcEmulador gratuito, código fuente disponible, también incluido con IDEVisual Studio 2008 , 2005, 2003, IDE Basic4ppcDispositivos basados ​​en Windows Mobile , Windows CE y Symbian a través de herramientas de tercerosImplementación OTA , archivos CAB , ActiveSyncLa mayoría de las herramientas son gratuitas, pero los diseñadores visuales necesitan ediciones comerciales de Visual Studio
Abierto FLHaxe (similar a Actionscript y Java)IntelliJ IDEA , FlashDevelopAndroid, iOS (iPhone, iPad, iPod touch), BlackBerry Playbook, WebOS, HTML5, Flash, Windows (exe), LinuxEl formato de distribución nativo de cada plataformaGratis
Sistema operativo PalmC , C++ , PascalSO 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 FormsDispositivos portátiles Palm OS o Windows Mobile con emulador StyleTapArchivos PRC , instalador PalmSource (.psi)Gratuito (POSE o GCC para Palm OS), comercial (CodeWarrior), o varios marcos comerciales de desarrollo rápido
PitónPitónComplemento para el emulador de NokiaVarios, incluidos complementos para EclipseEl 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 OSImplementación de Sis con py2sis o puede usar Python RuntimeGratis
SymbianC++Emulador gratuitoMuchas opcionesCompilar por objetivoDespliegue del SISHerramientas comerciales y gratuitas disponibles
TizenBasado en la web : HTML5 , CSS , JavaScript Nativo : C , C++Emulador gratuitoKit de desarrollo de software de TizenLa aplicación basada en web estará disponible en el navegador webTizen a través de App Store, URL webEl desarrollo necesita Windows, OS X o Ubuntu Desktop
Ubuntu TouchBasado en web : HTML5 , CSS , JavaScript Nativo : QML , C , C++Kit de desarrollo de software de UbuntuLa aplicación HTML5 estará disponible en el navegador web.Ubuntu Touch a través de la tienda de aplicaciones, URL webEl desarrollo requiere Ubuntu Desktop 12.04 o superior, gratuito
Sistema operativo webJavaScript , CSS , HTML , C y C++ a través del PDKEmulador gratuitoEclipsewebOS, solo PalmImplementación OTA , webOS a través de App Store, URL web, Precentral, .ipkGratis
Windows MóvilC , C++Emulador gratuito (código fuente disponible), también incluido con IDEVisual Studio 2010 , 2008, 2005, eMbedded VC++ (gratis), Formularios SatelliteWindows Mobile , Windows CEImplementación OTA , archivos CAB, ActiveSyncHerramientas de línea de comandos gratuitas o eMbedded VC++, o Visual Studio (edición estándar o superior)
Teléfono WindowsC# , Visual Basic , C , C++Emulador gratuito, también incluido con IDEVisual Studio 2012 , Visual Studio 2010Teléfono WindowsDespliegue 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.

Prueba de aplicaciones móviles

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 .

  • Google Android Emulator : un emulador de Android que está parcheado para funcionar en una PC con Windows como una aplicación independiente, sin tener que descargar e instalar el completo y complejo SDK de Android . Se puede instalar y probar en él aplicaciones compatibles con Android.
  • El emulador oficial del SDK de Android : un emulador de dispositivo móvil que imita todas las características de hardware y software de un dispositivo móvil típico (sin las llamadas).
  • TestiPhone : un simulador basado en navegador web para probar rápidamente aplicaciones web de iPhone . Esta herramienta ha sido probada y funciona con Internet Explorer 7 , Firefox 2 y Safari 3 .
  • iPhoney : ofrece un entorno de navegación web con precisión de píxeles y funciona con Safari . Se puede utilizar para desarrollar sitios web para iPhone . No es un simulador de iPhone, sino que está diseñado para desarrolladores web que quieran crear sitios web de 320 x 480 (o 480 x 320) para usar con iPhones. iPhoney solo se ejecutará en OS X 10.4.7 o posterior.
  • Simulador de BlackBerry : hay una variedad de simuladores oficiales de BlackBerry disponibles para emular la funcionalidad de los productos BlackBerry reales y probar cómo funcionarán el software del dispositivo, la pantalla, el teclado y la rueda de desplazamiento con la aplicación.
  • Automatización de la interfaz de usuario de Windows : para probar aplicaciones que utilizan la tecnología de automatización de la interfaz de usuario de Microsoft, se requiere la API de automatización de Windows 3.0. Está preinstalada en Windows 7, Windows Server 2008 R2 y versiones posteriores de Windows. En otros sistemas operativos, puede instalarla mediante Windows Update o descargarla desde el sitio web de Microsoft .
  • MobiOne Developer: un entorno de desarrollo integrado (IDE) para la Web móvil para Windows que ayuda a los desarrolladores a codificar, probar, depurar, empaquetar e implementar aplicaciones web móviles en dispositivos como iPhone , BlackBerry , Android y Palm Pre . MobiOne Developer fue declarado oficialmente fuera de circulación a finales de 2014. [8]

Las herramientas incluyen

  • eggPlant : una herramienta de prueba automatizada basada en GUI para aplicaciones móviles en todos los sistemas operativos y dispositivos.
  • Ranorex : herramientas de automatización de pruebas para aplicaciones móviles, web y de escritorio.
  • Testdroid : dispositivos móviles reales y herramientas de automatización de pruebas para probar aplicaciones móviles y web.

Principios de diseño para crear aplicaciones móviles exitosas

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]

Patentes

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]

Véase también

Referencias

  1. ^ "Introducción al desarrollo de aplicaciones móviles | IBM". www.ibm.com . Consultado el 24 de junio de 2023 .
  2. ^ "Aspectos esenciales a tener en cuenta al diseñar aplicaciones móviles | GlobalLogic UK". GlobalLogic . 3 de octubre de 2016 . Consultado el 24 de junio de 2023 .
  3. ^ "¿Qué es una aplicación móvil? – Definición de TechTarget". WhatIs.com . Consultado el 24 de junio de 2023 .
  4. ^ Atkinson, Robert D. (octubre de 2017). "La economía de las aplicaciones en Europa: países y ciudades líderes, 2017" (PDF) . Progressive Policy Institute . Consultado el 3 de octubre de 2024 .
  5. ^ "Launching Your App on Devices" (Cómo iniciar una aplicación en dispositivos). Apple Developer . Consultado el 30 de abril de 2016 .
  6. ^ Linev, Roman (14 de noviembre de 2016). «Microsoft cambia el nombre de Xamarin Studio por el de Visual Studio para Mac». Winaero . Consultado el 5 de marzo de 2023 .
  7. ^ Foley, Mary Jo (10 de mayo de 2017). "Microsoft pone a disposición del público general Visual Studio para Mac". ZDNet . Consultado el 2 de abril de 2023 . Microsoft pone a disposición del público general su Visual Studio para Mac (una versión renombrada de Xamarin Studio para Mac).
  8. ^ "MobiOne Developer 1.0 M4: Cree aplicaciones web móviles listas para la App Store y experimente el comportamiento real de los dispositivos en Windows". PRWeb . Archivado desde el original el 8 de octubre de 2009 . Consultado el 31 de mayo de 2021 .
  9. ^ abcde "Estadísticas, uso y descargas de aplicaciones (informe de 2020)". SaaS Scout (anteriormente SoftwareFindr) . 6 de enero de 2020. Consultado el 20 de febrero de 2024 .
  10. ^ abcdefg "15 mejores prácticas de diseño de aplicaciones móviles". ThoughtSpot . Consultado el 20 de febrero de 2024 .
  11. ^ abcd Cordini, Marcelo (6 de enero de 2021). «El mejor diseño de aplicaciones móviles: ejemplos». Qubika . Consultado el 20 de febrero de 2024 .
  12. ^ Nowotarski et al., "Aumento de las tasas de concesión mediante la selección selectiva de clases de patentes", IPwatchdog, 6 de abril de 2011
Obtenido de "https://es.wikipedia.org/w/index.php?title=Desarrollo_de_aplicaciones_móviles&oldid=1249222234"