Building Multiple Flutter Applications by Sharing a Common Code Base for Phones, Tablets, Web-Based Apps, and Packages 

Have you ever needed to create multiple phone, tablet, and web Flutter projects with different purposes that needed the ability to share a common reusable codebase? Well, this course is for you. In this course, you’ll create three projects, two phone, tablet, and web applications and a single shared codebase containing shared logic and widgets by creating patterns for an enterprise-level large-scale scenario. 


First, you’ll explore how to analyze the application’s common features, and create a single shared codebase project containing logic and reusable widgets. Next, you’ll create the users project, the first phone, tablet, and web application accessing common logic and reusable widgets from the single shared codebase. For phone applications, you’ll navigate to the details page by selecting a user from the list page. For tablets and web, you’ll create a split-screen showing the list and details page on the same screen. Furthermore, you’ll implement responsive design, dark & light mode, calling the user’s RESTful API, and displaying data in a list and detail pages. Moving on, you’ll implement search capabilities. Lastly, you’ll create the products project, the second phone, tablet, and web application accessing common logic and reusable widgets from the single shared codebase. It has all of the same features as the users application but calls the products RESTful API instead. Finally, you’ll review all that you have accomplished in laying out the groundwork for analyzing and laying out patterns to create enterprise large-scale scenarios sharing a common single codebase. 

Course Objectives

In this master codelab, you’ll explore:

  • Build enterprise large-scale application concept that shares common code between two separate applications
  • Build three Flutter based projects: Two Apps for Phone, Tablet, and Web, and One Package
  • Each application to access a commonly shared codebase
  • Each application retrieves data from different RESTful API
  • Support iOS, Android, and Web platforms
  • Support phones, tablets, and web 
  • Support portrait and landscape modes 
  • Support Split-Screen layout for Tablet, and Web
  • Support for Dark and Light modes
  • Add search capabilities to filter data
  • Display data from RESTful API 

Meet the instructor

Marco Napoli

Content Author & Course Instructor

More courses by the instructor