Entrenamientos Avanzados Premium de Flutter por Majid Hajian

Crea Impresionantes Aplicaciones Flutter con Confianza

flutter engineering book

Ve más allá de solo programar:

Sumérgete en la esencia de la ingeniería de Flutter. No se trata solo de hacer que las cosas funcionen; se trata de dominar el arte. Desde comprender estrategias de alto nivel hasta asimilar conceptos avanzados complejos, estoy en una misión para transformarte en un profesional de Flutter.

FOO
BAR
BAZ

Esta guía es directa y concisa, enfatizando ejemplos prácticos. Aprenderás diferentes temas capítulo por capítulo a tu propio ritmo. Es esencial tener experiencia previa con Flutter, Dart y programación básica.

¿Qué debo hacer para convertirme en un mejor ingeniero de Flutter profesional?

— Un desarrollador de Flutter

¡Hola! Soy Majid Hajian, autor del proyecto "Flutter Engineering". Soy un apasionado ingeniero de software desde 2006, habiendo asumido varios roles que van desde desarrollador hasta arquitecto. He sido líder y educador en la comunidad de Flutter desde 2019. Desde que asumí estos roles, la pregunta anterior sigue surgiendo.

Majid Hajian

A lo largo de mi carrera, he trabajado en varios roles como desarrollador backend, frontend, full-stack, arquitecto de software y, más recientemente, como Jefe de Relaciones con Desarrolladores. Aprovechando mi experiencia, he pasado casi un año desarrollando el proyecto "Flutter Engineering". Con este proyecto, pretendo mejorar tus habilidades y guiarte hacia la maestría. A través de "Flutter Engineering", quiero compartir las valiosas lecciones que he aprendido a lo largo de mi carrera.

Aunque tiendo a tener un enfoque lógico y analítico, lo que me hace hábil en programación, siempre tengo curiosidad por convertirme en un ingeniero de software superior. ¿Cuál es la forma más efectiva de diseñar la arquitectura de una aplicación? ¿Cómo puedo gestionar todos los aspectos del desarrollo de aplicaciones, no solo la codificación?

¡Echa un vistazo al proyecto "Flutter Engineering"! He compilado un libro con contenido arquitectónico y avanzado, y materiales de apoyo como videos, ejemplos de código, un podcast y un boletín.

El proyecto "Flutter Engineering" va más allá del libro, profundizando en conceptos de ingeniería de software y temas avanzados adaptados al desarrollo de aplicaciones Flutter.

¡Hola! Soy Diego Alejandro López Camacho , un apasionado colombiano con más de 7 años de experiencia en el desarrollo de soluciones de software innovadoras. Como traductor de este libro al español, mi objetivo es ayudar a expandir el conocimiento de Flutter en la comunidad hispanohablante.

Foto de Diego Alejandro López Camacho

Mi experiencia abarca tanto tecnologías de front-end como de back-end, con un fuerte enfoque en Flutter y otros frameworks modernos. He liderado equipos multidisciplinarios y entregado aplicaciones escalables y de alta calidad que mejoran la experiencia del usuario y la eficiencia operativa.

Me apasiona resolver problemas complejos e integrar tecnologías de vanguardia como la inteligencia artificial, blockchain y robótica en aplicaciones prácticas. He optimizado aplicaciones móviles y web, automatizado procesos para cumplir con normativas regulatorias y gestionado proyectos desde su concepción hasta su finalización.

Flutter ha sido fundamental en mi crecimiento profesional y personal. Espero que este libro te ayude a descubrir todo el potencial de Flutter y te inspire a crear grandes cosas. ¡Gracias por leer!

Reviewers & Contributors

Thanks to my amazing friends who their commitment to detail has ensured the accuracy and clarity of the content.

Avatar of Simon Lightfoot

Simon Lightfoot

Avatar of Mangirdas Kazlauskas

Mangirdas Kazlauskas

Avatar of Roman Jaquez

Roman Jaquez

Avatar of Erick Zanardo

Erick Zanardo

Avatar of Carlo Lucera

Carlo Lucera

Avatar of Marco Napoli

Marco Napoli

Avatar of Alessio Salvadorini

Alessio Salvadorini

Avatar of Pooja Bhaumik

Pooja Bhaumik

Avatar of Dominik Roszkowski

Dominik Roszkowski

Avatar of Oleksandr Leushchenko

Oleksandr Leushchenko

Avatar of Anna Leushchenko

Anna Leushchenko

Avatar of Tomáš Soukal

Tomáš Soukal

Avatar of Danielle Cox

Danielle Cox

Avatar of Manuela Sakura Rommel

Manuela Sakura Rommel

Avatar of Verena Zaiser

Verena Zaiser

Avatar of Cagatay Ulusoy

Cagatay Ulusoy

Avatar of Mike Rydstrom

Mike Rydstrom

Avatar of Muhammed Salih Guler

Muhammed Salih Guler

Avatar of Renan Araujo

Renan Araujo

Tabla de Contenido

Ahora tendras la oportunidad de explorar el libro en su totalidad en español.

Fundamentos de la Ingeniería Flutter

  1. 1. Ingeniería Flutter: Conceptos Clave
    1. Ingeniería de software con Flutter
    2. Desempaquetando los principios fundamentales
    3. Ciclo de vida del desarrollo en Flutter
    4. Ingeniería Flutter vs. Programación
    5. La posición de Flutter en la evolución tecnológica
    6. Conclusión
  2. 2. Desvelando Flutter: Arquitectura e Ingeniería
    1. Decodificando la importancia de los internos de Flutter
    2. La naturaleza reactiva y declarativa de Flutter
    3. El lema de Flutter
    4. Componentes principales y perspectivas del framework
    5. Gráficos, renderizado y visualización
    6. Navegando a través del ciclo de vida de widgets y aplicaciones
    7. Gestión de restricciones en la interfaz de Flutter
    8. Significado y uso de las claves en Flutter
    9. Conclusión
  3. 3. Integración de Flutter con Plataformas Nativas
    1. Canal de Plataforma
    2. FFI de Dart
    3. FFIgen
    4. JNIgen (Generador de Interfaz Nativa de Java)
    5. Conclusión
  4. 4. Aplicar Principios de Ingeniería en Flutter
    1. Análisis de POO (Programación Orientada a Objetos)
    2. Implementación de principios clásicos de software
    3. Conclusión
  5. 5. Patrones de Diseño en Flutter
    1. Decodificando el papel de los patrones de diseño
    2. Patrones Creacionales
    3. Patrones Estructurales
    4. Patrones de Comportamiento
    5. Conclusión

Arquitectura

  1. 6. Fundamentos Arquitectónicos
    1. El papel crítico de las decisiones arquitectónicas
    2. Variables que influyen en las elecciones arquitectónicas
    3. Navegando el panorama arquitectónico
    4. Cultivando una mentalidad arquitectónica
    5. Arquitectura iterativa
    6. Logrando un equilibrio: Simplicidad vs. Complejidad
    7. Conclusión
  2. 7. Introducción a los Estilos Arquitectónicos
    1. Conocimiento de los estilos arquitectónicos
    2. Estilo en capas (n niveles)
    3. Arquitectura dirigida por eventos (EDA)
    4. Arquitectura de Microkernel (Plug-in)
    5. Otras arquitecturas y paradigmas
    6. Conclusión
  3. 8. Patrones de Arquitectura de Interfaz de Usuario
    1. El panorama de las arquitecturas de interfaz de usuario
    2. Arquitecturas prominentes en Flutter
    3. Arquitecturas más allá de las normas de Flutter
    4. Arquitectura Limpia
    5. Equilibrando compromisos
    6. Personalizando arquitecturas para Flutter
    7. Conclusión
  4. 9. Concurrencia y Paralelismo
    1. Desmitificando concurrencia vs. paralelismo
    2. La importancia de manejar eficientemente las tareas
    3. El principio de hilo único de interfaz de Flutter
    4. El trío de programación asíncrona
    5. Gestión de flujos de datos asíncronos
    6. Ampliando horizontes con Isolates
    7. Conclusión
  5. 10. Funciones Offline en Flutter
    1. La espada de doble filo: Desafíos y beneficios
    2. Adoptando la filosofía de offline primero
    3. Monitoreo y manejo de cambios en la conectividad
    4. Asegurando la integridad de los datos durante las sincronizaciones en segundo plano
    5. Patrones de caché
    6. Conclusión
  6. 11. Gestión de los Estados
    1. Definiendo y comprendiendo el estado en las aplicaciones
    2. Estado local vs. global: Técnicas efectivas de alcance
    3. Enfoques integrados de Flutter
    4. Explorando soluciones populares
    5. La flexibilidad de Flutter: Intercambiando e iterando
    6. Conclusión
  7. 12. Dependency Injection en Flutter
    1. Los principios detrás de la inyección de dependencias
    2. Beneficios del código desacoplado
    3. Implementando DI en una aplicación Flutter
    4. Explorando paquetes de inyección de dependencias en Flutter
    5. Conclusión

Procesos

  1. 13. Normas y Directrices de Estilo
    1. El razonamiento detrás de las reglas
    2. Elaborando directrices significativas
    3. Asegurando el cumplimiento de las reglas
    4. Aprovechando la automatización para la consistencia
    5. Linters y dartfmt
    6. Conclusión
  2. 14. La Colaboración en el Desarrollo
    1. Esenciales del control de versiones
    2. Adoptando CI/CD en el desarrollo de Flutter
    3. Revisiones de código efectivas
    4. Conclusión
  3. 15. El Arte de la Documentación
    1. El espectro de la documentación en el desarrollo de software
    2. Adoptando la filosofía de documentación de Flutter
    3. Tratando la documentación como una entidad viva
    4. Los peligros de la documentación obsoleta
    5. Conclusión
  4. 16. Pruebas en Flutter
    1. Por qué las pruebas importan: Más allá de encontrar errores
    2. Entendiendo la pirámide de pruebas en Flutter
    3. Esenciales de pruebas unitarias y de widgets
    4. Dobles de prueba
    5. Dobles de prueba en Flutter
    6. El mundo de las pruebas de integración y doradas
    7. Conclusión
  5. 17. Environments y Flavors
    1. La necesidad de múltiples entornos y sabores
    2. Integrando CI/CD sin problemas
    3. Conclusión

Ingeniería Ética

  1. 18. Prioridad a la Seguridad en Flutter
    1. Principios fundamentales de seguridad
    2. La tríada CIA: Confidencialidad, Integridad, Disponibilidad
    3. Abordando el Top 10 de OWASP
    4. Análisis estático y dinámico
    5. Mejores prácticas de seguridad específicas de Flutter
    6. Conclusión
  2. 19. Criptografía en Flutter
    1. Distinguiendo tipos de cifrado
    2. Fundamentos del hashing
    3. Asegurando la integridad de datos con firmas digitales
    4. Conclusión
  3. 20. Protección de la Intimidad de los Usuarios
    1. Entendiendo terminologías clave de privacidad
    2. Adoptando la filosofía de Privacidad por Diseño
    3. Mejores prácticas para apoyar la privacidad del usuario
    4. Regulaciones internacionales de protección de datos
    5. Conclusión
  4. 21. Accesibilidad para Todos
    1. Reconociendo diversas discapacidades
    2. Los beneficios tangibles del diseño de aplicaciones inclusivas
    3. Los cuatro pilares de la accesibilidad
    4. Herramientas y widgets que promueven la accesibilidad
    5. Auditoría de accesibilidad en Flutter
    6. Conclusión

Avanzar en el Desarrollo de IU

  1. 22. Crear Interfaces de Usuario Adaptables
    1. Consideraciones de UI específicas de la plataforma
    2. Aprovechando características únicas de la plataforma
    3. Conclusión
  2. 23. Técnicas de Interfaz de Usuario Adaptativa
    1. Principios del diseño adaptable
    2. Enfoques para la adaptabilidad en Flutter
    3. Adaptando la UI a la orientación de la pantalla
    4. Conclusión
  3. 24. i18n y l10n
    1. i18n vs. l10n: Diferencias clave
    2. Implementando internacionalización en Flutter
    3. Adaptándose a idiomas de derecha a izquierda
    4. Conclusión
  4. 25. Adoptar la Temática en Flutter
    1. Temas en Flutter
    2. Técnicas de tematización personalizada
    3. Gestión de temas oscuros y claros
    4. Pasos para tematizar MaterialApp
    5. Herramientas de tematización
    6. Conclusión
  5. 26. Custom Painters y Shaders
    1. El arte de CustomPainter
    2. Explorando Shaders
    3. Usando Shaders en Flutter
    4. Conclusión

Palabras Finales

Bonus Book: Flutter, Above and Beyond

  1. 1. Advanced Techniques
    1. Native Platform View
    2. WebAssembly (WASM) with Flutter
    3. Bridging with Native Code: FFIgen/JNIgen
    4. Embedded Elements in Flutter
    5. Techniques for Code-Generation in Flutter
    6. Deep Links vs Dynamic links
    7. Implementing a Force Upgrade Strategy
    8. State Restoration
    9. Error Handling and Exception Techniques
    10. Feature Flags
  2. 2. Expanding Flutter's Reach
    1. Integrating Flutter with IoT
    2. Game Development using Flutter
    3. Exploring 3D Graphics with Flutter
  3. 3. Dart Server-side
    1. Exploring the Depths of Server-side Dart
    2. Edge Functions with Dart
    3. 4. What's Next?
  4. 4. Enhancing Performance in Flutter
    1. The Importance of Performance in UX
    2. Performance Metrics and Goals
    3. Dart's JIT & AOT Compilation
    4. Flutter Profiling Techniques
    5. Delving into Threading and Concurrency
    6. Performance Best Practices and Pitfalls
    7. The Dangers of Over-Engineering
    8. Conclusion
  5. 5. Optimization (Part 1)
    1. Rendering Optimization Techniques
      • Leveraging const Constructors
      • Minimizing Overdraw
    2. Data Processing Efficiency
      • Adopting Lazy Evaluation
      • Optimal Algorithm and Data Structure Use
    3. Memory Management Best Practices
      • Detecting and Resolving Memory Leaks
    4. Advanced Threading Techniques
      • Working with Isolates
      • Employing the RepaintBoundary Widget
    5. Conclusion
  6. 6. Optimization (Part 2)
    1. Efficient Network Operations
      • Network Data Caching
    2. Optimizing Images and Assets
      • Selecting Optimal Image Formats
      • Asset Compression and Caching
      • Preloading and Deferred Loading Techniques
    3. Reducing App Size and Storage
      • Embracing Tree Shaking
      • ABI-specific APK Reduction
      • Detailed App Size Analysis
      • Code spliting
    4. Conclusion

Flutter Engineering Academy

If convinced, order the book now, automatically gaining access to newsletter.

If undecided, remember, the newsletter is a free, invaluable resource in its own right.

The Essential - eBook

$49 $19.99
USD + local taxes
  • One time purchase
  • Access 5 parts and over 500 pages
  • Digital format only (PDF, ePub)
  • Completed exercises
  • Free premium newsletter subscription
Have question? check out FAQ

Boletín para Ingenieros de Flutter

¡Desbloquea tu acceso exclusivo a futuros entrenamientos! ¡Únete ahora para obtener información y acceso anticipado a contenido gratuito! ¡Este libro es solo el comienzo!

Mi objetivo es ayudarte a subir de nivel y realmente brillar en tu campo. Prometo, sin spam ni correos innecesarios.

Preguntas frecuentes

Todo lo que necesitas saber

¿Qué significa exactamente "actualización de por vida" en el paquete de maestría?
Los libros son una compra única, sin suscripción recurrente. Cuando compras cualquiera de los materiales de entrenamiento, tendrás acceso a todo el contenido de ese paquete para siempre. ¡Incluso cuando actualice, te enviaré una nueva copia!
¿Es este un costo mensual?
No y no. Paga una vez, tenlos para siempre.
¿Ofrecen descuento para estudiantes?
¡Definitivamente! Envíame un correo a [email protected] y muéstrame que eres estudiante, y te enviaré un código de descuento. Ya sea que estés en una escuela tradicional, cursos nocturnos o bootcamps de programación, ¡estás cubierto!
El precio es muy alto para mí, ¿puedo obtener un descuento?
¡Definitivamente! Estoy aquí para ayudarte a mejorar y no para ganar dinero. Envíame un correo a [email protected] y cuéntame por qué el precio es alto para ti y cuánto puedes pagar por el paquete que estás buscando.
¿Puedo obtener una factura?
¡Claro! Después de realizar una compra, te enviaremos automáticamente un recibo por correo electrónico. Ese correo incluirá un enlace para generar una factura más detallada que puede incluir la información de tu empresa, si la necesitas para fines fiscales.
¿Hay algún DRM?
¡El libro es totalmente libre de DRM! Mi objetivo es ayudarte y no hacerte la vida complicada.
¿Puedo actualizar al paquete de maestría más adelante?
¡Por supuesto! Envíame un correo a [email protected] y te lo arreglaré.
¿Qué pasa si decido que no es para mí?
¡No hay problema! Si cambias de opinión, envíame un correo a [email protected] dentro de los 15 días posteriores a tu compra, y te reembolsaré completamente, sin hacer preguntas. Sin embargo, ten en cuenta que puede haber una pequeña tarifa de reembolso de mi proveedor para cubrir los costos de procesamiento de pagos.
¡Tengo otra pregunta!
¡No hay problema! Envíame un correo a [email protected]
¿Cómo puedo acceder y ver los videos?
Los videos de apoyo están siendo grabados actualmente y se lanzarán en abril/mayo de 2024. Si te has suscrito al boletín, mantente atento a tu correo electrónico para recibir actualizaciones.