Desarrollo nativo con iOS

octubre 22, 2019

Hace varios años, la única opción para desarrollar una aplicación y que pudiera ejecutarse en varios sistemas, iOS y Android principalmente, era la plataforma Apache Cordova. Era bastante pesada ya que utilizaba contenedores web y costaba mover con los procesadores móviles de la época. Pero en la actualidad existen soluciones que generan código ya compilado, véase Xamarin o ReactNative, en base a un sólo desarrollo.

iOS desarrollo

Partiendo de la premisa de que consideremos nativas las aplicaciones realizadas con las herramientas de desarrollo oficiales de Apple, vamos a analizar y sobretodo a comparar el desarrollo sobre estas plataformas intentando no entrar, aunque va a ser imposible, en opiniones personales.

Optimización y velocidad

Como comentaba en las líneas anteriores, el principal escollo de las plataformas que utilizan contenedores web es el consumo de recursos. Para ejecutarse digamos que cada aplicación que tengamos abierta está utilizando un navegador web casi completo que por un lado deja sin memoria a nuestros equipos y por otro genera una carga muy alta en el procesador.

Si bien hace años teníamos la App Store plagada de aplicaciones desarrolladas en Cordova, la tendencia se ha trasladado a macOS con el famoso framework Electrón. Aplicaciones muy utilizadas como Slack, Spotify o Skype están desarrolladas con esta tecnología. Las podréis indentificar porque todas tienen un proceso llamado “(nombre de la aplicación) Helper” que consume casi 500 MB de memoria RAM en algunas ocasiones. Esto es porque ejecutan un navegador Chromiun completo para navegar por el contenido web propio de la aplicación.

Pero hay otros frameworks que generan código compilado puro y duro. Es esta ocasión el consumo de recursos no están acusado pero seamos honestos, el framework de desarrollo proporcionado por Apple sabe la máquina que hay por debajo y por lo tanto siempre optimizará los recursos de la forma más adecuada. Pero sigamos porque queda tela que cortar.

Experiencia de usuario

Tanto los usuarios de iOS como de Android, incluso podemos extrapolarlo a Windows o macOS, estamos acostumbrados a tener las cosas en su sitio. Los menús en su orden, pestañas de navegación bien arriba o bien abajo, gestos de navegación para ir atrás… Por lo tanto no es muy lógico pensar que un desarrollo, y un sólo diseño, valdrá para todas las plataformas. Ya no hablamos de colores porque cada aplicación tendrá su identidad y su marca, si no de la usabilidad que debería pegarse lo más posible al sistema en la que se ejecuta.

Voy a poner un ejemplo muy sencillo: WhatsApp. Y no voy a entrar en cómo funciona el servicio, si no en sus aplicaciones para iOS y Android. Son dos aplicaciones totalmente nativas donde encontramos los menús, botones, diálogos donde deberían estar. En Android la barra de pestañas está arriba porque así funciona en la plataforma, en cambio en iOS, la tenemos en la parte de abajo, igual que en las demás aplicaciones de iPhone.

No hay que reinventar la rueda, cada aplicación es única pero si se pega al sistema el usuario no necesita que nadie le enseñe a utilizar porque se usa igual que las demás. Podemos poner colores, formas, animaciones estupendas para diferenciarnos y que nuestra aplicación aporte un extra con respecto a las demás.

Características avanzadas

Como mínimo una vez al año, los sistemas operativos sacan actualizaciones que puede cambiar cambiar características básicas e incluso hacer que una aplicación deje de funcionar. Si la aplicación está realizada con el framework oficial de Apple es muy poco probable que la aplicación tuviese errores o que no funcionase en absoluto. Quizás será necesario revisarla o simplemente generar nueva versión y disfrutar en muchos casos sin tocar una línea de código, de las novedades introducidas por la actualización.

Al hilo de las novedades, para el desarrollo multiplataforma, será necesario esperar a que la empresa de turno que provee las herramientas, las actualice para poder utilizarlas. Pero no se queda ahí la cosa, si no que muchas veces o es complicado e incluso imposible y simplemente no se puede hacer uso de determinadas características de iOS en este tipo de desarrollos.

Apple normalmente además de introducir novedades, piensa la manera de que los desarrolladores puedan incorporar éstas de forma sencilla en sus aplicaciones. Esto es una ventaja inmensa porque permite evolucionar funcionalidades sin apenas esfuerzo.

Cada vez que los iPhone han cambiado el tamaño de pantalla hemos visto aplicaciones multiplataforma que han tardado casi un año en adaptarse y quitar esas bandas negras. Esto se ha debido a la suma del tiempo que la plataforma de desarrollo ha tardado en actualizarse y por otro lado, que la adaptación ha sido más costosa para los desarrolladores. Y hablando de costes, ¿un sólo desarrollo será más barato?

