Using Flutter and Dart

Learn Programming and Build Professional Apps

Mobile App Development4.3(68)14h 33m59 lectures9 sections

What you'll learn

  • Learn the Dart language from the beginning
  • Understand data types, functions and collections
  • Use object-oriented programming and inheritance
  • Install the Flutter SDK and the work environment
  • Use Stateless and Stateful widgets
  • Build a Recipe app step by step
  • Build a Social Media app
  • Use asynchronous programming
  • Work with a SQLite database
  • Add, edit and delete data

About this course

This course teaches how to use Flutter and the Dart language to build mobile apps that run on Android and iOS. It starts with the Dart language: variables, data types, operators, decision and loop statements, functions, collections, object-oriented programming and inheritance. Next you install the Flutter SDK and the work environment, build your first app and get to know widgets, Stateless Widgets and Stateful Widgets. Then you build practical apps step by step, such as a Recipe app and a Social Media app, with the code available to download at each stage. At the end you learn asynchronous programming, working with SQLite and databases, adding, editing and deleting data, and creating an AlertDialog. The course suits beginners in programming and anyone who wants to develop mobile apps, and it needs no previous experience because it starts with Dart from zero. Afterward you will be able to build a complete Flutter app with screens and a local database. The teaching is practical and gradual, and you follow the lessons in order to move from the idea to the application step by step.

Expected outcomes

  • Comprehensive understanding of Dart language concepts and application development.
  • Ability to design and build interactive applications using Flutter.
  • Create complete applications that run on Android and iOS platforms.
  • Master modern programming tools and create practical projects.

Learner reviews

These reviews are from learners who bought the content and completed at least 50% of it — there are no reviews from anyone who hasn't gone through the material.
4.3
★★★★☆
68 reviews
5★
20
4★
46
3★
2
2★
0
1★
0
  • ★★★★★Mohamed A.·منذ 4 شهرشاهد 81٪

    good and easy

تم عرض كل التقييمات (1)

Course content

1

Introductions

3 lectures
  1. General Introduction4:01
  2. Introduction to DartAn introduction to Google's Dart language: an object-oriented, cross-platform language supporting AOT and JIT compilation and ready-made libraries, with a first print example in DartPad.6:10
  3. Introduction to FlutterDefines Flutter as a framework for building apps from a single codebase, compares it with native apps and React Native, and explains AOT compilation, Hot Reload and the rendering engine.6:14
2

Install Tools

4 lectures
  1. Install Flutter SDKExplains installing the Flutter SDK on Windows after installing Git, extracting the archive, setting the path, and verifying the setup with the flutter doctor command.9:06
  2. Install IDE12:25
  3. First Flutter APP (Part One)11:51
  4. First Flutter APP (Part Two)7:47
3

Dart Programming Language

15 lectures
  1. First Program and VariablesExplains the main function and the first Hello World program in Dart, how to declare variables with var, store and update values, and print them inside text.17:03
  2. DatatypesExplains Dart data types such as int, double, String and bool, declaring a variable's type with var or explicitly, and using final and const for constant values.13:02
  3. Operators26:40
  4. Decision Making15:23
  5. Loops14:26
  6. Functions21:52
  7. Datatypes Methods and PropertiesExplains the properties and methods of Dart data types, such as abs, remainder, converting types with parse, toInt and toString, and string methods like trim, toUpperCase and substring.22:31
  8. Data Collections (Part One)Explains Dart collections, part one, focusing on List: accessing and editing items by index, add and addAll, duplicates, and Set with comparison operations between two sets.25:37
  9. Data Collections (Part Two)Continues collections by looping over List items with loops, forEach and for-in, then explains Map with its keys and values and how to iterate it, plus the basics of enum.21:12
  10. Object-Oriented Programming (OOP)Explains object-oriented programming in Dart: the difference between class and object, defining fields, creating an object, overriding toString, and using the cascade operator.17:59
  11. ConstructorExplains the Dart constructor and its kinds: default, shorthand with this, named parameters with default values, named constructors, and the use of const.24:06
  12. Factory Constructor and Getter Setter16:48
  13. NullabilityExplains null safety in Dart: nullable types marked with a question mark, the ??, ! and late operators, and how they prevent errors from empty values.25:14
  14. InheritanceExplains inheritance in Dart: building a subclass with extends that inherits a parent class's fields and methods, using super in the constructor, and protecting fields by making them private.22:57
  15. Abstract Class and InterfaceExplains abstract classes and interfaces in Dart: abstract methods the inheriting class must implement with override, and the difference between extending and implementing an interface, with practical examples.21:40
