Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Flutter: Build Multi-Platform Apps with a Shared Codebase
Rating: 4.9 out of 5(4 ratings)
9 students
Created byMarco Napoli
Last updated 3/2025
English

What you'll learn

  • Design and build enterprise-grade Flutter applications with a shared codebase
  • Develop three Flutter projects: Two fully functional apps for phones, tablets, and web, and one reusable Flutter package
  • Implement a modular architecture to share code efficiently across multiple applications
  • Integrate and retrieve data from different RESTful APIs in each app
  • Build apps that support iOS, Android, and Web platforms
  • Ensure seamless adaptive UI for phones, tablets, and web
  • Optimize for portrait, landscape, and split-screen layouts on tablets and web
  • Implement dark and light mode for better user experience
  • Add search functionality to filter and display data dynamically

Course content

5 sections10 lectures2h 1m total length
  • Introduction3:54
  • Who is your instructor?1:55
  • Resources - Course Setup0:17

Requirements

  • Basic understanding of Flutter & Dart
  • Familiarity with RESTful APIs and JSON data, but not necessary

Description

Have you ever needed to build multiple Flutter applications—for phones, tablets, and web—that serve different purposes but share a common, reusable codebase? If so, this course is for you!


In this course, you'll develop three projects:

  1. A shared codebase containing reusable logic and widgets

  2. Users App (for phones, tablets, and web)

  3. Products App (for phones, tablets, and web)


You’ll start by analyzing common features across applications and designing a modular shared codebase to maximize reusability. Then, you’ll build the Users App, which retrieves data from a RESTful API and implements:

  • Adaptive UI for phones, tablets, and web

  • Split-screen layout for tablets and web

  • Dark & light mode

  • Navigation between list and detail pages

  • Search functionality to filter data


Next, you'll develop the Products App, which mirrors the Users App’s functionality but fetches data from a different RESTful API—demonstrating how multiple applications can seamlessly share the same codebase.

By the end of this course, you’ll have mastered the patterns and best practices for building enterprise-level, large-scale Flutter applications that efficiently share logic and UI components across multiple projects.


First App: Shared package

The Shared package holds all of the common reusable codebase, and widgets to be accessed by individual Flutter projects. This package will be accessed by two separate Flutter projects, the users and the products applications.


Second App: Users projects

The Users Flutter project is a completely separate iOS, Android, and Web application that will access and utilize the shared package, reusable codebase.


Third App: Products projects

The Products Flutter project is a completely separate iOS, Android, and Web application that will access and utilize the shared package reusable codebase.

Who this course is for:

  • Flutter developers looking to build scalable, multi-platform applications
  • Mobile & web app developers who want to share code efficiently across projects
  • Intermediate Flutter learners ready to take their skills to the next level
  • Software engineers & architects designing large-scale applications with modular architecture
  • Anyone interested in code sharing between Flutter apps and packages