Coste y mantenimiento

La intuición dice que si sólo contrato a personal especialista en una tecnología necesitaré menos recursos que si tengo a varios de diferentes lenguajes. Pero claro, las herramientas de desarrollo a menudo requieren extensiones que permitan interactuar con iOS/Android de forma directa y esto nos obliga a tener conocimientos de desarrollo nativo para las mismas. Ya tenemos un problema porque de poco nos sirve ahora tener un equipo de una sóla disciplina si necesitamos de las otras.

Además, una vez que tenemos la aplicación publicada y sale una nueva actualización es muy probable que tengamos que revisar el código y esto genera más gastos aún. Porque encima tenemos que tocar tanto la parte común como la específica para cada plataforma.

La compañía AirBnb era una de las abanderadas de ReactNative, propiedad de Facebook, que utilizaba un desarrollo web para crear código compilado. Además precisamente esta aplicación era muy visual y era un ejemplo de diseño (lo de usabilidad podríamos debatirlo). Pero hace un año indicaron que tras analizar lo que hemos venido comentando en este artículo, sopesaron pros y contras y empezaron a eliminar la parte común en ReactNative de las aplicaciones para centrarse en los desarrollos nativos.

No dejes de leer que ahora viene la solución.

Catalyst y SwiftUI

No me gustaba la idea de dejar los problemas sobre la mesa pero no las soluciones. Y precisamente han llegado en la WWDC 2019 donde Apple ha presentado dos importante proyectos que asientan las bases para el futuro de las aplicaciones para sus plataformas. Sabíamos algo ya que el año pasado dejaron claro que sus sistemas (iOS, watchOS, macOS, tvOS, iPadOS) no se fusionarían pero si que confluirían por sus aplicaciones.

El proyecto Catalyst (anteriormente conocido como Marzipan) consiste en poder portar las aplicaciones desde iOS a macOS con el mínimo esfuerzo posible. Si bien el desarrollo de iOS ha logrado aplicaciones de calidad nativas para la plataforma, el caso de macOS ya que o bien no existían las aplicaciones o se utilizaban tecnologías web ya sean páginas de toda la vida o encapsuladas en una aplicación. Tanto en las demos como los desarrolladores que están probando las betas, dejan ver que portar las aplicaciones es muy sencillo y además se adaptan las interfaces forma automática al sistema donde se ejecutan.

Pero lo que no nos esperábamos era SwiftUI. Acabamos la conferencia totalmente boquiabiertos y no dábamos crédito a lo que salía en la pantalla. Más allá de lo que representa a nivel tecnológico, lo que proporciona este framework es realizar un único diseño que adapta sus comportamiento, tanto a nivel funcional como visual, al sistema sobre el que se ejecuta. Y sin hacer nada, un código para cinco sistemas, así de simple y sin perder el foco: el Apple Watch con su corona digital, iPhone con interfaz táctil y el iPad con esa interfaz pero más pantalla, el AppleTV con su mando y sus muchas pulgadas de pantalla y los Macs con teclado y ratón.

Por mi parte, y sé que al menos los desarrolladores que conozco y que de verdad saben la importancia de las novedades de iOS 13 y macOS 10.15, estamos ansiosos por que llegue Septiembre y poder disfrutar de las nuevas aplicaciones y además poder actualizar las nuestras para mejorarlas de forma sustancial.

What do you think?

What do you think?

22 Comments:
octubre 17, 2019

buena pagina pero quiero saber como o donde comprarlo y ocuparlo en el movil

noviembre 21, 2019

Desde Baoss ofrecemos productos y soluciones a medida para empresas y organizaciones. Para particulares puedes buscar en internet por herramientas de análisis de datos y podrás acceder una serie muy variada de oferta dependiendo tus necesidades y presupuesto.

octubre 25, 2019

El avance tecnológico es indudablemente de gran ayuda en los diferentes sectores o áreas de la vida real. Me gustaría saber el uso del big Data en las exploraciones mineras,dando un ejemplo real.

noviembre 21, 2019

Estimado Alberto, gracias por tu comentario. Para analizar un caso real en el sector que comentas puedes ponerte en contacto con nosotros a través del formulario que encontrarás en la página de Contacto y con mucho gusto estudiaremos tu caso.

diciembre 17, 2019

Creo que también ha sido muy útil en las predicciones de las ocurrencias de eventos de la naturaleza, como los huracanes, los terremotos, maremotos, las trombas marinas, incluso creo que con los suficientes datos podrán predecir los incendios forestales

febrero 2, 2020