4

Dart Language Extensions

1 attachments
  1. Dart Problems Solving
5

Flutter Application Development Package

4 lectures
  1. Using Flutter WidgetsFirst contact with Flutter widgets: importing the material.dart library, launching the app with runApp and MaterialApp, and reading widget documentation such as TextStyle.40:38
  2. Creating Stateless WidgetsExplains creating Stateless Widgets, customizing MaterialApp and its colors, and adding a FloatingActionButton with onPressed, while consulting the widget documentation along the way.21:27
  3. Creating Stateful WidgetsExplains creating Stateful Widgets and the idea of changing state, along with the difference between Column and Row, the main axis and cross axis, and changing colors such as accent color.30:31
  4. Downloading the Code and Complete First Application
6

Explaining Flutter Tools through Building a Recipe App Structure

7 lectures
  1. Building the Structure of the Recipe ApplicationBuilds the structure of a two-screen recipe app, creating the Recipe and Ingredient data models and explaining StatelessWidget and navigation between the screens.27:26
  2. Download the App
  3. First Development on the AppAdds project images as assets and displays them on the home screen using Card and Padding, and uses GestureDetector and onTap to print the recipe name when tapped.35:15
  4. Download the App After First Development
  5. Second Development on the AppDesigns the recipe card with Container, BoxConstraints and DecorationImage to show the image, adjusts colors, spacing and text through the Theme, and positions elements over the image.31:37
  6. Download the Final App After Second Development
  7. Download the Data File Used in the App
7

Explaining Flutter Tools through Building a Social Media App

9 lectures
  1. Building the Structure of the Application29:53
  2. Downloading the Application
  3. First Development on the ApplicationAdds project images as assets and displays them on the home screen using Card and Padding, and uses GestureDetector and onTap to print the recipe name when tapped.29:08
  4. Second Development on the ApplicationDesigns the recipe card with Container, BoxConstraints and DecorationImage to show the image, adjusts colors, spacing and text through the Theme, and positions elements over the image.21:04
  5. Downloading the Application After Second Development
  6. Third Development on the Application32:43
  7. Downloading the Application After Third Development
  8. Fourth Development on the ApplicationDesigns the third card to show a trend using Wrap and SizedBox, builds a favorite button that toggles its state with setState, and shows Flutter Inspector and DevTools.26:27
  9. Downloading the Final Application After Fourth Development
8

Working with Databases through Building a Shopping App

15 lectures
  1. Asynchronous Programming29:15
  2. Creating User Interface for the App and Working with SQLITE19:18
  3. Download the App
  4. Create Models Classes18:31
  5. First Development on the App
  6. Create Database for App27:16
  7. Second Development on the App
  8. Insert, Get, Update, Delete from Database26:54
  9. Third Development on the AppDesigns the second card by reusing the first card's code, creating a custom widget for author details with a CircleAvatar and a favorite button, and splitting the code into files.
  10. Creating AlertDialog for User Input26:21
  11. Fourth Development on the ApplicationDesigns the third card to show a trend using Wrap and SizedBox, builds a favorite button that toggles its state with setState, and shows Flutter Inspector and DevTools.
  12. Fetching Data from Database and Modifying User InterfaceFetches the shopping list data from the database and shows it in the UI, building an AlertDialog to add an item with a FloatingActionButton, and closing the dialog with Navigator.pop.23:25
  13. Fifth Development on the Application
  14. Final Stage of the Application and Adjusting Its Final LookThe final stage of the shopping list app: polishing its look, adding an item with name, quantity and note, saving data so it appears after reopening the app, and reviewing what the course covered.9:25
  15. Downloading the Final Application
9

Flutter Extensions

1 lectures
  1. New Flutter UpdatesExplains updating Flutter and Dart to the latest version with terminal commands, then checking with flutter doctor that the installation works with Android Studio and Visual Studio Code.2:25

Instructor

Eng. Amr Abdel Fattah

Eng. Amr Abdel Fattah

Computer systems engineer specializing in mobile app and website development, with experience in creating popular platforms and web applications.
49.1K views20 courses

This course is part of the diploma

Related courses