Course Overview

The Apps Development with Flutter and Dart course provides an in-depth and comprehensive understanding of the popular Flutter SDK and the Dart programming language. This course will guide learners through the process of building beautiful, performant, and functional mobile applications for both Android and iOS platforms using a single codebase.

Topics covered in the course include an introduction to Dart language, understanding Flutter widgets, state management, working with external APIs, implementing device features like camera and location, testing, and deploying the apps. By the end of the course, students will be proficient and well-equipped with the skills to create quality, real-world, and production-ready mobile applications using Flutter and Dart.

Career Pathways

Completion of this comprehensive course paves the way for careers as Flutter developers, mobile app developers, or cross-platform app developers, with opportunities to work in tech startups, established software companies, or as freelancers.

Target Audience

This course is designed for Beginner and Intermediate level mobile apps developers.

Prerequisites

Learners are expected to have basic understanding of programming concepts and enthusiasm for mobile development; prior knowledge of Dart is beneficial but not necessary as the course covers it from the basics.

Course Objectives

  • Learn the basics and advanced features of the Dart programming language.
  • Understand the Flutter SDK and its widget-based architecture.
  • Develop visually appealing, performant, and functional cross-platform mobile applications.
  • Implement native device features and external APIs.
  • Understand and apply state management solutions in a Flutter app
  • Learn testing methodologies to ensure app reliability and performance.
  • Understand the process of deploying apps to the Google Play Store and Apple App Store.

Course Curriculum

  • Introduction to Dart: Basic Syntax, Variables, Null Safety, Operators, Decision Making, Loops, Data Types, Runes, Typedef, Functions, Enumeration, Collections.
  • Algorithm Problems with Dart: Number Algorithms, String Algorithms, Array Algorithms, Matrix Algorithms in Leetcocde.
  • Object-Oriented Programming in Dart: Classes, Objects, Getters & Setters, Constructor & Overloading, Inheritance & Overriding, Abstraction, Interface, Mixin, Polymorphism, Exceptions, Generics, Solid Principles.
  • Asynchronous Programming in Dart: async, await, Future, Then, Streams, async*, sync, sync*, yield, yield*

  • Flutter Framework: Overview of Flutter SDK, installation, and setting up the development environment.
  • Android & iOS Settings: Android Studio, Android Emulator, Phone, Tablet, Xcode, iOS Simulator, iPhone, iPad.
  • Git & GitHub: SVN, GitHub, GitLab, Bitbucket, Commits, Branches, Clone, Pull, Push.
  • Building an Apps: Widgets Beginner, Widgets Intermediate, Widgets Advanced, Facebook App, Instagram App, Amazon App UI, Animations.
  • Widget Types & Keys: Stateless Widget, Stateful Widget, Inherited Widgets, Widget Lifecycle, App Lifecycle, Element Trees, Value Keys, Unique Keys, Global Keys, Object Keys.
  • App Performance: Localization, Internationalization, Debugging, DevTools, Build Modes, AOT & JIT.
  • Local Databases: SQL Database, NoSQL Database, Encryption, AES, RSA, Secure Storage, iOS Keychain, Android KeyStore.
  • Mobile Networking: Rest (Http, Dio, Retrofit), Socket, GraphQL, Thread & Isolate, Single Streams, Broadcast Streams.
  • State Managements: SetState, Provider, Riverpod, GetX, BloC with Real-World BackEnd examples.
  • Advanced Concepts: Clean Architecture, Platform channel with Swift and Kotlin, Android Specific, iOS Specific, Unit Test, Widget Test, Integration Test, CI/CD.

  • Project Planning: Plan Team, Design Team, Development Team (BackEnd Team, Mobile Team, FrontEnd Team)
  • Clone App with Firebase: Firebase Authentication, Firebase Database, Firebase Storage, Redesigning Instagram, Push Notifications (FCM)
  • Real World Project (GetX): Rest API, Movies API, Local Database, Logging, Dependency Injection, Clean Architecture, Integration, GetX State Management
  • Real World Project (BloC): Rest API, Movies API, Local Database, Logging, Dependency Injection, Clean Architecture, Integration, BloC State Management
  • Testing the App: Applying testing methodologies to the developed apps.
  • Deployment: Preparing the apps for release, signing the apps, and deploying them to the Google Play Store, Apple App Store, and Huawei App Gallery.
  • Post-deployment Analysis and Updates: Understanding user feedback, app analytics, and how to iterate based on these inputs.

Course Instructors

Author Images
Khurshidbek Kurbanov

Khurshidbek Kurbanov is an accomplished software developer and instructor with a strong focus on Flutter and Dart. He has leveraged his years of experience in the industry to help numerous students navigate the world of app development, sharing his vast knowledge and practical insights through engaging and accessible teaching methods.

Courses

Key Features

  • Duration: 7 Months
  • book iconLessons: 84
  • Class Size: 18 Students
  • Language: Uzbek
  • Certificate: Yes

Powered By

AIUB Institute of Continuing Education