Hola muy buen día, soy estudiante de Ciencias de la Tierra y el Big Data es uno de los temas que más se están manejando en la actualidad, pues sus aplicaciones son realmente ilimitadas- Me gustaría que me compartieran un poco de sus conocimientos a manera breve y general sobre las aplicaciones en casos de la vida real que se estén llevando a cabo en sectores como la industria minera, la industria petrolera y algunas otras aplicaciones en la solución de problemas ambientales.

.Espero me puedan compartir un poco de su información, sin duda sería interesante aplicarlo en la solución de problemas de mi área de estudio y de la misma forma compartirlo con mis colegas de profesión, pues es necesario divulgar estos conocimientos para que lleguen a más personas y comiencen a tomarse en cuenta en otras áreas de estudio. Saludos y gracias por su tiempo

febrero 21, 2020

Gracias Emiliano por tu comentario y por seguirnos. Iremos publicando nuevos artículos. Suerte en tu carrera!

mayo 1, 2020

I am really enjoying the theme/design of your site.

Do you ever run into any browser compatibility issues?
A few of my blog readers have complained about my site not
operating correctly in Explorer but looks great in Firefox.
Do you have any tips to help fix this problem?

mayo 11, 2020

Not at all. Thanks!

junio 6, 2020

Hay algún municipio que utilice el big data y que haya mejorado el servicio a la ciudadanía, me podrías compartir esa información

junio 11, 2020

Prácticamente todos los municipios grandes lo llevan utilizando hace años para medir y prever niveles de contaminación, tráfico, turismo, y muchos casos mas.

octubre 18, 2020

A través de la Big Data, existe el más pavoroso riesgo, todo lo anterior obvia el mayor peligro implícito en este tipo de tecnologías que hoy por hoy están fuera de control. La posibilidad de controlar, manipular, inducir, orientar a poblaciones enteras en pos de obtener objetivos perversos dirigidos por poderes fácticos ubicados en cualquier parte del mundo. Estamos iniciando un proceso que más temprano que tarde terminará con las democracias occidentales.

10 Trackbacks:

[…] conclusiones obtenidas del estudio masivo de datos ya están revolucionando muchos campos que nada tienen que ver con la empresa o el retail. Por ejemplo: Google y el CDC, el centro de control de enfermedades de Estados Unidos, se aliaron […]

[…] Fuente de información: https://www.baoss.es/10-ejemplos-usos-reales-big-data/ […]

[…] Referencias: wikipedia.org, pauhortal.net, baoss.es, powerdata.es, mintic.gov.co […]

[…] Y, como decíamos, esta tendencia no solo puede ayudarnos a mejorar las ventas en nuestros negocios, si no que, aplicada a otros sectores, puede mejorar nuestra calidad de vida. La administración pública, el turismo, la sanidad, hacienda… todos ellos disponen de grandes almacenes de datos que con un buen análisis y el uso de las herramientas adecuadas pueden aportar importantes soluciones. Hay ya muchos ejemplos reales de uso de Big Data en este sentido: se integran datos de historiales clínicos con otros de redes sociales para detectar brotes de gripe en tiempo real; se usan datos de tráfico rodado para mejorar la movilidad en las ciudades; o el uso de datos personales (a veces trascendiendo el derecho a la privacidad) para evitar ataques terroristas. Ver más ejemplos aquí. […]

[…] EJEMPLOS: Marketing y ventas son quizá las áreas de mayor aplicación de big data en la actualidad, los datos que se encuentran sirven para entender mejor al cliente. en la salud pública La capacidad de procesamiento de plataformas de análisis de big data nos permite ya descodificar cadenas enteras de ADN en cuestión de minutos y permitirá encontrar nuevos tratamientos y comprender mejor las enfermedades, sus desencadenantes y los patrones de propagación mejoramiento de la seguridad: El sistema de IA creado en el MIT predice el 85% de los ciberataques.  Otros ejemplos: Las fuerzas policiales están empezando a utilizar herramientas de big data para dar con criminales e incluso prevenir actividades criminales.Otro ejemplo que lleva años empleándose es en la detección de transacciones fraudulentas con tarjetas de crédito. https://www.sas.com/es_pe/insights/big-data/what-is-big-data.html https://xombit.com/2015/11/big-data-procesar-informacion http://www.iic.uam.es/innovacion/big-data-caracteristicas-mas-importantes-7-v/ https://www.baoss.es/10-ejemplos-usos-reales-big-data/ […]

[…] Lee más ejemplos de Big Data Analytics eficaz aquí. […]

[…] El uso de Big Data: El uso de Big Data nos facilita muchísimo la conexión con posibles compradores y sus intereses, esto nos ayuda a ser […]

Comments are closed.

More notes