Programar aplicaciones móviles o web apps?

Llevo bastante tiempo cruzando del área funcional a la técnica, y el año pasado empecé formalmente un curso de programación de aplicaciones en la universidad. Más allá de lo que yo ya sabía por hobby, lo que siempre me ha apasionado es la programación web.

Este debate es principalmente para compartirles este enlace:

Donde se plantea los pros y contras de aplicaciones móviles (nativas) contra lo que está pisando fuerte hoy por hoy que es hacer algo web (con html5 + js) y de ahí matar a todas las apps móviles.

Hay una guerra a mi entender allá afuera.
Primero lean el artículo, después me dicen qué opinan ustedes?

Abrazos!

2 Me gusta

Bastante interesante el post.

El desarrollo de aplicaciones desktop siempre ha sido mi focos, pero la web es
todo un mundo por delante, y las aplicaciones nativas Mobile, bueno, con Android
y IOS, el negocio está en poder manejar la fuente y crear aplicaciones
robustas. Las aplicaciones Web apps son sumamente buenas y es que esto se
resuelve con “Objetivos” tomemos como ejemplo C y C++, mientras que
C++ tiene más lógica para su majeo C es más rápido.

Yo diría que lo primero es establecer los objetivos del desarrollo y ya luego tomar decisiones
sobre las tecnologías a utilizar, en todo caso no hay un lenguaje per se más
fuerte que otro.

1 me gusta

Interesante información. Buen debate.

@smota tiene razón:

Esa forma de pensar es la correcta… sin embargo… las palabras clave acá (entre varias) son: nativo, robusto, multiplataforma, experiencia de usuario y asequibilidad.

Martin Fowler le da una mirada conceptual y con argumento a las diferencias entre el mundo de aplicaciones nativas y de multiplataforma. En definitiva indica que la experiencia de usuario y la asequibilidad son los factores diferenciadores para elegir una u otra forma de desarrollar.

Lo malo, es que esa visión, como todo lo relacionado a la informática, ya está medio obsoleta :neutral_face: consideremos que, poco tiempo después de esa presentación, aparecen desarrollos interesantes como meteor, o cordova. Si se fijan en el slide número 24, indica que con sólo una pequeña parte de programación nativa, se resuelven las diferencias que menciona en los slide 16-18. Diferencias que siguen siendo, básicamente, experiencia de usuario y asequibilidad.

Yo creo que la pregunta fundamental acá, es ¿vale la pena hacer aplicaciones nativas para dispositivos móviles?. Siguiendo el consejo de @smota la respuesta debería ser “depende”, sin embargo, yo me atrevo a responder simplemente que no.

Desde esa presentación, el mundo de las aplicaciones Web ha sufrido tantas evoluciones, que cada vez se hace menos sostenible dedicarse de lleno a la programación nativa de un mundo tan volátil como lo es el de los dispositivos móviles (y sus sistemas operativos en constante actualización).

Pensemos como programadores. Estamos sentados frente al PC, y nos piden construir una aplicación X. Podemos hacerlo en un lenguaje que nos permita transformarlo de Android a iOS, porque hacerlo para sólo uno no tiene sentido. O es para ambos, o es para ninguno. Y ya que estamos en eso ¿por qué no lo hacemos compatible también para la Web? Y ya que estamos en eso, ¿por qué mejor no lo hacemos Web compatible con todo en HTML5 y JavaScript? Siento que todo converge a que esa será la forma de desarrollar.

Piensen en cosas tan cotidianas como GMailSpotifyGoogle PlayNetflixfacebook… son aplicaciones Web, aplicaciones que usan esa tecnología. Es código que se descarga a tu dispositivo, que el navegador Web interpreta y que hace consultas pequeñas a los servidores para ir rellenando los campos con datos. Usan esa lógica y lo hacen sostenible para toda plataforma.

Creo que las desventajas que expone Martin Fowler poco a poco se fueron resolviendo. Y seguramente en un par de meses más, durante este año, desaparezcan por completo, y ya no haya ventaja sobre la programación nativa sobre la programación Web, lo que acabará por reemplazar los desarrollos futuros orientados a la multiplataforma.


DP-S

3 Me gusta

La base del “análisis” siempre va a estar presente en la tarea del programador, en eso sí estoy de acuerdo.

Pero aquí el tema es otro, todo parece apuntar a que la programación web va a destruir a los programadores de apps nativas, entendiendo por ellas aquellas que bajan desde “Apps store”, “play store” y la tienda de Microsoft que no sé ni como se llama :stuck_out_tongue:

