¿Qué lenguaje aprender para Android?

  • Autor Autor justpassing
  • Fecha de inicio Fecha de inicio
Depende de que tiempo le vayas a dedicar y que disposición tengas frente a los lenguajes, si quieres ser pro vas por java / kotlin (nativo android), aunque son engorrosos y su curva de aprendizaje es alta. Si ya manejas frameworks de JS puedes crear híbridos (web/app android/ios) o también para hibridos Ionic o C# ; puedes manejar el framework de flutter (android/ios), es muy usado ahora para desarrollos rápidos pero pierdes control a menos que manejes dart a fondo.
 
Flutter seria una buena opción, disminuyes tiempo de desarrollo y tienes la comunicación por canales, ya que esa te permite ejecutar código nativo directamente en Android, pero si quieres algo mas nativo te recomiendo usar kotlin aunque esto aumenta el tiempo de desarrollo ya que tendrás que crear tus UI con xml y deberas entender el constrain y demás cosas para poder tener un UI mas estilizado.

Por otro lado, si solo quieres hacer apps de pelis como mencionaste, bien podrías usar react-native. pero todo eso, ya queda a tu elección
¿Crees que Flutter sea factible para proyectos relativamente grandes como crear un foro desde cero? Lo voy aprender Dart para usar y estructurar algunos proyectos que deseo hacer, ¿Crees que se pueda hacer de todo o esta limutado?
 
¿Crees que Flutter sea factible para proyectos relativamente grandes como crear un foro desde cero? Lo voy aprender Dart para usar y estructurar algunos proyectos que deseo hacer, ¿Crees que se pueda hacer de todo o esta limutado?
Flutter sigue creciendo bastante y muchas empresas ya lo usan en sus apps, sirve para proyectos grandes, la cuestión es que debes de aprender estructurar el proyecto y por lo que he aprendiendo, lo principal es el "manejador de estados".

El manejador de estados (state management en inglés) en Flutter se refiere a la forma en que se gestionan y actualizan los datos y la interfaz de usuario de una aplicación Flutter a medida que cambian los datos o el estado de la aplicación.
Flutter proporciona varias formas de manejar el estado de una aplicación, y la elección de un método en particular depende del tamaño y complejidad de la aplicación, así como de las necesidades específicas del desarrollador.
Algunas de las opciones de gestión de estado disponibles en Flutter incluyen:
  • El estado local del widget: donde el estado se mantiene dentro del widget y se actualiza mediante el método setState().
  • El InheritedWidget: donde los datos se pasan de forma descendente en el árbol de widgets, lo que permite compartir el estado entre widgets sin tener que pasar manualmente los datos a través de cada widget.
  • Provider: una librería que proporciona una forma sencilla de compartir datos entre widgets en un árbol de widgets.
  • Bloc: un patrón de gestión de estado que se centra en la separación de la lógica de negocio y la interfaz de usuario.
Cada uno de estos enfoques tiene sus ventajas y desventajas, y el desarrollador debe elegir el que mejor se adapte a las necesidades de su aplicación.
 
Flutter sigue creciendo bastante y muchas empresas ya lo usan en sus apps, sirve para proyectos grandes, la cuestión es que debes de aprender estructurar el proyecto y por lo que he aprendiendo, lo principal es el "manejador de estados".
Eso he visto, pero en foros de habla inglesa he visto que no le prestan mucha atención a los framework multiplataforma como Flutter porque siempre van y vienen según ellos. Siempre viene otro nuevo y dejó a los otros un poco en el olvido, igualmente creo que es normal como todo en esta vida.

¿Crees que se pueda hacer un desarrollo pesado con funciones novedosas en Flutter programando con Dart? Es lo que más me interesa, estoy muy verde para irme por kotlin o java.
 
Flutter es el indicado por sus componentes, fácil de leer los códigos y además las empresas buscan los developers flutter.
 
Eso he visto, pero en foros de habla inglesa he visto que no le prestan mucha atención a los framework multiplataforma como Flutter porque siempre van y vienen según ellos. Siempre viene otro nuevo y dejó a los otros un poco en el olvido, igualmente creo que es normal como todo en esta vida.

¿Crees que se pueda hacer un desarrollo pesado con funciones novedosas en Flutter programando con Dart? Es lo que más me interesa, estoy muy verde para irme por kotlin o java.
Sí, puedes hacer lo que necesites, además de que también puedes usar código nativo si es que lo requieres.
Creo que es una excelente opción para hacer apps multiplataforma.
 
