Desarrollo multiplataforma grado superior
Kotlin multiplataforma móvil
volver al blog20 de diciembre de 2012Cómo seleccionar una herramienta de desarrollo multiplataformaporMark WilcoxinNegociosCon la amplia selección de herramientas de desarrollo multiplataforma (CPT) disponibles en el mercado, ¿cómo debería un desarrollador seleccionar una herramienta de desarrollo? Los criterios exactos de selección variarán en función del proyecto y de los desarrolladores que participen en él. Sin embargo, es valioso observar los criterios que otros desarrolladores han utilizado para seleccionar la herramienta de desarrollo y, lo que es aún más importante, las razones por las que han dejado de utilizarlas. Afortunadamente, disponemos de estos datos procedentes de nuestra encuesta sobre herramientas multiplataforma realizada a principios de año.
Los criterios de selección de los desarrolladores están muy sesgados hacia la amplitud de las plataformas soportadas por cada herramienta. Este era el panorama a principios de 2012, aunque se vuelve menos importante a medida que iOS y Android siguen dominando el mercado y la mayoría de las herramientas cubren entonces todas las plataformas principales.
La capacidad de utilizar las habilidades existentes es la segunda razón más citada para la selección de la herramienta. Ni que decir tiene que los desarrolladores ven en las TPC una forma de llegar a otras plataformas sin tener que aprender nuevos conocimientos de programación, ya sea un nuevo lenguaje de autor o un nuevo entorno de desarrollo. Este es un criterio de selección importante, pero puede ser peligroso si la herramienta no se ajusta a las necesidades del proyecto. Es probable que muchos de los desarrolladores que abandonaron las herramientas multiplataforma tuvieran este aspecto muy presente en sus criterios de selección. Sin embargo, la falta de reutilización de habilidades también fue una queja común entre los que abandonaron las TPC, lo que sugiere que la curva de aprendizaje también suele subestimarse.
Desarrollo de aplicaciones multiplataforma
La capacidad de desarrollar aplicaciones móviles multiplataforma robustas, seguras y de alto rendimiento es uno de los proyectos y flujos de trabajo de aplicaciones móviles más solicitados entre las PYME y las grandes empresas. El desarrollo multiplataforma es un esfuerzo esencial y a menudo crítico que permite a las empresas diseñar y desplegar rápidamente sus activos móviles en una variedad de plataformas sin tener que recodificar para cada sistema operativo (OS) y plataforma nativos. Cuando las empresas de desarrollo tratan de ampliar sus activos empresariales digitales mediante la ingeniería de aplicaciones móviles, el tiempo, los recursos y los fondos monetarios necesarios para estos proyectos son los factores más críticos sobre los que deliberan los ejecutivos. A continuación, los requisitos de gestión, el tiempo de comercialización y los gastos generales necesarios para desarrollar para cada plataforma nativa suelen ser los aspectos más significativos del proyecto. El desarrollo multiplataforma ofrece a las empresas la posibilidad de reducir los costes de desarrollo y mantenimiento a la mitad utilizando un único flujo de trabajo para diversas plataformas. Como señala HackerNoon, sólo en 2020 se prevé un aumento del 72,97% en la deslocalización del desarrollo multiplataforma, mientras que -dentro del mercado total de desarrollo de aplicaciones móviles- la demanda de desarrollo de aplicaciones multiplataforma superará los 7.900 millones de dólares en 2020. TechBeacon también señala que "Forrester estima que más del 60 por ciento de las empresas ya participan en el desarrollo multiplataforma".
Marcos de desarrollo de aplicaciones móviles
Pedir la compra, concertar una cita con el médico, pagar los servicios públicos... todas estas cuestiones pueden resolverse con el smartphone. Por eso las aplicaciones móviles son tan importantes hoy en día: ayudan a las empresas a establecer relaciones con su público e incluso a aumentar las ventas. Una tendencia en el mundo de las aplicaciones es el desarrollo multiplataforma, cuando un programa con un único código se crea tanto para iOS como para Android.
Una aplicación móvil para empresas es una forma de aumentar las ventas y la fidelidad del público. En las apps, los clientes pueden hacer una compra con un solo clic o contactar rápidamente con un gestor. Para las empresas, una aplicación móvil es una forma fácil de recordar a los usuarios, insertando, por ejemplo, notificaciones push. Éstas informarán a los clientes sobre ofertas ventajosas o promociones especiales. La aplicación móvil puede integrar la tarjeta de bonificación o descuento de una tienda, para que los clientes no tengan que llevarla en su cartera física.
Por ejemplo, una compañía de seguros puede utilizar una aplicación para implementar la posibilidad de elaborar rápidamente productos de seguros y tener todos los documentos a mano. Un centro médico - para concertar una cita con un médico, accediendo a los historiales médicos. Un club de fitness - para inscribirse en los entrenamientos y recargar su cuenta. Una cafetería, un bar, un restaurante - para ver el menú. Una marca de ropa - para ajustarse mediante herramientas de realidad aumentada. ¿No suena increíble?"
Marcos de trabajo para aplicaciones móviles
En lo que respecta al uso de la memoria antes (PreRAM) y durante (RAM) de las pruebas de referencia, también utilizamos el ANOVA (α = 0,05), junto con la prueba de orden de rango de Spearman para informar sobre la correlación entre el uso de la memoria en estado de reposo (PreRAM) y la RAM computada.ResultadosEn esta sección, en primer lugar, evaluamos los resultados de rendimiento general independientemente de las tareas y los dispositivos individuales. Nos interesa explorar el panorama general: cómo se comportan los marcos en términos de tiempo de finalización general, uso de la CPU y ocupación de la memoria en estado inactivo y durante la tarea. En las figuras 3, 4, 5, 6, 7 y 8, los valores atípicos regulares se indican con un círculo negro (⋅), mientras que los valores atípicos más extremos se indican con un asterisco (*). A continuación, evaluamos cada tarea individual en función de su rendimiento en los marcos analizados.
La figura 3 (página siguiente) muestra un diagrama de caja del tiempo de ejecución por marco y por tarea, y la figura 4 (página 23) muestra un diagrama de caja que ilustra el tiempo de ejecución entre los distintos marcos, independientemente de la tarea. Esto podría indicar que para la mayoría de las implementaciones, el tiempo de finalización es muy fluctuante. Sólo NativeScript y Flutter no mostraron en el mismo grado los mismos resultados fluctuantes, aunque la implementación de Flutter tiene una media general de TTC más alta que la de los otros frameworks. No obstante, los resultados de las pruebas comparativas de Ionic indican que el marco puede cruzar la marca de 10 000 ms para obtener datos de geolocalización con más frecuencia que las demás implementaciones. Como se muestra en la Tabla 4 (p. 23), los bajos valores de p < 0,01 para todos los marcos de trabajo multiplataforma indican que son significativos, excepto para MAML/MD2. Esto, sin embargo, se alinea bien con la intención de un marco impulsado por modelos que genera código fuente idealmente indistinguible de una implementación nativa.