En una parte del debate del enlace que compartí indica que muchas veces los repositorios desde donde se descargan las aplicaciones móviles son un “freno” a los propios desarrollos.

Habrá que esperar un poco, pero mientras tanto…
Vayamos aprendiendo más JS. xD

1 me gusta

Esto me recuerda mucho a los debates futuristicos de Ruby an rails vs PHP, todo apuntaba a la sepurtura inminente de antiquisimo PHP, y hoy dia sigue vivo y ganando adeptos, laravell, symphony y otros son los framewoks de desarrollos mas usados para este ultimo.
La continuidad de un lenguaje se la dan los mismos programadores, en el caso de JavaEE no tiene tanto auge como HTML5 + JavaScript, sin embargo sigue en pie y tiene sus uso.
No puedo negar que hay plataforma que se quedan en el olvido tal es el caso de LightSwitch que tal vez no escucharon, pero aun y estando descontinuada, se le puede sacar buen partido.
Antes de que muera la programacion nativa, se inventaran algo y la mantendran con vida.
Pero veamos que dicen los tiempos y los avances tecnologicos.

1 me gusta

Estamos de acuerdo en que hay áreas que siempre mantienen vivos a avances computacionales específicos. Pero ojo.

No ha muerto C, ni C++, ni Java… no ha muerto ni Scheme, pero no porque los programadores así lo quieren, sino que porque hay áreas de la informática que las mantienen vivas porque son el elemento óptimo para atacar y solucionar esos problemas. Evidentemente HTML5+JS no reemplazará a C, porque no están orientados a atacar los mismos tipos de problemas, es eso, no es decisión de los programadores.

Acá la pelea es entre las aplicaciones nativas de dispositivos heterogeneos, contra la programación Web. Creo que esa pelea específica la está ganando la programación Web (sólo esa pelea, ninguna otra, las otras dejémoslas al margen). A lo que voy, es que no tiene sentido comparar JavaEE con HTML5+JS, porque apuntan a mercados de solución diferentes.

Creo, como dice @SidV, que el desarrollo Web terminará por “comerse” al de aplicaciones nativas para dispositivos heterogeneos. Pero, cuidado con:

Eso aplica, sí y sólo sí, quieres orientar tu camino como programador hacia la programación Web o de aplicaciones no complejas. No vayas a construir un ERP con eso. No vayas a construir una aplicación de control paralelo de procesadores con eso. No vayas a hacer una aplicación cloud con esa tecnología. Si lo vas a aprender, recuerda primero para lo que sirve, y qué harás con ella. Porque dentro de ese marco te será útil, en otro, con mucha probabilidad hay algo mejor.

Tengan siempre presente no caer en el efecto del Golden Hammer. El que básicamente dice “me agarro de una herramienta, y soluciono todo con ella”, no, no, no.

Al igual que @smota, no creo que el lenguaje de Android (por ejemplo) muera. Pero sí morirá para construir aplicaciones para dispositivos Android ¿se entiende? No morirá como lenguaje porque habrá gente que lo usará, ya sea para solucionar bugs del sistema operativo, o para hacer controladores para Hardware específico, o ese tipo de cosas. Pero para hacer aplicaciones, la tendencia irá a crearlas en otros lenguajes y con otras herramientas, como HTML5+JS.

Cuidado con el Golden Hammer :fearful: a veces caemos mucho en eso para simplificarnos nuestra vida.


DP-S

2 Me gusta

Mis respeto a las aplicaciones web apps, solo digo que es demasiado decir que eliminaran a las nativas.
Solo recuerden Xamarin Studio, Phongap y otras tecnologias en esta rama que dia a dia mejoran para hacer mas optimo el desarrollo de las native apps para diferentes plataforma.

1 me gusta

Y cuando pensábamos que JavaScript iba a dominar el mundo, aparecen cosas como esta:

Elbowing JavaScript out

:joy:


DP-S

Hablando de SAP , para esto ya esta SAP Fiori , con SAP Web IDE entre otras herramientas. Pueden probarla a traves del link https://www.sapfioritrial.com/ pulsan en “See it in action” y podran ver que es lo que viene en apps para cualquier dispositivo.

Saludos,

Hola a todos, este hilo es un hilo muy interesante…

Desde mi opoinión creo que HTML5 + JS (el framework que sea) está ganando mucho peso y va a ir desplazando a la aplicaciones nativas poco a poco, pero de momento las aplicaciones nativas son superiores en muchas cosas…

