Hablemos sobre el desarrollo de apps

Rustin

Madmaxista
Desde
10 Sep 2018
Mensajes
1.090
Reputación
4.186
Como en el foro hay unos cuantos programadores, en calidad de programador junior abro este hilo para soltar algunas preguntas y hablar sobre el tema del desarrollo de apps, y cómo veis el futuro del desarrollo. El caso es que he trabajado con Android Studio, pero habiendo dejado el tema de las apps durante un tiempo para centrarme en el desarrollo web, y queriéndolo retomar en un futuro cercano, me surgen algunas preguntas... de esas que ningún puñetero análisis por internet resuelve, ya que no sé si los juntaletras prueban las cosas por experiencia propia o se copian los unos a otros sin tener ni idea... creo que es más bien lo segundo. Bien, allá van las preguntas.

1) Viendo que Google ha sacado Flutter (Flutter.io) he estado pensando en aprender alguna plataforma/lenguaje que, obviamente, pueda servir para los distintos sistemas operativos, en vez de llevar a cabo la majadería de aprender Android (Java), iOs (Swift), y lo que saquen mañana.

Es decir, está claro que la cosa tira por ahí: En desarrollar para una sola plataforma qué después compile las apps para los distintos sistemas operativos. Y que Javascript es, teniendo en cuenta esa tendencia, lo mejor en lo que especializarse en este terreno (webs, ahora apps... no se le escapa nada). Parece que en eso coinciden todas las compañías tecnológicas. ¿Qué opinais?

2) Ahora, hay varias opciones: Flutter (Google), React Native (Facebook), y otros como Cordova, etc... Si habéis probado alguno, ¿qué tal os fue? ¿Cuál preferís y recomendaríais aprender?
Ah, ¿y qué recomendaríais para empezar a aprenderlo? (ya sabéis, lo típico de, "si volviera a aprender esto, tomaría este camino y no el otro...")

3) Cosas tipo React Native, ¿en qué consisten exactamente? Es decir, ¿creas una página web que sirve para los navegadores, y al mismo tiempo, puedes compilarlo en una app? ¿Tienes que escribir por tanto 1 sólo código para conseguir web+app?

Un saludo!
 
Última edición:

CobraSensei

Madmaxista
Desde
7 May 2016
Mensajes
5.295
Reputación
6.485
Para frontend... lo tipico: html con responsive, cssX, y javascript con decenas de frameworks. Si eres bueno, con un boostrap regupero puedes adaptarte a cualquier cosa...

para el back, lo ideal seria usar javascritp, pero hay tonleadas de lenguajes con su framework correspondiente. Para apps pequeñas o medianas ruby o rails, django o cualquier framework d epython vas sobrado... para las grandes grandes java y creo que C# .net

Es decir, lo mejor es usar algo monolitico con el mismo lenguaje para todo...

y creo que no, no compilan de forma nativa y de hacerlo tendra menos rendimiento que una nativa "pura"

A mi ultimamente me esta llamando la atencion Shiny que es algo asi como hacer webs con visualizaicon basada en R.... muy acotado pero tiene pinta que se podnra de moda en unos meses... en eeuu se esta empezando a pedir y en españa ya lo ves nombrado junto con el pack tipico de "tienes que saber de todo"
 

eugenio

Madmaxista
Desde
17 Nov 2007
Mensajes
670
Reputación
873
IMHO
nativo vs web:
La programación web se ideó para hacer webs relativamente sencillas.
Para hacer trabajos minimamente complejos resulta hoy por hoy se puede hacer casi de todo pero es mucho más complicado hacerlo vía web.
Yo creo que la gente hace aplicaciones web tan solo por el hecho de que son multiplataforma.

nativo por dispositivo vs nativo multiplataforma:
Aquí yo apuesto por nativo multiplataforma porque no me sale de las pelotas aprender todos los entresijos de cada plataforma.
Yo te recomiendo Qt, que se programa con C++ (y tambien con javascript para las pantallas), con eso tienes garantizadas todas las plataformas, y las nuevas idas de olla del navegador como webasm.
 

