Skip to content

Short courses · All levels · English

App Development Full course

162 lessons · about 140 hours · certificate on completion · updated 20/03/2026

What you'll learn

  • Understanding the concept of app development

Course content

  • Welcome to this course Free preview
  • About this course
  • Understanding material design
  • What is flutter!
  • What is Dart in Flutter?
  • Flutter as a onecode base for mutiple platforms
  • Setting up flutter
  • windows setup
  • MacOs setup
  • Project Creation Setting Up a Code Editor for Flutter Development
  • Running your First Flutter App
  • Module 2. introduction to flutter
  • Form Dart To Machine Code
  • How Programming Languages Work
  • Starting From Scratch Understanding Functions
  • How Flutter Apps Start
  • Importing Features From Packages
  • Understanding Widgets
  • Using a First Widget Passing Values to Functions
  • Positional Named Arguments
  • Combining Multiple Widgets
  • Understanding Const Values
  • Building More Complex Widget Trees
  • Understanding Value Types
  • Configuring Widgets Understanding Objects
  • Working with Configuration Objects Non-Widget Objects
  • Generics Lists Adding Gradient Colors
  • How To Configure Widgets Objects
  • Practice Styling Text
  • Onwards to Custom Widgets Why Do You Need Them
  • Understanding Classes
  • Building Custom Widgets
  • Working with Constructor Functions
  • Splitting Code Across Files
  • Practice Create a Custom Widget
  • Introducing Variables
  • Variables Types Combining Two Key Concepts
  • Final const Special Kinds Of Variables
  • Instance Variables Properties Configurable Widgets
  • Practice Reusable Widgets Constructor Functions
  • Displaying Images Using Multiple Constructor Functions
  • Adding Buttons Using Functions As Values
  • Styling Buttons Working with Padding
  • How NOT To Build Interactive Widgets
  • Introducing Stateful Widgets
  • Generating Random Numbers
  • Module Summary
  • 3. Flutter Dart basic | fundamental deep dive - Module introduction
  • A Challenge For You
  • Challenge Solution 12 Creating a Widget
  • Challenge Solution 22 Working with More Widgets
  • Adding Icons to Buttons
  • Adding Transparency to Widgets
  • Repetition Exercise: Adding a Stateful Widget
  • Rendering Content Conditionally
  • Accepting Passing Functions as Values
  • The initState Method
  • Using Ternary Expressions Comparison Operators
  • Understanding if Statements
  • Adding a Data Model Dummy Data
  • Configuring a Column
  • Creating a Reusable Custom Styled Button
  • Accessing List Elements Object Properties
  • Mapping Lists Using the Spread Operator
  • Alignment Margin Padding
  • Mutating Values in Memory
  • Managing The Questions Index As State
  • More on Button Styling
  • Using ThirdParty Packages Adding Google Fonts
  • Passing Data via Functions Across Widgets
  • More Conditions
  • Getting Started with the Results Screen
  • Passing Data to the Results Screen
  • Introducing Maps for Loops
  • Accessing Map Values Using Type Casting
  • Combining Columns Rows
  • Expanded To The Rescue
  • Filtering Analyzing Lists
  • Making Content Scrollable with SingleChildScrollView
  • Beyond the Basics Optional Important Dart Features
  • Module Summary
  • debugging Flutter apps - Module Introduction 1
  • The Starting Project A Problem 1
  • Understanding Error Messages 1
  • Debugging Apps Using Debug Mode 1
  • Working with the Flutter DevTools 1
  • 5. Adding interactivity, more widgets, theming, expenese tracker tracker app
  • Creating Dummy Data
  • Using Lists Inside Of Lists
  • Efficiently Rendering Long Lists with List View
  • Creating a Custom List Item with the Card Spacer Widgets
  • Using Icons Formatting Dates
  • Setting an App Bar with a Title Actions
  • Adding a Modal Sheet Understanding Context
  • Handling User Text Input with the Text Field Widget
  • Getting User Input on Every Keystroke
  • Letting Flutter do the Work with Text Editing Controller
  • Time to Practice Adding a New Input
  • Exercise Solution
  • Closing The Modal Manually
  • Showing a Date Picker
  • Working with Futures for Handling Data from the Future
  • Adding a Dropdown Button
  • Combining Conditions with AND and OR Operators
  • Validating User Input Showing an Error Dialog
  • Saving New Expenses
  • Creating a Fullscreen Modal
  • Using the Dismissible Widget for Dismissing List Items
  • Showing Managing Snack bars
  • Getting Started with Theming
  • Setting Using a Color Scheme
  • Setting Text Themes
  • Using Theme Data in Widgets
  • Adding Dark Mode
  • Adding Alternative Constructor Functions Filtering Lists
  • Adding Chart Widgets
  • Module Summary
  • Building responsive adaptive user interfaces (Module Introduction)
  • What is Responsiveness
  • Locking the Device Orientation
  • Updating the UI based on the Available Space
  • Understanding Size Constraints
  • Handling to Screen Overlays like the Soft Keyboard
  • Understanding Safe Areas
  • Using the LayoutBuilder Widget
  • Building Adaptive Widgets
  • Module Summary
  • 7. flutter Dart internal TODO App (Module Introduction)
  • Three Trees Widget Tree Element Tree Render Tree
  • How The UI Is Updated
  • Refactor Extract Widgets To Avoid Unnecessary Builds
  • Understanding Keys Setup
  • Which Problem Do Keys Solve
  • Understanding Using Keys
  • Mutating Values in Memory Making Sense of var final const
  • Module Summary
  • Building multi-screen apps, navigating between screen MEAL APP (Module Introduction)
  • Project Setup
  • Using a Grid View
  • Widgets vs Screens
  • Displaying Category Items on a Screen
  • Making any Widget Tap-able with InkWell
  • Adding Meals Data
  • Loading Meals Data Into a Screen
  • Adding CrossScreen Navigation
  • Passing Data to the Target Screen
  • Introducing the Stack Widget
  • Improving the Meal-Item Widget
  • Adding Navigation to the Meal-Details Screen
  • Improving the Meal Details Screen
  • Adding Tab-based Navigation
  • Passing Functions Through Multiple Layers of Widgets for State Management
  • Managing Appwide State Data
  • Adding a Side Drawer
  • Closing the Drawer Manually
  • Adding a Filter Item
  • Replacing Screens Instead of Pushing
  • Adding More Filter Options
  • Returning Data When Leaving a Screen
  • Reading Using Returned Data
  • Applying Filters
  • Module Summary

Requirements

  • Laptop
  • internet

Description

In this full App development course, you will learn everything there is about developing mobile apps. All you need is personal motivation, a laptop, and good internet. At the end of this journey you will become an app developer who can jump on any project.

Instructor

Peter Esiet

Related courses