En su día me hice un aplicación para el IPAD con xcode usando servicios web con lo que me conectaba en SAP para recibir ciertos datos (claro pegate unos meses para aprender como va el nuevo lenguaje), el año pasado me hice un curso de Android claro pegate unos meses para ver como funciona esto otra vez, y así sucesivamente por lo que claro es un problema según que plataforma quieres desarrollar, ahora mi proximo reto es darle al HTML5 + AngularJs y algún otro framework para probar a conectarmen con SAP…

He visto el SAPUI5 y he estado haciendo mis pinitos, una aplicación chorra que se conecta a SAP y mediante un Odata sacar los datos del sistema, sinceramente programar en eclipse y no tener un IDE en condiciones me desanima un montón (no pueden sacar un entorno amigable y que puedas arrastrar el componente que necesites y ya programa por debajo lo que haga falta), si lo hicieron con las WebDynpros porque no sacan algo integrado con SAP, algo al estido de Microsoft Studio o algo así o algo integrado con las SE80.

Por lo que sé de momento SAP Web IDE es sólo para la solución en la nube y no la solución On premise, la que tenemos yo creo que la mayoría de la gente, la instalada en nuestros propios servidores… SAP Fiori no lo termino de ver no sé a lo mejor son muchos años de usar la SAPGUI (yo ví en su día cuando empece en este mundo un SAP R2 funcionando y era todo pantallas en MS-DOS y la gente se acordaba de todas las transaciones de memoria era para flipar).

Y luego si quieres modificar algún programa standard de Fiori usa un program en SAP para bajarte unos ficheros que luego subes a eclipse haces lo que quieres y los vuelves a importa a SAP, pero de que vamos marcha atrás…
me parece un auténtico coñazo…

Saludos a todos…

4 Me gusta

jejej Has hablado de muchos puntos y topicos importantes, a mi en lo particular me gustan las universal apps, porque te permiten vender la idea y el desarrollo es sobre la marcha. Eclipse habre un tema aqui en geek de eclipse para decirte toda mi experiencia con ese IDE xD pero concuerdo contigo en muchas cosas.
Y las web apps aun no las he hecho pero si las he usado, de hecho son bien. Habria que ver mas a fondo, seria bueno que personas que desarrollen en native apps o web apps entren aqui y nos den su punto de vista, cargados de expereincias.

1 me gusta

Pues yo comparto parte de la idea que mencionaron al principio…creo que fue Smota !!! y buehhh de ahi pare de contar…

lo que comenta Alfonso, creo que esta muy orientado a sap y por ahi voy a puntando yo ahorita y de lo que me he dado cuenta es que sap apunta todo a la nube y por lo que estoy entendiendo de ese asunto todo es con fiori y ahi es html 5 y js !! y otra cosa que veo que a punta mucho a negocio es la integracion…

en ssff por lo poco que veo, una mucho xml y ayer vi a un pana que no se que hizo pero no era xml o algo que yo conociera jajajajaja !!! pero lo cierto que a nivel de negocios, creo que la nube es a la lo que apunta todo y ahi las app web ganaran mucho terreno, en la medida que vayan pensando cosas y las empresas vayan dejando el miedo del viaje de la info en la nube seguiran ganando terreno !!

estos dias he escuchado mucho que abap tarde o temprano va a morir…pero no se, para resumir…pasaran años !! y creo que ahi seguiran las aplicaciones nativas porque en esto de la informatica cada cabeza es un mundo y muchos ven oportunidades en terrenos donde nadie mas las ve y a veces las pegan

1 me gusta

Es este el motivo por el cual Microsoft decidió adquirir a Xamarin, para lograr dar un paso adelante en la universalidad y que todo su entorno sea universal y software sea multiplataformas, a final de cuentra ni google, ni apple unificarian sus plataformas debido que unirlas representaria perder fuertes ingresos economicos.

Y apoyo las palabras de @smota hay que hacer el analisis.

1 me gusta

Vaya, que me da el bajón ya que yo estoy ahora estudiando desarrollo multiplataforma xD

Realmente no tengo experiencia ninguna para poder dar una opinión válida, me comentó un amigo que lleva ya mucho tiempo en el sector que el futuro estaba en las apps móviles, aunque leyendo vuestros comentarios le encuentro total sentido a que el desarrollo web se pueda poner por delante.

Aunque veremos, mientras sigan apareciendo dispositivos (gafas, relojes…alguno tendrá éxito!) o aumenten las prestaciones de los vehículos (no creo que quede en el olvido el coche de conducción automática), las app nativas deberían seguir en auge y coexistiendo con las app web.

1 me gusta

la programacion es algo super bien pagado!! …