El panorama actual de TI es muy heterogéneo. Estamos tratando con diferentes plataformas, tipos de dispositivos, factores de forma, sistemas operativos y lenguajes de programación. Un resumen muy interesante al respecto lo ofrece el State of the Developer Nation Q1 2016 Report<\/A> en visionmobile.com. La disponibilidad completa de una aplicación propia para todos los usuarios ya no es realmente viable en este entorno. Cuanto mayor sea la disponibilidad que se desee, más caro será o más compromisos deberán asumirse.<\/P>Para lograr una disponibilidad óptima para una app móvil Native, esta debería desarrollarse al menos tres veces! para las plataformas móviles dominantes actualmente iOS, Android y Windows Phone. Eso es costoso. Para ahorrar costos de desarrollo, el desarrollador podría optar por menos plataformas, pero así también alcanzaría a menos usuarios.<\/P>Ya con este ejemplo queda claro que en la fase de planificación de una app deberían desarrollarse conceptos para lograr con poco esfuerzo de desarrollo – y por tanto menores costos – la mayor disponibilidad posible de apps en diferentes plataformas. Así llegamos al tema del desarrollo Cross-Plattform, uno de los principales desafíos que los desarrolladores deben enfrentar hoy en día.<\/P>El desarrollo Cross-Plattform significa desarrollar el código para una app solo una vez y desplegarla en varias plataformas, usualmente incompatibles entre sí. El desarrollo Cross-Plattform también implica siempre encontrar un compromiso entre el público objetivo deseado, el esfuerzo de desarrollo, la experiencia del usuario (UI\/UX) y la funcionalidad.<\/P> <\/P><\/A><\/P> <\/P>Como se puede ver en la gráfica, existen diferentes enfoques con sus respectivas ventajas y desventajas para la programación multiplataforma. Una buena opción es sin duda la provisión como Web-App. El código se escribe solo una vez y se aloja en un servidor web. La Web-App luego se ejecuta en el navegador en casi todos los dispositivos actuales. Con JavaScript\/HTML5 ya se pueden crear aplicaciones muy potentes y con buen rendimiento. Además de la necesidad permanente de estar online, el límite técnico es el propio navegador, que no permite el acceso a muchos sensores del dispositivo, agendas, todo el almacenamiento local, etc. Por ejemplo, no se pueden realizar apps para trabajo de campo con uso offline de grandes cantidades de datos.<\/P>En contraste, las Native-Apps están especialmente adaptadas a cada plataforma y por tanto pueden acceder a toda la potencia del hardware, componentes UI, almacenamiento y funcionalidad del dispositivo. Este sería el enfoque correcto para una app móvil con funcionalidad offline para trabajo de campo. Debido a esta "especialización", el desarrollo multiplataforma de Native-Apps solo es posible con herramientas especiales como por ejemplo Qt\/QML<\/A>, Microsoft UWP<\/A> o Xamarin<\/A>. El código de apps desarrolladas con los SDKs nativos no puede hacerse multiplataforma posteriormente. Por lo tanto, esto debe pensarse bien antes.<\/P>Las Hybride-Apps son un término medio entre ambas opciones. Con frameworks como PhoneGap<\/A> o Titanium Appcelerator<\/A> u otros similares, el código JavaScript puede compilarse a Native-Apps para varias plataformas y así superar las limitaciones del navegador. Las Hybride-Apps parecen y se sienten como Web-Apps, pero pueden acceder a más recursos del dispositivo.<\/P>El desarrollo de Geo-Apps con tecnología Esri naturalmente no está exento de esta problemática. En Parte 2<\/A><\/SPAN> de este blog se explican soluciones y herramientas para desarrolladores ArcGIS para el desarrollo Cross-Plattform.<\/P><\/BODY><\/HTML>
Para lograr una disponibilidad óptima para una app móvil Native, esta debería desarrollarse al menos tres veces! para las plataformas móviles dominantes actualmente iOS, Android y Windows Phone. Eso es costoso. Para ahorrar costos de desarrollo, el desarrollador podría optar por menos plataformas, pero así también alcanzaría a menos usuarios.<\/P>
Ya con este ejemplo queda claro que en la fase de planificación de una app deberían desarrollarse conceptos para lograr con poco esfuerzo de desarrollo – y por tanto menores costos – la mayor disponibilidad posible de apps en diferentes plataformas. Así llegamos al tema del desarrollo Cross-Plattform, uno de los principales desafíos que los desarrolladores deben enfrentar hoy en día.<\/P>
El desarrollo Cross-Plattform significa desarrollar el código para una app solo una vez y desplegarla en varias plataformas, usualmente incompatibles entre sí. El desarrollo Cross-Plattform también implica siempre encontrar un compromiso entre el público objetivo deseado, el esfuerzo de desarrollo, la experiencia del usuario (UI\/UX) y la funcionalidad.<\/P>
<\/P>
Como se puede ver en la gráfica, existen diferentes enfoques con sus respectivas ventajas y desventajas para la programación multiplataforma. Una buena opción es sin duda la provisión como Web-App. El código se escribe solo una vez y se aloja en un servidor web. La Web-App luego se ejecuta en el navegador en casi todos los dispositivos actuales. Con JavaScript\/HTML5 ya se pueden crear aplicaciones muy potentes y con buen rendimiento. Además de la necesidad permanente de estar online, el límite técnico es el propio navegador, que no permite el acceso a muchos sensores del dispositivo, agendas, todo el almacenamiento local, etc. Por ejemplo, no se pueden realizar apps para trabajo de campo con uso offline de grandes cantidades de datos.<\/P>
En contraste, las Native-Apps están especialmente adaptadas a cada plataforma y por tanto pueden acceder a toda la potencia del hardware, componentes UI, almacenamiento y funcionalidad del dispositivo. Este sería el enfoque correcto para una app móvil con funcionalidad offline para trabajo de campo. Debido a esta "especialización", el desarrollo multiplataforma de Native-Apps solo es posible con herramientas especiales como por ejemplo
Las Hybride-Apps son un término medio entre ambas opciones. Con frameworks como
El desarrollo de Geo-Apps con tecnología Esri naturalmente no está exento de esta problemática. En
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.