#41
- ¿Realmente es desarrollar la app y crear el Build para iOS y Android sin más? Es decir, ¿Hay que meter condicionales en algún momento del código para diferenciar?
Para empezar, necesitas macOS si quieres realizar una build para iOS. El resultado es código nativo así que la build se hace mediante XCode en el caso de iOS y tienes que entender un poco como funciona cocoapods para las dependencias.
En el caso de android igual que una aplicación nativa, gradle, etc...
Lo que han conseguido con flutter es desarrollar una sola UI para las 2 plataformas ( y ahora con soporte web también). No hace falta añadir código especifico para cada plataforma.
Lo que han hecho es crear plugins los cuales si que gestionan código nativo para cada plataforma. Es decir para usar google maps por ejemplo solo tienes que añadir el plugin como tal. Tú widget en este caso ( el código que vas a crear tú ) es exactamente el mismo para todas las plataformas, pero las llamadas que se van a realizar no son exactamente las mismas. Aquí tienes un poco más de detalle acerca del framework.
2.¿Que tal es el lenguaje que usa flutter?
El lenguaje es Dart y para mi que estaba desarrollando en c / c++ la gran mayoría del tiempo ha sido bastante fácil adaptarme. Puedes echarle un ojo aquí
https://dart.dev/guides/language/language-tour
3.¿En algún momento te has visto limitado o te has tenido que calentar la cabeza de más por usar flutter y no haberlo en nativo? ¿Qué desventajas has visto en cuanto a desarrollo?
Realmente ha sido ahorrar tiempo el usar flutter. En un proyecto así tener que mantener 1 código diferente para cada plataforma era totalmente impensable. No puedo hablar de desventajas ya que desconozco el proceso de hacerlo nativo para los 2. Lo que si puedo decir es que durante el desarrollo siempre han estado surgiendo cosas, y lo bueno es que puedes solventarlo prácticamente todo. Fork al plugin donde tienes problemas y a modificar el código nativo. Si son problemas del SDK directamente puedes reportarlo en github y en mi caso a los pocos días estaba arreglado.
4.¿El rendimiento se ve mermado en cierto modo o tú no has notado nada?
Me gustaría hacer una comparativa, pero ahora mismo el tiempo no es el suficiente como para ponerme con eso. Puedo decirte que el rendimiento es bastante bueno o por lo menos para el tipo de aplicación.
5.¿Que webs/libros/recursos me recomendarías para aprender flutter?
Lo que te recomendaría es crear tu propio proyecto, puede ser algo muy pequeño con una sola pantalla incluso. Por ejemplo crea una pagina que muestre productos como si se tratara de una tienda online. Sin llamadas a ningún lado, todo hardcoded pero así vas aprendiendo y vas viendo como funciona todo esto. Hay infinidad de vídeos en youtube donde puedes encontrar muchos ejemplos, incluido el código fuente.
6.¿Los diseños y maquetación de la app también la has hecho tú?
Todo lo he hecho yo, tanto maquetación como el diseño. Ha sido coger lo que la gente conoce ( en este caso Instagram,twitter,etc...) y llevarlo a lo que yo quería hacer.
Si algo no queda claro, ya sabes por aquí andamos. Un saludo!