Overview:
The workshop is focused on training students on flutter framework to develop mobile applications. This is a practice-oriented course and it includes multiple projects. The course aims at delivering a general understanding of non-native frameworks like flutter and train students to use the strong features and flexibilities that flutter has to offer creating dynamic apps.
Within the course students will be developing 4 mini projects, 2 medium projects and 1 complete project for the graduation of this course.
- Mini project will show the abilities of the students to work with low level code and business logic.
- Medium level projects will train the students on dealing with business logic and UI components within an app and get the hang of design patterns.
- Complete projects will showcase the student’s ability to combine all flutter skills to build robust mobile apps with the latest design patterns, methodologies, and backend tools.
Outcomes:
By the end of the program, participants will be able to:
- Build mobile apps using flutter framework following the latest guidelines and practices with backend integration using google cloud services like firebase for backend.
- Understand how customization work and empower them to create the mobile apps they want to develop faster and with restudied shortcuts and tools .
Outline:
Week 1: Introduction to Dart
Dart as an OOP
Will display to students how dart is an object oriented language and how it compares against other languages like java , c++ and c#
Introduction to flutter
- What is flutter
- How does flutter differ from other frameworks
- Flutter architecture
Week 2: Widgets and UI components
- Layout widgets
- Basic widgets
- Input widgets
- Interaction widgets
Week 3: Widgets and customizations
- Widgets decoration
- Width and height
- MediaQuery
Week 4: Widgets and introduction to plugins
- Listviews
- SinglechildScrill View
- GridView
- pub.dev
Week 5: Introduction to states and Firebase
- What is state management?
- Why we care for state management?
- What is firebas?State management with GetX and Firebase setup
- Introduction to GetX ● GetX navigation
- GetX data state access and update
- Setup project with firebase
Week 6: Firestore CRUD operations
- Read data from database
- Write data to the database
- Update data on database
- Delete Data from database
Week 7: Build To do list app with firebase backend
- Add, remove or edit a task
- change color of the task once its completed
- Delete Data from database
Introduction to course final project
- Setting up firebase
- Discuss topics
- Explain UI/UX and wireframes
- What to do and what not to do when working with firebase
- Best practices
Week 8: Pub.dev, research resources and debugging
- Grouped buttons
- DateTime pickers
- Stackoverflow
- Common issues and how to solve them
- Github
- Cont. common issues and how to solve them
- Final project evaluation phase 1