Sí, puedes hacer lo que necesites, además de que también puedes usar código nativo si es que lo requieres.
Creo que es una excelente opción para hacer apps multiplataforma.
Muchas gracias por responder, eso era lo que faltaba para por fin decantarme por aprender todo el entorno de Flutter.
 
Una consulta para quienes han desarrollado y publicado Apps en Flutter.

Por ejemplo; una grilla con N elementos y vista de cada elemento (imagen y texto).

Cuánto pesa el build final de una app con Flutter? Tanto para Android y iOS.
 
Una consulta para quienes han desarrollado y publicado Apps en Flutter.

Por ejemplo; una grilla con N elementos y vista de cada elemento (imagen y texto).

Cuánto pesa el build final de una app con Flutter? Tanto para Android y iOS.
depende mucho de la si incluye assets, muchos packages entre otras cosas
 
¿Crees que Flutter sea factible para proyectos relativamente grandes como crear un foro desde cero? Lo voy aprender Dart para usar y estructurar algunos proyectos que deseo hacer, ¿Crees que se pueda hacer de todo o esta limutado?
Como menciono @Plaga lo importante de desarrollar con flutter es estructurar bien tu proyecto para poder hacerlo escalable, lo cual tambien lleva de la mano al gestor de estados, como provider, getx, riverpod, entre otros, pero aquí lo importante es las buenas practicas de programación
 
Como menciono @Plaga lo importante de desarrollar con flutter es estructurar bien tu proyecto para poder hacerlo escalable, lo cual tambien lleva de la mano al gestor de estados, como provider, getx, riverpod, entre otros, pero aquí lo importante es las buenas practicas de programación
Bien, tendré en cuenta sus consejos para iniciar bien en el ecosistema de Flutter. Muchas gracias por responder.
 
soy desarrollador android con mas de 5 años de experiencia , he programado en flutter, swift, kotlin.

una app nativa (kotlin y swift) siempre sera mas eficiente que una hibrida, tanto en gestión de memoria, uso de cpu, bateria.

el problema de flutter es que siempre te va a tocar meter código nativo para android y iOS y estarás perdido.

la ventaja de aprender kotlin en la actualidad es que se viene KMM el cual tendrá soporte multiplataforma para iOS y una mejor compatibilidad con lenguaje nativo en swift para que ciertos modelos los trabajes de manera nativa en cada plataforma.
 
Eso he visto, pero en foros de habla inglesa he visto que no le prestan mucha atención a los framework multiplataforma como Flutter porque siempre van y vienen según ellos. Siempre viene otro nuevo y dejó a los otros un poco en el olvido, igualmente creo que es normal como todo en esta vida.
Es exactamente así. La realidad es un poco triste, cualquiera que se tome realmente el tiempo de investigar y darle seguimiento a los mobile devs, encontrará que los fameworks no solo van y vienen... ENCIMA, muchas veces por cambios toca reescribir aplicaciones porque ya no es factible solo actualizarlas y subirlas. Las app stores (specialmente Apple) impone requerimientos de versiones y eso se vuelve un tremendo rollo.

La diferencia está entre alguien (o equipo) que hizo una app en meses, la publicó y fin. Versus alguien o equipo cuya aplicación es exitosa y permanece durante años, requiriendo mantenimiento, actualizaciones, etc, y por ende les toca sentir la presión de los frameworks, cambios de versiones, y los clásicos deprecated (comandos abandonados y reemplazados por otros). De hecho en YT hay buenos testimoniales de DEVS contando que por una simple modificación del cliente se toparon que tocaba reescribirla.
¿Crees que se pueda hacer un desarrollo pesado con funciones novedosas en Flutter programando con Dart? Es lo que más me interesa, estoy muy verde para irme por kotlin o java.
Encontré varios devs que llevan años en el tema (con aplicaciones publicadas y mantenidas), explicando que nativo no solo tiene más velocidad, hay cosas que Apple permite directo en código simple, y que requiere horas y horas de tweaks para Android, cosas como drag and drop celdas o datos en un grid, etc.
 
Unity es la mejor forma y más fácil mekor perfornance
 
Solo he trabajado con Java, pero me gustaría aprender otros entornos para no casarse únicamente con una tecnología, daré un vistazo a Flutter, gracias por las recomendaciones.
 
Atrás
Arriba