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
DCH Academy Virtual Assistant
Ask me anything about our courses