App Development with Flutter
Overview:
App Development: Mobile app development is the act or process by which a mobile app is developed for mobile devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These software applications are designed to run on mobile devices, such as a smartphone or tablet computer.
What you will learn from this course?
This course will learn Android App Development from zero to hero. Master the basics, intermediate and advanced topics, and programming skills. You will also learn how to build real apps and publish them to the play store.
Certification:
After completing this course, you will get your certificate and you can call yourself a certified app developer.
Modules
Introduction to the Dart Programming Language – From Scratch
- Intro to Dart and Dart Pad – Online Editor
- Dart – Coding Style and Naming Convention
- Dart – Declaring variables – String
- Dart Types and Assigning Types to Variables
- Dart – Numbers – Integers and Doubles
- Dart – Booleans
- Dart – Const and Final Keywords
- Dart – Concatenation
- Dart Operators – Arithmetic
- Equality and Relational Operators in Dart
Control Flow and Functions in Dart – If Statements, Logical Operators, For Loops
- Control Flow – If Statements
- Logical Operators
- For Loops in Dart
- While, Do-While and Break in Dart
- Switch Cases
- Introduction to Functions in Dart
- Function Return Types – String-Int-Booleans
- Dart – Using the => Operator for Returning Expressions
- Arguments and Functions in Dart
- Optional Parameters in Dart
- Lexical Scope in Dart
Object Oriented Programming – Introduction
- Introduction to Classes and Objects
- Introduction to Class Creation and Instance Variables
- Adding Methods to Classes
- Introduction to Constructors – Part 1
- Named and Sugar Syntactic Constructors – Part 2
- Setters and Getters
Object Oriented Programming – Intermediate – Inheritance Concepts
- Introduction to Inheritance with Dart
- Creating Classes and Inheritance Tree
- Override Methods
- Inheriting Classes with Constructors
- The toString() Method – Override
Object Oriented Programming – Advanced – Abstract and Interface Concepts
- Introduction to Abstract and Interface Classes
- Abstract and Interface Classes in Dart – Creation
Data Structures and Collections in Dart
- Introduction to Collections
- Creating Lists and Iterating through Them
- Creating a List with a Person Type Object
- Introduction to Maps
Building Flutter Apps – Flutter Fundamentals
- Introduction to Flutter and Flutter App Anatomy
- Creating a Flutter Hello World App – Basics with Text Widget
- Understanding Materials Design Basics – Text and Widget Properties
- Formatting Our Code
- Little Material Design Presentation
- Flutter Scaffold Widget and Properties
- Flutter InkWell Widget and Event Listeners
- Flutter Gesture Detector Widget – Creating a Custom Button
- Flutter Bottom Navigator and Adding a Tap
- Flutter Floating Action Button
Build a Biz Card App
- What You’ll Build Next?
- App – Build a Biz card App
Flutter Stateful Widgets
- Introduction to Stateless VS Stateful Widgets
- App – Build a Quotes App – Part 1
- App – Build a Quotes App – Finished Product
APP – Build a Flutter Tip Calculator App
- Flutter Tip Calculator – User Interface – Part 1
- Flutter Tip Calculator – Top Card and Custom Colors
- Flutter Tip Calculator – Building the Split Row
- Flutter Tip Calculator – Build the Tip Row
- Flutter Tip Calculator – Finished User Interface
- Flutter Tip Calculator – Wrapup
APP – Quiz App – Learn More Flutter Widgets
- Download – Image Resource
- Setup Project – Adding Image Assets
- Question Model Class – Setup
- Finishing the User Interface
- Finishing Quiz Logic
- [CHALLENGE] – Finished Logic
- [SOLUTION – IMPROVEMENTS] – Wrapup
Flutter Intermediate Concepts – Navigation, Listviews – Building a Movie App
- Download -Movie Resources
- Customizing ListTile Row and Adding onTap
- Navigating to a Second Route – Screen
- Returning to the First Route/Screen
- Passing Data to Second Route/Screen
- Creating a Movie Model Class – Showing Movies – Part 1
- MOVIE APP – Passing a Movie Object to Details Route and
- Showing Image
- MOVIE APP – Customizing Row
- MOVIE APP – Adding Movie Image
- MOVIE APP – Finishing Custom Row
- MOVIE APP – Changing the Background Color
- MOVIE APP – Details Route – Showing Movie Thumbnail
- MOVIE APP – Details Route – Adding Linear Gradient
- MOVIE APP – Details Route – Adding Movie Poster
- MOVIE APP – Details Route – Movie’s Header
- MOVIE APP – Details Route – Adding Movie’s Cast
- MOVIE APP – Details Route – Adding Horizontal Line
- MOVIE APP – Details Route – Adding Bottom Movie Posters
- [CODE REFACTOR] – Movie App Code Refactor
Understanding Themes in Flutter
- Introduction to UI and UX
- What’s Material Design?
- Themes in Flutter
- Exploring ThemeData Class – App Brightness
- Theming Headlines and Body1 Text
- Theming – Over-Writing Theme Properties
- Theming – Refactoring our TextTheme Further
- Theming – Adding Custom Fonts to Our Project
- Theming – Applying FontFamily to All TextTheme Properties
- Material Design – Material.io Overview
- Material Design – Understanding Color Themes
- Material Design – Typography and Iconography
Highlight
- Understand the Object-Oriented Programming (OOP) with Java SE.
- Understand the Android OS architecture.
- Install and use appropriate tools for Android development, including IDE, device
- Emulator, and profiling tools
- Understand the Android application architecture, including the roles of the task
- Stack, activities, and services
- Build user interfaces with fragments, views, form widgets, text input, lists, tables.
- AND MORE
- Use advanced UI widgets for scrolling, tabbing, and layout control.
- Present menus via the Android action bar and handle menu selections.
- Store application data on the mobile device, in internal or external storage locations.
- locations.
[CHALLENGE] – Material Design Challenge – Theme the Mortgage Calculator
- Download Starter code and Resources
- Challenge Instructions
[SOLUTION] – Material Design App (Mortgage App) Solution
- Mortgage App – Solution – Pick Color Palette and Create Colors File
- Mortgage App – Solution – Theming App – Part 1
- Mortgage App – Mortgage App – Solution – Theming App – Part 2
- Mortgage App – Solution Wrapup
Connecting to the World – Networking in Flutter
- Introduction to HTTP and JSON
- Flutter Introduction to Async and Future – Http Requests
- Adding http Package to our Project
- Setup Network Class
- Fetching JSON Data
- Fetching JSON and Using FutureBuilder Widget
- Finalizing Fetching JSON and FutureBuilder
- Plain Old Dart Object ( PODO ) and Mapping JSON – Introduction Setup
- PODO – Creating a PostList Class and Mapping
- PODO – Final Implementation
APP – Build a Weather Forecast Flutter App
- What You’ll Build – Weather Forecast App Demo
- OpenWeather – Setting up our APPID
- Setup Our Weather Forecast Project
- Creating Our Forecast Model Class
- WeatherForecast Modified/fixed File
- Fixing Forecast Model Class
- Pulling JSON Data from API and Showing Data
- Using FutureBuilder to Show Data
- Adding City and Country Names
- Getting City Name Dynamically from TextField
- Formatting and Showing Date
- Showing Current Temp
- Adding Humidity, Wind and Max to the User Interface
- Utilizing FontAwesome Icons
- Setup getWeatherIcon Helper Function
- Setup Bottom ScrollView – Part 1
- Setup Day in Bottom ScrollView
- Adding WeatherIcon to our ScrollView
- Finished App
- Code Refactoring and User Interface Improvements
Flutter Google Maps – Building the Earthquakes App
- Introduction to Google Maps and API Key Android Setup
- [OPTIONAL] Google Maps iOS Setup
- Showing a Google Map – Problem to be Fixed – AndroidX Update
- Fixing AndroidX Issues
- Running our Map on Both Android and iOS
- Adding Markers onto Map
- Showing Another Marker
- Implementing CameraPosition Animations
- Quakes App – Demo
- [API Link] – JSON API Link to Use
- Quakes App – Our Quakes API and Chrome Extension
- Quakes App – Setting up Project and TypesHelper Class
- Quakes App – Fixing the Types Issue
- Quakes App – Getting All Quakes and Setup Markers
- Quake App – Markers Fixed and Working
- Quake App – Adding Zooms and Finished App
Firestore – Realtime Database – Build a Commmunity Broad App
- Introduction to Firebase/Filestore and Realtime Database
- Setting up Firestore in our Project
- Reading Data from Firestore Database
- Board App – Setup Form
- Board App – Saving Data to Firestore Database from the App
- Board App – Custom Card – Accounting for Nulls
Board App – Restructuring Custom Card
- Board App – Custom Card – Quick Code Refactoring
- Board App – Delete a Document
- Board App – Update Document
[OPTIONAL] Creating Adaptive Flutter Apps
- Device Orientation – Portrait and Landscape
- Setting up the Project
- Joke Listing Class
- Joke Details Class
- Final Product – The Joke App
OPTIONAL: Deconstructing Flutter Topics
- Deconstructing the Flutter Syntax – Part 1
- Deconstructing the Flutter Syntax – Understanding Named Parameters – Part 2
- Deconstructing BuildContext
Publishing Flutter Apps in Appstore and Playstore
- Download all Assets Needed for this Section
- Creating App Icon – With Online Tools
- Dynamically Generating iOS and Android Icons Using Plugin
- Adding Splash Screen – Android
- Adding Launcher Image – iOS
- Signing Android App – Generating a Keystore and AppBundle
- Publishing App to Google PlayStore
- Setup iOS App to Publish in the Appstore
- Creating the iOS Archive and Uploading It
The App Development Process
- What’s Next – Build at least 5 Apps
- Keep Learning by Building Apps – Lots of Them!
[OPTIONAL] Flutter – Animations
- Getting Started with Animations in Flutter
- Creating a Counter Animation
- Introduction to Tween Class
- Tween – Animation Status
- Introduction to Chain Animation – Separating Animation Logic
- Chain Animation – Using the Separated Class
- Build a Company Profile Page Animation – Introduction
- Company Page Animation – Model and Data Classes – Part 2
- Company Page Animation – Create Animation Classes – Part 3
- Company Page Animation – Showing Image and Backdrop Opacity – Part 4
- Company Page Animation – Adding Blur Effect and Logo Avatar – Part 5
- Company Page Animation – Adding UI Interface and Animation – Part 6
- Company Page Animation – Adding Animation and UI Touchups – Part 7
- Company Page Animation – Adding UI – Scrollable Courses Area – Part 8
- Finished App
Career Support
After course completion, students can get jobs as:
- Android Application Developer
- Java Application Developer
- Framework Designer
- Soft. Arch. Dev
- UI/UX Developer
Working Hours
Monday | 10:00 am – 9.00 pm |
Tuesday | 10:00 am – 9.00 pm |
Wednesday | 10:00 am – 9.00 pm |
Thursday | 10:00 am – 9.00 pm |
Friday | 10:00 am – 9.00pm |
Saturday | 10:00 am – 9.00 pm |
Sunday | 10:00 am – 9.00 pm |