diff --git a/App Dev/Cross Platform Apps/Flutter.md b/App Dev/Cross Platform Apps/Flutter.md index e69de29..6ea3810 100644 --- a/App Dev/Cross Platform Apps/Flutter.md +++ b/App Dev/Cross Platform Apps/Flutter.md @@ -0,0 +1,135 @@ + +## Why learn Flutter ❓ + + +- Flutter is an open-source mobile app development framework developed by Google. It allows developers to create high-performance, cross-platform apps for iOS, Android, and the web using a single codebase. +- Flutter has a bright future due to its ability to develop high-performance, cross-platform apps quickly and efficiently, its large and growing community, its integration with other technologies, and continuous improvement through regular updates and new features. +- Flutter is a versatile mobile app development framework that can be implemented in a range of industries and use cases, including developing cross-platform apps for businesses, creating educational apps for students, building healthcare apps for patients, developing media-rich apps for entertainment, creating secure apps for financial services, developing social networking and communication platforms, and creating travel-related apps. Its customizable widgets, fast development times, and large community make it an ideal choice for building high-performance, engaging, and feature-rich apps. +--- +## 🎓 Take Away Skills + +After completing this learning path you will be knowledgeable in: +- You'll learn how to integrate Firebase with Flutter to create real-time apps with backend services such as authentication, cloud storage, and database management. +You'll be able to implement user authentication and authorization features to secure your app and protect user data. +- You'll learn how to use Flutter plugins and packages to extend the functionality of your app and integrate with other technologies, such as GraphQL for API queries and mutations. + - You'll learn how to create responsive UI designs using Flutter's flexible layout system, which can adjust to different screen sizes and orientations. +- You'll learn how to leverage Flutter's built-in animations and transitions to create engaging and interactive user experiences. +- You'll be able to deploy your Flutter app to various app stores, such as Google Play Store and Apple App Store, and distribute it to your target audienc + +--- +## 🛠️ Prerequisites + +## 🧑🏻‍💻 Programming Knowledge + +- Basic knowledge of programming concepts such as variables, functions, and control structures. +- Familiarity with an object-oriented programming language such as Java, Python, or JavaScript. +- Understanding of mobile app development concepts, such as UI design, user experience, and app architecture. +- Familiarity with the Flutter development environment, which requires knowledge of Dart programming language, Android Studio or Visual Studio Code, and Flutter SDK. + +## 📲 Installation and Setup + +- Flutter SDK - The main development environment for Flutter. Download it from the official Flutter website: https://flutter.dev/docs/get-started/install + +- Android Studio or Visual Studio Code - The IDEs recommended for Flutter development. Download Android Studio from here: https://developer.android.com/studio or Visual Studio Code from here: https://code.visualstudio.com/ + +- Git - Version control system used for managing source code. Download it from here: https://git-scm.com/downloads +--- + +## 💡 Learning Session + +### Format +### Topics to Learn +1. Flutter Fundamentals +2. Flutter with Firebase +3. Flutter Packages and Plugins +4. Flutter UI/UX Design +5. Flutter Deployment +### Resources to Learn the Mentioned Topics +###### Here are some recommended resources to learn the above topics: + +### 1. Flutter Fundamentals + - [Flutter Documentation:]( https://flutter.dev/docs) +- [Flutter Bootcamp with Dart]( https://www.udemy.com/course/flutter-bootcamp-with-dart/) +- [Flutter & Dart - The Complete Guide](https://www.udemy.com/course/learn-flutter-dart-to-build-ios-android-apps/) + - [Flutter Tutorial for Beginners](https://www.youtube.com/watch?v=GLSG_Wh_YWc) +### 2. Flutter with Firebase +- [Firebase Documentation:]( https://firebase.google.com/docs) +- [Firebase Flutter Codelab:](https://codelabs.developers.google.com/codelabs/flutter-firebase/) +- [ Firebase Flutter Course:](https://www.udemy.com/course/flutter-firebase-build-a-complete-app-for-ios-android/) +- [FlutterFire: ](https://firebase.flutter.dev/) +### 3.Flutter Packages and Plugins +- [Flutter Packages:]( https://pub.dev/flutter) +- [Flutter Plugins]( https://flutter.dev/docs/development/packages-and-plugins) +### 4.Flutter UI/UX Design +- [Flutter Documentation:]( https://flutter.dev/docs) +- [Flutter for Designers:](https://flutterfordesigners.com/) +- [Flutter UI Challenges]( https://flutterui.co/) +- [Flutter Layout Cheat Sheet:](https://medium.com/flutter-community/flutter-layout-cheat-sheet-5363348d037e) +### 5.Flutter Deployment +- [Deploying to Android: ](https://flutter.dev/docs/deployment/android) +- [Deploying to iOS]( https://flutter.dev/docs/deployment/ios) +[Flutter App Distribution:]( https://appdistribution.firebase.dev/) +##### Activities +Here are some activities/projects you can work on to apply what you learn: + +##### Activity 1: Build a Counter App +Build a simple counter app that increments or decrements the count when the user taps a button. + +##### Activity 2: Build a Chat App with Firebase +Build a simple chat app with Firebase Cloud Firestore and Firebase Authentication. Users can sign in, send messages, and receive real-time updates. + +##### Activity 3: Use an API Call to Display Data +Use the http package to make an API call and display the results in a ListView. + +##### Project: Build a Weather App +Build a simple weather app that displays the current weather conditions using a custom-designed UI. + + +--- +## 🔖 Resource Pool +### Articles/Blogs +Flutter Blog: https://medium.com/flutter +Flutter Community: https://fluttercommunity.dev/ +Flutter by Google: https://developers.googleblog.com/flutter/ +Flutter Explained: https://flutter-explained.dev/ +Flutter Weekly: https://flutterweekly.net/ +Reso Coder: https://resocoder.com/category/tutorials/flutter/ +Flutter Dev: https://flutter.dev/docs/development +### Videos +Flutter YouTube Channel: https://www.youtube.com/channel/UCwXdFgeE9KYzlDdR7TG9cMw +Flutter & Firebase App Build: https://www.youtube.com/watch?v=knMvKPKBzGE +Flutter Widgets 101: https://www.youtube.com/watch?v=Olj9t1ZBtF0 +Flutter Animation Tutorial: https://www.youtube.com/watch?v=I-20MRF1lCQ +### Books +- Flutter in Action by Eric Windmill +- Flutter for Beginners: An introductory guide to building cross-platform mobile applications with Flutter and Dart 2 by Scott Lahteine +- Flutter Cookbook: Recipes for building fast, reliable, and effective applications for mobile and beyond by Wm. Leler +### Newsletters +Flutter Weekly: https://flutterweekly.net/ +Flutter Community Newsletter: https://fluttercommunity.dev/newsletter/ +Flutter Dev Weekly: https://www.flutterdevweekly.com/ +### Communities +Flutter Community: https://fluttercommunity.dev/ +Flutter Dev Community: https://flutter.dev/community +Flutter Discord: https://discord.gg/n7Yshp4 +Flutter Gitter: https://gitter.im/flutter/flutter +--- +## 🚀 Project Pool + +- Flutter Login Screen: A basic login screen that allows users to enter their email and password. +Demo project: https://github.com/afgprogrammer/Flutter-Login-Signup-page + +- Flutter Todo App: A simple app that allows users to create and manage a list of tasks. +Demo project: https://github.com/asjqkkkk/flutter-todos + +- Flutter Calculator App: A basic calculator app that allows users to perform simple arithmetic operations. +Demo project: https://github.com/shubhamhackz/flutter-calculator + +- Flutter Quiz App: An app that allows users to take a quiz and displays the results at the end. +Demo project: https://github.com/abuanwar072/Quiz-App-Flutter + +- Flutter Messaging App: A basic messaging app that allows users to send and receive messages. +Demo project: https://github.com/abuanwar072/Chat-Messaging-App-Light-and-Dark-Theme + + +