Flutter Development (Android and iOS app)
A Certificate Course in Flutter Development (Android and iOS app)
Introduction:
Flutter is a popular frontend development framework from Google that enables developers to build beautiful frontends for any screen. Flutter is designed to streamline cross-platform app development while maintaining a consistent user experience.
Flutter is one of the best solutions to develop apps for Android and iOS, without having to write in a different codebase for each platform. The smartphone versions of these apps function as true, native apps on Apple and Android devices and are compiled for the respective platform before publication
We introduce the platform to get acquainted with such technologies with hands on experience and real time applications.
Objectives:
Main objective of the certification course is to impart knowledge to passionate students about:
- Flutter framework
- Dart programming language
- Android and iOS app
Outcomes:
Upon completion of the course students will be able to;
- Use flutter framework
- Programming in Dart
- Android and iOS App development
- Duration: 3 months / 60 Hours
Prerequisites:
Minimum eligibility criteria to enroll in this course-
Pursuing / Passed BE / B. Tech / BCS / BCA / BSc/ MSc/MCA
Syllabus
I N T R O D U C T I O N T O D E V E L O P M E N T W I T H F L U T T E R
- Learn to set up a new Flutter project using Android Studio. Understand the Widget tree and learn to use pre-made Flutter Widgets for user interface design.
- Learn to incorporate Image and Text Widgets to create simple user interfaces.
- Learn to incorporate App Icons for iOS and Android.
- Learn how to add and load image assets to Flutter projects. Run Flutter apps on iOS Simulator, Android Emulator and physical devices.
C R E A T I N G Â B E A U T I F U L Â U I Â W I T H Â F L U T T E R Â F O R Â B E G I N N E R S
- Use Hot Reload and Hot Restart to quickly refresh the app UI and understand when to use each.
- Learning to use the Pubspec.yaml file to incorporate dependencies, custom assets and fonts.
- An introduction to the Widget build() method.
- Learning to use layout widgets such as Columns, Rows, Containers and Cards.
- Incorporating Material icons using the Icons class.
B U I L D I N G Â A P P S Â W I T H Â S T A T E
- Understand the difference between Stateful and Stateless Widgets and when they should each be used.
- Understand how callbacks can be used detect user interaction in button widgets.
- Understand the declarative style of UI programming and how Flutter widgets react to state changes.
- Learn to import dart libraries to incorporate additional functionality.
- Learn about how variables, data types and functions work in Dart 2.
- Build flexible layouts using the Flutter Expanded widget. Understand the relationship between setState(), State objects and Stateful Widgets.
L E V E R A G I N G F L U T T E R Â P A C K A G E SÂ T OÂ S P E E D U P D E V E L O P M E N T
- Learn to use the Dart package manager to incorporate Flutter compatible packages into your projects.
- Understanding the structure of the pubspec.yaml file. Incorporate the audioplayers package to play sound. Learn more about functions in Dart and the arrow syntax.
- Learn to refactor widgets and understand Flutter’s philosophy of UI as code
S T R U C T U R I N G Â F L U T T E R Â A P P S
- Learn about how lists and conditionals work in Dart.
- Learn about classes and objects in Dart and how it apply to Flutter widgets.
- Understand Object Oriented Dart and how to apply the fundamentals of OOP to restructuring a Flutter app.
- Learn to use Dart Constructors to create customisable Flutter widgets.
- Apply common mobile design patterns to structure Flutter apps.
- Learn about structuring and organising Flutter apps.
C R E A T I N G B E A U T I F U L Â U I Â W I T H F L U T T E R F O R I N T E R M E D I A T E S
- Customise apps with Theme widgets.
- Refactoring widgets by extracting them as separate Widget classes.
- Learn about Dart annotations and modifiers.
- Understand the immutability of Stateless and Stateful Widgets and how the screen is updated with the build() method.
- Create custom Flutter Widgets by combining smaller widgets. Learn about the difference between final and const in Dart. Learn about maps, enums and the ternary operator in Dart. Understand that functions are first class objects in Dart and how functions can be passed around as arguments.
- Learn to build multi-screen Flutter apps by learning about routes and the Navigator widget.
- Understand why flutter favours composition vs. inheritance when customising widgets
P O W E R I N G F L U T T E RÂ A P P SÂ W I T H B A C K E N D D A T A
- Learn about asynchronous programming in Dart and understand how to use async/await and the Futures API. Understand Stateful Widget lifecycle methods.
- Handling exceptions in dart with try/catch and throw. Use Dart null aware operators to prevent app crashes. Getting location data from both iOS and Android.
- Using the http package to perform networking and get live data from open APIs.
- Understanding how to parse JSON data using the dart:convert library.
- Understand how to pass data to State objects via the Stateful Widget.
- Use the TextField Widget to take user input.
- Understand how to pass data backwards using the Navigator widget.
C U P E R T I N O W I D G E T SÂ A N D P L A T F O R M – B A S E D U I
- Learn to use the Cupertino package and build Flutter apps for iOS with UIKit styled Cupertino widgets.
- Use the dart:io library to detect runtime platform and create separate UIs for iOS and Android in the same Flutter app.
- Learn to use Dart loops to create recurring widgets
I N T E G R A T I N G F L U T T E RÂ A P P SÂ W I T HÂ F I R E B A S E
- Learn to use hero animations in Flutter apps.
- Understand how the animation controller works and create custom animations.
- Learn to use Dart mixins to extend class functionality. Incorporate Firebase Cloud Firestore into your Flutter apps. Implement authentication in your Flutter apps with the Firebase Auth package.
- Build a scrolling ListView widget to learn how Flutter creates and destroys reusable elements.
- Understand Dart Streams to listen to data changes.
- Learn to use the Flutter StreamBuild to turn streams of data into widgets that can be rendered.
S T A T EÂ M A N A G E M E N T
- Understand why we need to manage state across our widget tree.
- Learn about declarative vs. imperative programming. Look at how setState works under the hood.
- Learn about prop drilling and lifting state up. Create a todo list app.
- Learn about the BottomSheet widget and the ListViewBuilder. Understand Flutter app architecture design patterns.
- Learn to manage state with the Google recommended Provider package.