Rustin

Madmaxista
Desde
10 Sep 2018
Mensajes
1.090
Reputación
4.186
Eso es lo que me joroba... tener que apostar a uno u otro como si fuera a la ruleta, ya que todavía no hay estandarización suficiente. Ahora mismo estoy investigando cuál puede ser la mejor apuesta a futuro. De momento me decanto por React Native (¿alguno lo ha probado?), en el que incluso se ha creado una versión que pretende unificar web + app nativa. necolas/react-native-web

En lo posible quisiera que se pudiera programar con html + js, etc. (no sólo por ser ya frontend web, sino porque parece que los tiros van por ahí), y no tener que aprender lenguajes nuevos que dentro de uno o dos años dejaran de utilizarse.
 

Yndvurain

Himbersor
Desde
15 Sep 2019
Mensajes
878
Reputación
1.892
Para lo que buscas ya existe ionic, que genera apps multiplataforma basadas en html+js, y para el backend puedes usar node si te cuesta cambiar de lenguaje.

En cualquier caso, en informática no se puede apostar tan a largo plazo como uno quiere. Lo de casarse con una plataforma para toda la vida es cosa del pasado, cuando los clientes no eran exigentes. Ahora todo evoluciona muy rápido y toca adaptarse. De todas formas, al que le gusta la programación no le cuesta aprender lenguajes nuevos, o trabajar con 3 o 4 frameworks a la vez.
 

Máximo Décimo Hispanio

Sexador de pollos
Desde
13 Mar 2018
Mensajes
27.038
Reputación
80.780
Lugar
Mandril
Flutter esta creciendo exponencialmente, dependera mucho del nuevo sistema operativo de google fucshia que va ir en dart, si lo sacan va crecer mucho, porque va dominar todas las plataformas

Es muy sencillo flutter, dart tambien me gusta como lenguaje, si vienes de js u otros lenguajes no tiene demasiado misterio

Lo importante es tener conceptos de desarrollo claros, como construir algo, el lenguaje o el framework, se pasa de uno a otro.

Los frameworks de javascript son todos parecidos y flutter tambien, los conceptos son los mismos, es mas la pelea entre ellos que cambios sustanciales de uno a otro. El concepto de estado y background, como guardar la data en local y remoto, es similar en casi todos ellos, unos usan localstorage, indexDB y todo lo relacionado con almacenamiento en memoria, flutter usa la BBDD en local de SQLlite para ello, todo lo demas, notificaciones push y demas es similar, depende mas del backend, no del front de la app

Flutter no esta maduro para aplicaciones complejas en movil, pero el 80% de lo que se crea no es de ese tipo. En web esta en pañales, eso es cierto, necesitan darle un impulso mas fuerte a flutter y madurarlo.

Tienes mejor control de la posicion de los elementos en la pantalla que con html, js, css y demas, eso es una ventaja para el diseño, es mas sencilla esa parte de como diseñar la interface de la app, no usa el puente de js de los otros framework, eso es otra ventaja, le da mas velocidad al compilar el codigo, es mas rapido y veloz casi aproximandose a las apps nativas, lo malo es que pesan mas sus apps

Depende que quieras crear mas que que tipo de framework usar o lenguaje programacion, es la lectura correcta

Para hacer el 80% de las apps flutter sirve muy bien, si tus desarrollos van a ser complejos, flutter no te vale

No creo que google mate a flutter, es la forma que ha conseguido meter dart, el lenguaje que creo para sustituir a js, le ha costado mucho conseguir que empiece a usarse

En visual studio code corre flutter muy bien, mas sencillo que android studio, tiene infinidad de ayudas y se integra a la perfeccion, con snippets de codigo que te dan velocidad
 
Última edición: