Speaker

Majid Hajian

Majid Hajian

DevRel at Invertase.io

Oslo, Norway

Majid Hajian is an accomplished software architect and developer renowned for his expertise in designing intricate web and mobile applications. Recognized as a Google Developer Expert, he has received accolades as an author and is a respected instructor on platforms like Pluralsight and his YouTube channel.

Majid's primary focus encompasses Flutter, Progressive Web Applications (PWA), and performance optimization. A passionate knowledge-sharing advocate, he actively engages with the community through writing, speaking, workshops, video training, podcast, live streams, and open-source contributions.

As a prominent community leader, Majid organizes events worldwide, including the esteemed FlutterVikings conference, to empower fellow developers and propel the software development industry forward.

Awards

  • Most Active Speaker 2022

Area of Expertise

  • Information & Communications Technology

Topics

  • progressive web apps
  • JavaScript
  • PWA
  • flutter
  • dart
  • JAMstack
  • Firebase

Scaling Flutter architecture by Leveraging strategic Domain-Driven Design

Architecting software, especially on a large-scale where it needs to meet the business requirements is always a challenge and Flutter apps are not an exception.

Strategic Domain-Driven Design techniques ensure your application is optimized to support business goals while identifying cohesive modules, known as bounded context which creates a maintainable, comprehensible codebase by isolating dependencies and describe business value.

In this talk, I share my knowledge of architecting a large scale flutter app by exploring the ubiquitous language, the bounded context, sub-domains while they are being implemented in an application. I will go through Layered architecture by touching Clean and Onion architecture. All in all, You'll learn how I attempted to architect a (large-scale) Flutter application by technical solution and appropriate methodology in order to have a sustainable app.

Leveraging Stream APIs within Service Worker

The Streams API provides an interface for reading or writing asynchronous chunks of data, only a subset of which might be available in memory at any given time.
The API helps to enhance UX both in a SPA or MPA (Multi-page) architecture. Using the Streams API within our service worker makes that possible. Workbox Streams abstracts the details of how streaming works.
In this short talk, you will learn how to leverage the powerful Stream to enhance UX and boost the web page's performance.

Let the main thread breathe!

The main thread, on the web, has a lot of responsibilities. At the same time, web apps are getting more sophisticated every day. Therefore, the main thread gets too busy that will disappoint our user by showing janky frames! The off-main-thread architecture ensures apps run smoothly on every device for everyone.

In this talk, we will go through the possibilities in browsers such as WebWorker, Worklet, and WebAssembly by introducing practical tools that allow us to boost our user experiences.

Talk Agenda:
1- Introducing the problem, event loop and how the problem occurs
2- Example of Web worker, an old friend and underestimated feature
3- Introducing a new Solution to work with WebWorkers
4- WebAssembly, a new friend and powerful, it made easy to write it with AssemblyScript.
5- Worklets, a baby that is growing in the browsers, accessing low-level rendering pipeline and it's very performant.
5- And finally PWA and Service Worker, in fact, this doesn't help directly in browsers but will help to handle processes like offline browsing, push notification and etc. I built an application that works offline and accepts web push notification.

Applying DevOps in Flutter mobile development

Adopting DevOps in mobile app development can be a game-changer and ensures teams become more productive in terms of execution and collaboration. Flutter is known for its fast and practical development experience, which is a great candidate to deliver your applications quicker to your customer.
However, there are many challenges while developing a mobile app for Android and iOS, such as automatically bumping build or release versions, running tests, checking code coverage, formatting, code signing, sharing keys among team members effortlessly, and writing changelogs, and more. These are just some repetitive, time-consuming tasks that may lead to inconsistency.
In this talk, I will demonstrate several approaches and tools to address the issues above.

Problem: Some things in the mobile development world, such as code signing for iOS apps, are complex and time-consuming.
Solutions: Automate as much as possible and create a consistent environment for building on all platforms.
Result: Save time and money, and at the end of the day since delivery and development are faster, your customer will see the result quicker.

The outline for the talk consists of the following:

1- Develop fast, Deliver fast an Android or iOS app
2- Consistency in Mobile development app codebase (Git Hooks and more)
3- Sharing Code signing profiles and certificates among team members!
4- Automate build and version number
5- Automate deploying to Google Play and Apple Connect
6- Automate Writing changelog
7- Automate Enterprise deployment to Apple Connect with several schemas and flavors!
8- last but not least, deploy consistently on all platforms and CI tools

Flutter, up and running!

Flutter is a cross-platform, mobile development framework created by Google. With user-centric design in mind, Flutter allows developers to create beautiful apps several platforms from a single codebase. Flutter is well-known for its productive and fast development experiences which I will prove by doing live-code.

In this session, I will walk you through the fundamentals of Flutter and Dart that make you ready for building your first Flutter app with ease and comfort.

Basic talk for those who want to start with Flutter and want to learn it quickly how to start.

1- Introduction to Flutter
2- Introduction to Dart
3- Basic of Dart for Flutter development
4- Flutter Fundamentals
5- Introduction to the most useful Flutter Widgets.
6- Create a small beautiful app to get a sense of development with Flutter to make the audience ready to continue building their apps later.

Taste of web with Flutter

The web is the largest application-delivery platform in existence and introducing progressive web applications takes it into the next level.

Flutter, a UI toolkit to create beautiful cross-platform applications, supports standard web technologies like HTML, DOM, Canvas, JavaScript, and runs PWA on the browser; Not surprisingly, with only one language, Dart!

In this session, I will fly you from a typical Javascript, CSS, HTML web development to Dart side with Flutter through live-coding of a beautiful progressive web app!

Agenda,
1- Introduce to Flutter and Flutter architecture
2- Dart and Flutter fundamentals
3- Responsive web applications
4- PWA with Flutter
5- Sharing code between several platforms.
6- Live-coding

PWA, advanced patterns and strategies!

Building progressive web apps become the norm of web development these days! In fact, we are being introduced to more complex patterns and strategies to create a PWA. For example, When I build my book's website pwawithangular.com, I considered several caching strategies and patterns to deliver fully offline and high-performance web applications that can load under 2 seconds with 3G internet. In this talk, I will share how I could manage to build a fast and reliable PWA by using different caching strategies, advanced PWA architecture, and patterns.

Efficient debugging with Dart DevTools

Debugging takes a big portion of development time; hence, it's crucial to become an efficient and effective developer with an appropriate tool that could, ultimately, save our time.
Dart DevTools is a web suite of debugging and performance tools that can work standalone or integrated into your IDE, aiming to ease debugging different Flutter and Dart application parts, including layout issues, performance problems, Network requests, and many more.
In this talk, you'll learn what a Flutter developer can do with these tools and how you can get the most out of your development time using Dart DevTools.

Running automated Flutter integration tests on a device farm

Integration testing (end-to-end or GUI testing) attempts to simulate a user interacting with your app by doing things like pushing buttons, selecting items, and typing on the keyboard to avoid having humans do that kind of repetitive work. A device farm like Firebase Test Lab or AWS Device Farm services allows you to run tests across various devices and device configurations simultaneously to check whether the app works or performs well.
In this talk, you'll learn how to use the new package integration_test, a more straightforward way to test your Flutter apps supporting Firebase Test Lab and running it on the cloud.

Scalable Flutter app development

With Google’s Flutter framework continuing to grow in popularity for companies and developers alike, the need for an understanding of utilizing the framework in a large-scale context has become more relevant than ever. In this talk, I will share knowledge on how to start a project to automate mobile development. We will review scalable layer architecture, state management, and continue enhancing code collaboration and team culture.

1- Learn how to automate and apply DevOps in mobile development

2- learn how to use Layer architecture in the Flutter project

3- Learn how to do code collaboration and team culture enhancement at scale

Flutter PWA, what and How?

The web is the largest application-delivery platform in existence, and introducing progressive web applications takes it to the next level. Flutter, a UI toolkit to create beautiful cross-platform applications, supports standard web technologies like HTML, DOM, Canvas, JavaScript, and runs PWA on the browser; Not surprisingly, with only one language, Dart!

But, what exactly is PWA? How Service Worker as the brain of the PWA works? How can Flutter web be turned into a progressive web app? What are the advanced patterns in creating PWA that can be applied in Flutter web?

These are all questions that I will answer in this session.

Fullstack App with Flutter and Firebase [workshop]

Firebase and Flutter are two impressive stacks these days to build world-class applications at scale. These two have fantastic hand-to-hand features that make us as productive and agile as possible. Flutter is a UI toolkit to help you create beautiful applications that can run on six platforms. Firebase, on the other hand, is a fantastic serverless approach towards the backend as a service to help you run your applications at any scale.

You'll explore what the services are in Firebase. Next, you'll discover how to integrate a Flutter app with Firebase and use Authentication and Analytics services. Then, you'll delve into Firebase extensions. Then, you'll learn how to benefit from Cloud Firestore to manage your database and message to deliver push notifications to your users.

At the end of the workshop, you'll have the skills and knowledge to create a full-stack app using Flutter and Firebase needed to deliver a scalable and high-quality app to your customer.

Each section comes with practices on a working app built throughout the workshop and is suitable for everyone who wants to learn Dart and Flutter from scratch.

Approach:
The instructor will build a pre-designed page from a production application in the workshop.

Requirements:
- You are familiar with at least one programming language
- You have done
- Install on Windows (Please use this link https://flutter.dev/docs/get-started/install)
- install in Linux / Mac (Please use this link https://flutter.dev/docs/get-started/install)
- Setup Android Studio and Xcode (Please use this link https://flutter.dev/docs/get-started/install)
- Setup Emulators (Please use this link https://flutter.dev/docs/get-started/install)
- Setup IDEAs and Plugins (Please use this link https://flutter.dev/docs/get-started/install)

Agenda:

A quick Introduction to Dart
- Dart variables and Constants
- Strings and String Interpolation
- Dart data types
- Inheritance in Dart
- Functional Dart
- Dart Built-in types
- Dart List/Array
- Conditions in Dart
- Streams and Future
- Dart Standard Libraries
- Package dependencies with Pub

Mastering Layouts, Widgets, and UI in Flutter
- Material Design (ANDROID)
- Cupertino Design (IOS)
- Stateful and Stateless Widgets
- Layouts (Column, Row, Grid, Positioned, Stack, StaggeredGridView, ...)
- Widgets (Scaffold, App bar, Text, ... )
- Styling in Flutter (Color, Fonts, Themes, Images, Backgrounds, padding, margin, borders, shadows, and SVGs)
- GestureDetector and Inkwell

Navigation and routing in Flutter & Basic State management and dependencies injection
- Working with Navigator and GoRouter
- Riverpod

Firebase and Flutter Integration
- Setup Firebase
- Authentication with Firebase
- Setup Firestore and CRUD operation
- Firebase Extensions

Networking Layer
- Working with Rest API
- Working with JSON, Serializing, and Deserializing

Deployment
- building for iOS
- build for Android

At the end of this workshop, we have implemented a fully functional real-time app that can be released on both App and Google Play stores.

Architectural thinking on Flutter State Management

Sometimes state management shapes the application architecture, which we even interchangeably call state management, app architecture. State management is a controversial topic among all developers, and it's, at the same time, one of the most complex topics that developers should decide on when they are building a Flutter app. Many developers say one solution is the best, whereas some disagree! What if I tell you that, in my opinion, there is no right and wrong answer! If you ask a software architect, which state management is the best for an application? The answer is evident; It Depends.
This talk discusses how to think like an architect and understand, recognize, and analyze tradeoffs and characteristics when choosing state management. I will show you why all state management might be best and worst, at the same time for your application which eventually helps you to make your mind to determine your appropriate solution.

CQRS Pattern in Dart

CQRS stands for Command and Query Responsibility Segregation, a pattern that separates read and update operations for a data store. One of the promises of the CQRS is that it can maximize the performance, scalability, and security of the application. The CQRS usually appears in Domain-driven design development and is often used along with the Event Sourcing pattern. However, you can still leverage it with your application in any architecture style.
This talk will discuss what CQRS is and how you can leverage using it in your Dart application. I also will elevate it with task-based UI components and show how beneficial it might be in the presentation layer of your application.

The Art of Failing Job Interviews and Winning a Job!

Interviews can be scary or can change your life! It might be frustrating or enjoyable! Whatever it is, Job interviews are not something everyone is looking forward to.
What if I tell you that by shifting your mindset towards job interviews, you can turn each job interview into a great opportunity regardless of the interview outcome?
Many, including myself, usually overvalue the interview's result just because we are trained that way!
I changed my mindset towards job interviews a few years ago, and that has changed my life in which I took over 50 job interviews in 1.5 years and failed all of them except one! In this talk, I'll share my personal story and my tips on how you can achieve the same thing.

Running Flutter Integration test in the Cloud

Integration testing (end-to-end or GUI testing) attempts to simulate a user interacting with your app by doing things like pushing buttons, selecting items, and typing on the keyboard to avoid having humans do that kind of repetitive work.

A device farm like Firebase Test Lab allows you to run tests across various devices and device configurations simultaneously to check whether the app works or performs well.

In this talk, you'll learn how to write an efficient Flutter integration test, run it on Firebase test lab for Android and iOS, and learn tips and tricks to manage your code and tests. Leverage performance results in your CD/CI and deployment pipeline.

Flutter for React and React Native developers

After working quite a long time in tech, especially as an architect, I understood that it's not good to be tied to a single framework for a long-time. You might have heard about the technical breadth term! If not, it means you should know what you don't know. It helps you broaden your knowledge, sharpen your skills, and ultimately make a better decision or even have a better career or life.

In this session, I will onboard you to Flutter and its ecosystem, where you can start developing the next application right away. You'll learn Flutter based on what you already know. If you have been a React or RN developer, this talk will facilitate and speed up your learning process and help you add another skill to your resume.

Building PWA with Flutter

Progressive Web Apps are web applications that have been designed, so they are capable, reliable, and installable. These three pillars transform them into an experience that feels like a platform-specific application.
The central core components that ensure that PWA works flawlessly are Service Workers. These components are a network proxy that takes control of a network request from the application and adds cache capabilities, background app sync, push notifications, and offline features.
In this talk, I will review the PWA capabilities in Flutter and show you how you can extend these functionalities to have a better progressive web app building with Flutter in order to boost user experience in your application.

One Plugin, Six Platforms!

Building and maintaining an open-source project comes with many challenges, but it's fun and rewarding! Plugins and packages are an essential part of any framework, and  Flutter is not an expectation for development to make a cross-platform application with a single code base!

You can develop a plugin package that connects the API to the platform-specific implementation(s) using a platform channel to provide calls into platform-specific APIs.

In this session, you will learn how to start developing a plugin for Flutter, the best practices from my experience of being the maintainer of great plugins such as Plus plugins, FlutterFire, and the importance of Federated plugins and their architecture together with platform channel API.

Unlock the power of Firebase with Extensions

Firebase undoubtedly revolutionized how we think of building a fully scalable and complex backend service to build mobile and web applications rapidly. The service gets even more exciting if you can integrate it with great software on the internet or extending by adding predefined functionalities.

Firebase Extensions help you quickly deploy functionality to your app with pre-packaged solutions. This session will reveal the power of Firebase extensions and show you how you can achieve more by doing less on Firebase!

Securing Flutter Apps

Robust mobile app security on devices people carry around is a special responsibility that is an undeniable aspect of mobile development, and Flutter is no exception. A security strategy with critical pillars such as Identify, Detect, Protect, Respond and Recover must be taken into account from day one.

Reviewing OWASP's top 10 for mobile, reporting vulnerabilities, best practices to minimize risk, preventing reverse engineering, staying up to date, and identifying and blocking attacks in real-time with technology such as RASP (Runtime Application Self-Protection) are the topics you will take away from this talk.

Supercharge Firebase with Extensions [Workshop]

Discover the potential of Firebase Extensions in this comprehensive workshop, which demonstrates how to enhance your app's functionality with pre-packaged solutions. By leveraging Firebase Extensions, you can achieve more while reducing development time and effort.

This session offers a detailed, step-by-step guide to implementing various extensions for diverse purposes within a gallery app, encompassing:

- Initiating emails directly through Firebase
- Automatic image resizing and optimization
- Utilizing AI-based extensions for comment moderation
- Extracting user data from Firestore
- Implementing intelligent search capabilities within Firestore
- And more

Upon completing this workshop, participants will have gained a profound understanding of Firebase Extensions and their ability to simplify a wide range of use cases, ultimately accelerating the app development process.

Android to Flutter, Flutter to Android

Your Android knowledge and skill set are highly valuable when building with Flutter because Flutter relies on the mobile operating system for numerous capabilities and configurations. Flutter is a new way to build UIs for mobile, but it has a plugin system to communicate with Android (and iOS) for non-UI tasks. If you’re an expert with Android, you don’t have to relearn everything to use Flutter.

At the end of this talk, you'll learn how to apply your existing Android knowledge to build Flutter apps on six platforms and how to integrate a Flutter app into your existing Android app.

The road to Dart 3

Dart 3 is the latest version of the powerful and fast-growing programming language that brings several exciting advancements designed to enhance productivity. In this practical talk, you'll learn how to refactor and upgrade your existing codebase to take advantage of the latest features and improvements, including records, patterns, platform interoperability, and improved portability.

You'll also discover how to navigate the breaking changes that come with Dart 3 and ensure optimal performance. With hands-on guidance and practical tips, you'll leave this talk equipped with the skills you need to take your development skills to the next level with Dart 3.

Whether you're new to the language or a seasoned Dart developer, this talk will provide the tools and knowledge you need to upgrade your codebase for enhanced productivity.

Flutter for any screen!

Flutter is a cross-platform development framework supporting traditional mobile and desktop platforms, which is well-suited for developing applications for small devices such as wearables, smart home devices, and IoT devices.
Its support for embedded platforms allows developers to build user interfaces for these devices using the same tools and programming language they use for other platforms.
Overall, Flutter's ability to support six platforms, including small devices, makes it a versatile and powerful choice for developers looking to build high-quality applications across various devices and platforms.

Beyond Boundaries: Unleashing the Power of Cross-Platform App Development

Immerse yourself in the fascinating world of cross-platform app development, where this advanced and inspirational talk reveals the limitless possibilities of Flutter. You'll learn how to build and run Flutter apps effortlessly on six platforms, optimizing your development process and reducing costs.

But the excitement doesn't stop there! Gain valuable insights into harnessing Flutter for groundbreaking projects and creating awe-inspiring user experiences. The session also uncovers Flutter's potential to expand beyond traditional platforms, venturing into the domain of embedded devices and screens of all sizes, including Raspberry Pi and Huawei Clock, and even tiny devices such Sipeed Lichee RV!

Prepare for an action-packed session filled with live demos, practical examples, and expert guidance that will leave you eager to tap into the power of Flutter for your app development endeavors which let your imagination run wild in the dynamic world of cross-platform development with Flutter!

Discover the power of cross-platform app development with "Beyond Boundaries." Learn to build apps on six platforms and expand to embedded devices like Raspberry Pi and Huawei Clock. This advanced, inspirational session comprises live demos and expert insights, ensuring an exciting learning experience. Elevate your skills today!

Introduction
a. Importance of cross-platform app development
b. Welcome and speaker introduction
c. Introducing the cutting-edge framework: Flutter

Building and Running Apps on 6 Platforms
a. Overview of supported platforms
i. iOS
ii. Android
iii. Web
iv. macOS
v. Windows
vi. Linux
b. Setting up the development environment
c. Platform-specific adaptations and configurations
d. Live demo: Creating a simple app running on all six platforms

Extending to Embedded Devices and Screens of All Sizes
a. The potential of Flutter for embedded devices
b. Flutter on Raspberry Pi or Huawei clock
c. Adapting apps to various screen sizes and resolutions
d. Live demo: Adapting the simple app to embedded devices

Harnessing the Power of Flutter for Groundbreaking Projects
a. Advanced features and capabilities
b. Third-party packages and integrations
c. Best Practices and Tips for Cross-Platform App Development

Conclusion
a. Recap of essential takeaways
b. Resources for further learning
c. Q&A session
d. Closing remarks

Adaptive, Responsive Cross-Platform Development with Flutter

Objective: The goal of this 480-minute workshop is to provide developers with in-depth knowledge and practical skills for creating adaptive and responsive cross-platform applications using Flutter. The target audience includes developers familiar with programming languages such as JavaScript, Java, and C#.

Requirements:
- You are familiar with at least one programming language
- Install on Windows (Please use this link https://flutter.dev/docs/get-started/install)
- install in Linux / Mac (Please use this link https://flutter.dev/docs/get-started/install)
- Setup Android Studio and Xcode (Please use this link https://flutter.dev/docs/get-started/install)
- Setup Emulators (Please use this link https://flutter.dev/docs/get-started/install)
- Setup IDEAs and Plugins (Please use this link https://flutter.dev/docs/get-started/install)

Workshop Agenda:

- Introduction to Dart
-- A brief overview of Dart's syntax and features
-- Comparison with other popular programming languages
-- Understanding asynchronous programming with Dart

- Mastering Layouts, Widgets, and UI in Flutter
-- Exploring Flutter's widget library and understanding core widgets
-- Using stateless and stateful widgets effectively
-- Building custom widgets and extending existing ones
-- Implementing animations and transitions for an engaging user experience

- Designing Adaptive and Responsive UI for Six Platforms
-- Understanding adaptive design principles and platform-specific considerations for iOS, Android, Windows, macOS, Linux, and web
-- Utilizing MediaQuery, LayoutBuilder, and OrientationBuilder for responsive design
-- Creating responsive grid layouts with Flex and Wrap widgets
-- Adapting UI components for different screen sizes and orientations across platforms

- Navigation and Routing in Flutter
-- Implementing primary navigation with Navigator and GoRouter
-- Handling deep linking and app state restoration
-- Creating tabbed, drawer, and bottom navigation patterns
-- Testing, Debugging, and Performance Optimization
-- Writing unit, widget, and integration tests
-- Using Flutter DevTools for debugging and performance analysis
-- Identifying and resolving common performance issues
-- Implementing best practices for efficient and maintainable code
-- Hands-on exercises focused on UI design and implementation.

Upon completing this workshop, participants will have gained the knowledge and hands-on experience needed to develop adaptive, responsive cross-platform applications using Flutter with a strong focus on UI design. They will have implemented various UI components and navigation patterns, ensuring an engaging and visually appealing user experience across six platforms: iOS, Android, Windows, macOS, Linux, and web.

Unleash the Power of Firebase Extensions [Lightning talk]

In this engaging talk, we'll dive deep into the world of Firebase Extensions, showcasing how I built a feature-rich gallery app for my family during a single round trip to India as an experiment by discovering the untapped potential of Firebase Extensions to streamline the app development process with ready-to-use, efficient solutions.
Join me to learn how these powerful tools can save you time, effort, and resources while elevating your app's functionality to new heights.

Empowering Firebase Apps with AI: An In-Depth Look at AI-Extensions

Firebase Extensions are powerful, pre-packaged bundles of code that add significant functionality to your apps, allowing developers to automate everyday development tasks and connect their Firebase services more straightforwardly. But have you ever wondered about the potential when Artificial Intelligence powers these extensions?

Join us for an enlightening talk as we delve into the world of Firebase Extensions, with a particular emphasis on those driven by AI. We will explore how these tools can create more intelligent and efficient applications, leveraging features such as text-to-speech, transcriptions, chatbots, and more.

A particular focus will be given to the PaLM and Vertex API, an innovative tool that promises to change how we approach and manage data. We'll guide you through integrating this API within your Firebase environment, enabling you to tap into its powerful capabilities.

Whether you're a seasoned Firebase user or a novice, this talk will equip you with valuable insights and hands-on knowledge on harnessing Firebase Extensions to their fullest potential. Join us to discover how these powerful tools can streamline your development process, enhance user experience, and take your app's performance to a new level.

Simplifying Dart Mono-repo Management for Efficient Code Sharing and Collaboration

As the popularity of Dart projects with multiple packages (mono-repos) continues to rise, managing code bases in such environments presents unique challenges. Traditional methods of making changes and testing across repositories can become complex and time-consuming. However, Melos, a powerful command-line interface (CLI) tool, solves these problems.
Developed for Dart projects, Melos enables seamless management of multiple packages within a single repository while maintaining their independence. It simplifies versioning, changelog generation, publishing, package linking, and execution of simultaneous commands across packages.
In this talk, we will explore the features and benefits of Melos, highlighting its role in enhancing code sharing, collaboration, and automating complex tasks in CI/CD environments. Join us to learn how Melos can transform your Dart mono-repo management and streamline your development workflow.

Key Points:

Introduction to Dart mono-repos and their advantages for code sharing.
Challenges faced in managing large code bases with multiple packages.
Overview of Melos: a CLI tool designed to address mono-repo management challenges.
Simplified versioning and changelog generation with Melos.
Automated publishing of packages to pub.dev using Melos.
Local package linking and installation for efficient development.
Executing simultaneous commands across packages for improved collaboration.
Listing local packages and managing their dependencies with Melos.
Integration of Melos in CI/CD environments for automating complex tasks.
Real-world examples of Melos usage in popular projects like FlutterFire.
Best practices and tips for maximizing the benefits of Melos.
Q&A session to address audience queries and experiences.
Audience:
This talk is ideal for Dart developers, project managers, and anyone working with mono-repos or interested in streamlining code sharing and collaboration. Prior knowledge of Dart and mono-repo concepts will be helpful but not mandatory.

Architectural Patterns in Flutter

In this session, I'll explore the critical decisions that shape our apps. We'll start with the basics, discussing how simple yet crucial choices can impact the project. You'll learn to pick the suitable structures, balancing easy solutions with more complex, powerful options. My talk will highlight the importance of learning from feedback and gradually improving your app's architecture.

Moving on, I'll tackle more advanced topics in Flutter, like different UI patterns (such as BLoC and MVVM) and why they matter. I'll also touch on the 'system architectures' in Flutter, including Mikrokernel or Layered architectures. By the end of our session, you'll have practical insights and a solid grasp of building more robust, efficient Flutter applications.

Flutter Festival London 2022 Sessionize Event

March 2022 London, United Kingdom

GDG DevFest London 2019 Sessionize Event

November 2019 London, United Kingdom

Majid Hajian

DevRel at Invertase.io

Oslo, Norway

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top