مطالب پیشنهادی از سراسر وب

آموزش Flutter و Firebase - ساخت اپلیکیشن کامل برای اندروید و iOS

دسته بندی ها: آموزش های ویژه ، آموزش فایربیس (Firebase) ، برنامه نویسی موبایل ، آموزش برنامه نویسی آی او اس (iOS) ، آموزش های یودمی (Udemy) ، آموزش فلاتر (Flutter) ، آموزش برنامه نویسی اندروید (Android)

فایربیس و فلاتر ارائه شده توسط گوگل و دارت را یاد بگیرید و یک برنامه آماده تولید در دنیای واقعی بسازید.

آخرین به روزرسانی: 2021-3

آنچه خواهید آموخت:

  • با Flutter و Firebase یک اپلیکیشن کامل و واقعی بسازید
  • اپلیکیشن های iOS و Android را با یک codebase بنویسید
  • کد های آماده تولید را به دنبال بهترین شیوه ها بنویسید و به یک توسعه دهنده شایسته Flutter تبدیل شوید
  • با نکات کاربردی و تکنیک های اثبات شده سریع یادگیری Flutter خود را پیگیری کنید

الزامات دوره:

  • تجربه یک زبان برنامه نویسی دیگر مفید است، اما مورد نیاز نیست
  • هیچگونه تجربه قبلی از دارت، فلاتر و Firebase مورد نیاز نیست
  • هیچگونه تجربه قبلی از توسعه برنامه تلفن همراه مورد نیاز نیست

توضیحات دوره:

آیا می خواهید یاد بگیرید که چگونه با Flutter برنامه های تلفن همراه نیتیو بسازید؟

پس شما در جای درستی هستید.

Flutter یک فریمورک موبایل برای ساخت برنامه های نیتیو زیبا و سریع می باشد که توسط Google ارائه شده است. فلاتر بسیار سازنده است و مجموعه ای غنی از ابزارک را ارائه می دهد که باعث ایجاد برنامه های موبایل می شود. هنگامی که با فلاتر کار کنید و هر چیز دیگری را که Flutter ارائه می دهد تجربه کردید، دیگر هرگز نمیخواهید با ابزار دیگری کار کنید.

در این دوره با استفاده از دارت، Flutter و Firebase یک اپلیکیشن کامل و واقعی برای iOS و Android خواهید ساخت.

این دوره از مبانی شروع می کند و شامل معرفی کاملی از دارت و فلاتر می باشد. این بدان معنی است که هیچ تجربه قبلی با توسعه دارت و برنامه های تلفن همراه مورد نیاز نیست.

همانطور که پیشرفت می کنید، این دوره با تأکید ویژه بر نوشتن کد آماده برای تولید، مباحث پیشرفته تری را معرفی می کند، بنابراین شما می توانید یاد بگیرید که چگونه برنامه های قدرتمندی ایجاد کنید.

و همچنین با یادگیری Firebase، خواهید فهمید که چگونه اپلیکیشن های واکنش گرای مدرن بسازید و ببینید چرا Flutter و Firebase یک ترکیب عالی هستند.

مفاهیم مهم با نمودارهای واضح توضیح داده شده اند. شما همیشه خواهید آموخت که چه چیزی را ایجاد خواهید کرد و چرا و سپس نحوه انجام آن را یاد خواهید گرفت.

این یک پایه محکم به شما می دهد و تکنیک هایی که در اینجا یاد می گیرید در برنامه های Flutter خودتان ارزشمند هستند.

بنابراین با پایان این دوره شما یک توسعه دهنده با مهارت Flutter خواهید بود.

ساختار دوره:

این یک دوره کامل است. با 21 ساعت محتوا، همه چیزهایی را که باید در مورد Flutter بدانید را به شما آموزش می دهد. 

- هر درس بر روی درس قبلی ساخته می شود (کد منبع گنجانده شده است).

- هر بخش یک موضوع متفاوت را پوشش می دهد.

می توانید دوره را از ابتدا تا انتها دنبال کنید یا موضوعات مورد علاقه خود را انتخاب کنید.

یادگیری خود را سریع پیگیری کنید

این دوره توصیه های عملی زیادی را به همراه نکات و تکنیک هایی ارائه می دهد که من در طول سال ها تجربه آنها را آزمایش کرده ام.

این دوره بسیار فراتر از "کار کردن موارد" است و درک کاملی از بسیاری از تکنیک های مختلف و تجارت به شما می دهد.

و این به شما نشان می دهد که چگونه با ذهنیت یک مهندس نرم افزار برتر حرفه ای، در مورد مشکلات و راه حل های آنها فکر کنید.

بنابراین گذراندن این دوره باعث صرفه جویی در وقت و هزینه شما می شود و شما را برای ساخت برنامه های واقعی آماده می کند.

این دوره شامل:

  • آشنایی با دارت
  • دستورالعمل راه اندازی برای ویندوز و macOS 
  • معرفی فلاتر و ویدجت ها
  • ساخت طرح بندی ها با ویدجت های Material & Cupertino به علاوه ی ساخت ویدجت های سفارشی خودتان
  • ناوبری
  • احراز هویت Firebase (ناشناس، ایمیل و گذرواژه، Google ،Facebook)
  • مدیریت State (نحوه استفاده از setState، افزایش state از طریق callbacks، دسترسی جهانی، دسترسی محدود با Provider ،BLoCs ،ValueNotifier و ChangeNotifier)
  • Streams، ساخت اپلیکیشن های واکنش گرا و عملیات های پیشرفته stream با RxDart
  • فرم ها، مدیریت ورودی و اعتبارسنجی
  • مدیریت و به روزرسانی بسته ها
  • پایگاه داده ها و Cloud Firestore
  • کار با فرم ها و Cloud Firestore
  • کار با ListViews و چندین UI states
  • time pickers و Date pickers
  • تست های واحد و ویدجت با mockito (مبانی تا پیشرفته)
  • الزامات سیستم
  • ویندوز، macOS یا لینوکس برای توسعه اپلیکیشن اندروید
  • macOS برای توسعه اپلیکیشن iOS 

این دوره برای چه کسانی است:

  • توسعه دهندگان مبتدی یا متوسط دارت و فلاتر
  • توسعه دهندگان با تجربه iOS و Android
  • توسعه دهندگانی که می خواهند با یک codebase در iOS و Android برنامه بنویسند
  • توسعه دهندگانی که می خواهند با Firebase برنامه های مدرن و واکنش گرا بنویسند

مباحث دوره:

  • مقدمه دوره
  • آشنایی با دارت
  • راه اندازی فلاتر در macOS
  • راه اندازی فلاتر در ویندوز
  • آشنایی با فلاتر
  • ساخت طرح بندی ها
  • احراز هویت فایربیس
  • جریان احراز هویت کامل، مدیریت State و تزریق وابستگی
  • Streams و StreamBuilder
  • ثبت نام فیس بوک و گوگل
  • ثبت نام ایمیل و پسورد + مدیریت ورودی متن
  • دیالوگ های Platform-Aware
  • دسترسی محدود با InheritedWidget و provider 
  • پولیش کردن جریان های احراز هویت
  • BLoCs
  • مدیریت State با Provider
  • پایگاه داده ها و Cloud Firestore
  • کار با فرم ها و Cloud Firestore
  • کار با ListViews و چندین UI states
  • کار با Date & Time Pickers، بیشتر بر روی Cloud Firestore
  • ناوبری پایین با ویدجت های Cupertino
  • عملیات های پیشرفته جریان با RxDart
  • تکمیل Time Tracker App
  • تست های ویدجت و یونیت با Mockito
  • نتیجه گیری و گام های بعدی

سایر ویدئوهای دوره:

محتوای دوره Flutter و Firebase

 

بررسی اپلیکیشن

 

بیشترین بهره از این دوره

 

فلاتر چیست؟

ترجمه با ویدابیا

ترجمه فارسی این دوره آموزشی رو همین الان از ویدابیا سفارش بده الان سفارش بده
آیا این نوشته را دوست داشتید؟
Udemy Flutter and Firebase: Build a Complete App for iOS and Android Publisher:Udemy Author:Andrea Bizzotto Duration:21 hours Level:Advanced

Learn Dart, Flutter & Firebase by Google, and build a real-world, production-ready app

What you'll learn

  • Build a complete, real-world app with Flutter & Firebase
  • Write iOS & Android apps with a single codebase
  • Write production-ready code following best practices and become a competent Flutter developer
  • Fast-track your Flutter learning with practical tips and proven techniques

Requirements

  • Experience with another programming language is beneficial, but not strictly required
  • NO prior Dart, Flutter and Firebase experience required
  • NO prior mobile app development experience required

Description

Want to learn how to build native mobile apps with Flutter?

Then you are in the right place.

Flutter is a mobile framework by Google for building beautiful and fast native apps. Flutter is very productive and offers a rich set of widgets that makes building apps a breeze. Once you experience hot-reload and everything else Flutter has to offer, you will never want to go back.

In this course you will build a complete, real-world application for iOS and Android, by using Dart, Flutter and Firebase.

This course starts from the basics, and includes a full introduction to Dart and Flutter. This means that NO prior experience with Dart and mobile app development is needed.

As you make progress, the course will introduce more advanced topics, with special emphasis on writing production-ready code, so that you can learn how to build robust applications that scale.

And by learning Firebase as well, you will understand how to make modern reactive apps, and see why Flutter and Firebase are a great combination.

Important concepts are explained with clear diagrams. You will always learn what you will be building and why, and then how to do it.

This will give you a strong foundation, and the techniques you learn here will be valuable in your own Flutter apps.

So by the end of this course you will be a competent Flutter developer.

Course Structure

This is a complete course. With 21 hours of content, it will teach you everything you need to know about Flutter.

- Each lesson builds on top of the previous one (source code included).

- Each section covers a different topic.

You can follow the course from beginning to end, or choose the topics you’re most interested in.

Fast-track your learning

This course offers a lot of practical advice, along with tips and techniques that I have battle-tested over years of experience.

It goes far beyond "making things work", and gives you a very solid understanding of many different techniques and their trade-offs.

And it will show you how to think about problems and their solutions, with the mindset of a top professional software engineer.

So taking this course will save you a lot of time and money, and will prepare you for building real-world apps.

And if you get stuck, you can ask questions and they will be quickly answered.

Included in this course

  • Introduction to Dart
  • Setup instructions for macOS and Windows
  • Introduction to Flutter and widgets
  • Building layouts with Material & Cupertino widgets + build your own custom widgets
  • Navigation
  • Firebase Authentication (anonymous, email & password, Google, Facebook)
  • State Management: how to use setState, lifting state up via callbacks, global access, scoped access with Provider, BLoCs, ValueNotifier & ChangeNotifier
  • Streams, building reactive apps & advanced stream operations with RxDart
  • Forms, input handling and validation
  • Managing and updating packages
  • Databases and Cloud Firestore
  • Working with Forms and Cloud Firestore
  • Working with ListViews and multiple UI states
  • Date & time pickers
  • Unit & Widget tests with mockito (basics to advanced)
  • System requirements
  • Windows, macOS or Linux for Android app development
  • macOS for iOS app development

Who this course is for:

  • Beginner or intermediate Dart and Flutter developers
  • Experienced iOS and Android developers
  • Developers who want to write apps on iOS and Android with a single codebase
  • Developers that want to write modern, reactive apps with Firebase

Course content

Course Introduction
6 lectures • 14min
Course Introduction
Preview
01:50
Course Content
Preview
02:01
App Overview
Preview
03:24
Making the most of this course
Preview
02:42
Course Resources
Preview
00:34
What is Flutter
Preview
03:13
Introduction to Dart
37 lectures • 1hr 39min
The Dart Language
02:25
Introduction to Dartpad
00:48
A simple program
Preview
01:42
Variable declaration and initialization
Preview
01:43
String interpolation
03:03
Type inference with var
03:13
Var and final
01:54
The dynamic keyword
01:53
Introduction to functions
04:18
Function return types
02:05
Optional parameters, nullability and default values
02:31
Named parameters
01:58
The arrow operator
01:51
Introduction to classes
02:01
Class constructors
03:05
Instance methods
02:14
Inheritance
02:56
The super constructor
01:59
The base Object class and the toString method
01:48
Overriding the toString method
05:25
Abstract classes
03:21
More on abstract classes
02:33
Using abstract classes with functions
01:54
Computed properties
02:39
Mixins
04:37
Introduction to lists
03:43
Introduction to maps
03:31
Generics and type annotations
04:53
If and else statements
03:51
The ternary operator
02:25
The while loop
03:13
The for loop
01:59
Closures and the fold method
04:12
Enumerations
02:45
Switch statements
02:49
Wrap-up
01:11
Useful Links & Resources
00:03
Flutter setup on macOS
11 lectures • 31min
macOS setup and Flutter 1.x
00:18
Flutter setup on macOS
02:39
Setting the PATH variable
04:26
Flutter doctor
00:50
Xcode and iOS simulator setup
02:17
Installing Android Studio
05:54
Installing the Android emulator
02:20
Running Flutter from the command line
05:21
Flutter setup on Android Studio
03:35
Installing Visual Studio Code
03:11
Useful Links & Resources
00:05
Flutter setup on Windows
9 lectures • 22min
Flutter setup on Windows
01:27
Updating the path variable
02:09
Flutter doctor
00:54
Installing Android Studio
04:27
Installing the Android emulator
03:18
Running Flutter from the command line
02:57
Flutter setup on Android Studio
04:19
Installing Visual Studio Code
02:52
Useful Links & Resources
00:05
Introduction to Flutter
15 lectures • 31min
Creating a Flutter project with Android Studio
03:28
A tour of the project folders
02:40
Running the Android emulator and iOS simulator
02:09
Overview of the Flutter counter app
01:08
Hot reload and hot restart
04:06
Introduction to widgets
02:22
The MaterialApp widget
01:51
The Scaffold widget
02:37
The Flutter widget tree
Preview
03:25
Stateless and stateful widgets
Preview
02:42
Updating the counter with setState
02:10
Wrap up
01:10
Note about Flutter 2.0 and Null Safety
00:35
Useful Links & Resources
00:02
Shortcuts for VS Code and Android Studio
00:11
Building Layouts
39 lectures • 2hr 9min
Overview of the Time tracker app
Preview
01:42
Switching between apps
00:54
Writing the root widget of the app
04:07
Adding the MaterialApp
02:50
Adding some folders to our project
02:19
Adding a sign-in page
03:35
The ThemeData class
02:12
The AppBar widget
02:38
Preview of the SignInPage layout
01:27
Adding a Column layout
03:17
The CrossAxisAlignment property
Preview
03:55
Code formatting with dartfmt
04:53
Adding some boxes and extracting code into a method
03:39
Private methods
03:25
Adding some padding
04:33
The MainAxisAlignment property
Preview
01:14
Text, TextStyle and FontWeight
03:12
Introduction to buttons
01:49
Adding the first button
03:29
Button callbacks explained
Preview
04:14
Customising button colors
03:09
MaterialColor explained
03:08
Changing button shapes
02:16
Making code reusable
01:24
Creating a reusable custom RaisedButton
06:39
Creating a reusable SignInButton
04:13
Setting default values
02:22
Making the button height configurable
03:55
Adding the remaining buttons
04:36
Adding logos: introduction
01:17
Updating the pubspec.yaml file
04:02
Image variants
01:53
Adding an image inside a button
03:33
Arranging widgets horizontally in a Row
04:27
The Opacity widget
02:39
Creating a custom SocialSignInButton
05:58
The @required annotation
05:03
Using assertions for better widget API design
09:02
Useful Links & Resources
00:02
Firebase Authentication
16 lectures • 46min
Local and remote authentication
03:56
Introduction to Firebase
01:33
Creating a Firebase project
02:03
Configuring Firebase for Android
08:58
How to fix: "'keytool' is not recognized as an internal or external command"
00:18
Configuring Firebase for iOS
07:22
Installing the firebase_core and firebase_auth packages
03:22
Initializing the Firebase App
03:08
Running on iOS and updating Cocoapods
01:25
Futures, async and await
02:00
Signing in anonymously with Firebase
04:15
The FirebaseAuth singleton and private constructors
03:06
Explaining the short-hand syntax for callbacks
01:25
Error handling with try/catch
02:43
Useful Links & Resources
00:26
Recommendations about choosing and updating packages
00:15
Full Authentication Flow, State Management & Dependency Injection
15 lectures • 48min
Preview of the sign-in and sign-out flow
03:09
Creating a landing page widget
02:21
Adding a Firebase User to the LandingPage
01:43
Adding a callback to the SignInPage
02:54
Hooking up the onSignIn callback
03:05
Creating the home page
04:02
Adding the sign-out functionality
02:46
Hooking up the onSignOut callback
02:34
Retrieving the current user when the app starts
02:11
Explaining global access and scoped access
05:35
Creating the Auth class
02:38
The abstract AuthBase class
03:03
Using the Auth class
04:36
Lifting state up and its drawbacks
04:38
State Management & App Architecture
02:30
Streams and StreamBuilder
10 lectures • 30min
Introduction to Streams
Preview
02:43
Streams in practice with DartPad
Preview
04:01
Handling errors and closing streams
04:51
The authStateChanges stream
02:19
Listening to the authStateChanges stream
02:36
Adding the StreamBuilder code
04:33
More on StreamBuilder
03:08
Refactoring the sign-in flows
02:41
Wrap-up on Streams and StreamBuilder
02:57
Useful Links & Resources
00:01
Google and Facebook Sign-In
20 lectures • 57min
Overview of the Firebase sign-in methods
01:59
Enabling support for Google Sign In
02:29
Adding Google Sign-In to the Auth class
05:14
Hooking up Google Sign-In to our button
01:34
Configuring Google Sign-In on iOS
03:48
Google Sign-In flow explained
02:50
Supporting Google Sign Out
03:01
Testing Google Sign-In on Android
02:56
Checklist: Google Sign-In Flutter setup on Android
00:58
Viewing registered users on the Firebase console
00:46
Registering a Facebook App
07:32
Enabling Facebook Sign-In on Firebase
02:28
Installing the Facebook login package
01:23
Enabling MultiDex support on Android
01:37
Adding the Facebook Sign-In code
04:35
Testing Facebook Sign-In on Android
03:35
Facebook iOS setup in Xcode
04:39
Testing Facebook Sign-In on iOS
02:10
Accessing the user's data and privacy considerations
02:56
Useful Links & Resources
00:05
Email & Password Sign-In + Handling Text Input
26 lectures • 1hr 31min
Preview of the email & password sign-in page
02:20
Creating the email & password sign-in page
01:59
Passing the BuildContext across methods
01:48
Introduction to navigation
05:20
Adding a Card widget
02:03
Adding the email and password text fields
05:17
Adding the submit buttons
02:21
Creating a FormSubmitButton widget
03:31
Adding a TextEditingController
05:23
Toggling the form type
06:21
Adding the email & password authentication code
04:14
Implementing the submit method
02:59
Testing email & password sign-in
02:55
Customising the email and password text fields
03:32
Using FocusNode and FocusScope
04:47
Disabling the submit button on empty email or password
05:30
Adding a StringValidator class
02:28
Adding an email and password validation mixin
02:50
Showing an error text when the email or password are invalid
03:16
Tweaking form submission
04:45
Simulating a slow network with a delay
02:51
Adding a loading state to our form
03:35
Updating the email focus logic
02:14
Fixing the vertical overflow on small screens
03:36
Wrap-up
04:41
Useful Links & Resources
00:04
Platform-Aware Dialogs
8 lectures • 22min
Introduction to dialogs
01:18
Showing a dialog
02:49
Dismissing dialogs
02:14
Platform-aware widgets on iOS, Android & more
04:02
Adding a reusable showAlertDialog function
04:47
Adding a sign-out confirmation dialog
04:20
Dialog differences on Android and iOS
02:00
Useful Links & Resources
00:01
Scoped Access with InheritedWidget and Provider
7 lectures • 26min
Introduction to InheritedWidget
03:35
Creating an AuthProvider
05:41
Accessing the Auth object via the AuthProvider
06:22
Adding the provider package
01:41
Using the Provider class
04:55
Wrap-up about scoped access
04:08
Useful Links & Resources
00:02
Polishing the Authentication Flows
8 lectures • 20min
Module Introduction
01:08
Creating better user-facing errors with FirebaseAuthException
02:39
Creating a custom exception alert dialog
03:02
Showing error alerts in the SignInPage
03:15
Adding a loading state: overview
01:11
Adding a loading state to the SignInPage
02:32
Using the loading state in the SignInPage
03:35
The dispose method
02:57
BLoCs
27 lectures • 1hr 37min
Introduction to state management with BLoCs
04:49
The application layers
01:40
BLoCs, sinks, streams, and asynchronous code
04:52
Introduction to the SignInBloc
02:50
Implementing a simple BLoC
03:26
Adding a Bloc with Provider inside a static method
02:37
Adding the StreamBuilder code
02:47
Converting the SignInPage to a stateless widget
02:56
The difference between Provider.of and Consumer
03:15
Disposing BLoCs with Provider
01:03
Adding authentication code to the SignInBloc
05:47
Updating the SignInPage
02:13
Fixing the BLoC submit method
02:55
Summary on the BLoC basics
01:15
Introduction to the email sign-in flow with BLoC
02:35
Creating a model class for the EmailSignInForm
02:48
Creating the EmailSignInBloc with a StreamController
02:31
Updating the model
06:38
Adding the BLoC submit method
05:19
Setting up the EmailSignInFormBlocBased with Provider
05:05
Refactoring the EmailSignInFormBlocBased widget by removing the state variables
07:17
Moving the business logic to the BLoC class
03:35
Moving more business logic to the model class
06:31
The benefits of separation of concerns with BLoC
02:59
Using stateful widgets with TextEditingControllers
03:35
Considerations about performance
02:05
Blocs and Services in the widget tree
03:37
State Management with Provider
13 lectures • 39min
Recap on State Management
02:23
Introduction to ValueNotifier
02:06
Adding a ValueNotifier with ChangeNotifierProvider
04:50
Consumer and ChangeNotifierProvider explained
03:23
Differences between BLoC/streams and ValueNotifier/ChangeNotifierProvider
02:53
Introduction to ChangeNotifier
01:25
Adding the EmailSignInChangeModel class
04:47
Completing the EmailSignInChangeModel class
02:42
Implementing the email sign-in form with ChangeNotifier
05:31
Comparing ValueNotifier and ChangeNotifier
03:22
Wrap up on State Management
03:45
Wrap up on the Authentication Flows
02:05
Useful Links & Resources
00:05
Databases and Cloud Firestore
28 lectures • 1hr 30min
Overview of the time tracker app
Preview
02:37
Database schema and SQL vs NoSQL
Preview
04:27
Introduction to Cloud Firestore
02:26
Documents and Collections
Preview
02:00
Getting started with Firestore
03:19
Designing a Database API with CRUD operations
Preview
03:21
Managing private user data with Cloud Firestore
03:21
Installing Cloud Firestore
01:49
Renaming the HomePage to JobsPage
02:30
Adding the Database class
03:01
Adding the Database Provider
01:30
Adding a FloatingActionButton
02:17
Writing data to Firestore
06:50
Defining a strongly-typed Job model class
04:02
Defining a common API path class
02:50
Adding a generic setData method
02:42
Adding security rules
04:52
Handling Firestore permissions errors
02:45
Reading data from Firestore
04:56
Reading and parsing Firestore data streams
04:01
Adding a StreamBuilder to show a list of jobs
04:08
Debugging the StreamBuilder code
04:51
Firestore as a realtime database
02:07
Adding a factory constructor to our model class
02:49
Adding a generic method to read Firestore streams
03:00
Adding a FirestoreService class
04:26
Wrap-up on Cloud Firestore
03:14
Useful Links & Resources
00:09
Working with Forms and Cloud Firestore
17 lectures • 57min
Introduction to Forms with Cloud Firestore
01:50
Adding a new job page
04:23
The Placeholder widget
03:59
Introduction to Form and TextFormField
03:40
Validating and saving Form data
08:03
Accessing the Database object with the correct BuildContext
04:41
Saving jobs with a unique document ID
04:53
Handling errors
01:39
Enforcing unique job names
03:03
Fixing the integer-parsing code
01:26
Editing existing jobs: overview
01:15
Adding a custom JobListTile
03:50
Repurposing the AddJobPage for editing jobs
04:46
Reading the documentID from Firestore
02:49
Completing the code for editing jobs
04:17
Wrap up on working with Forms
02:46
Useful Links & Resources
00:02
Working with ListViews and multiple UI states
7 lectures • 27min
Intro and multiple states of UI
01:52
Adding an empty content widget
03:30
Adding a reusable list items builder
04:45
Using ListView.builder
04:51
Using ListView.separated
02:49
Deleting jobs from Firestore
02:27
Adding swipe to delete support
06:29
Working with Date & Time Pickers, more on Cloud Firestore
16 lectures • 47min
Working with entries: overview
01:50
Relational data & drawbacks of NoSQL databases
04:18
Getting ready to add new files
01:20
Adding the source files to the project
03:02
Connecting the new code and updating the Firestore rules
02:13
Fixing the EditJobPage navigation
03:01
Overview of the JobEntriesPage
02:28
Reading and writing entries with Firestore
05:25
The EntryListItem widget (using InkWell and Expanded)
02:04
Formatting dates and currencies with the Intl package
02:30
Dart as UI: Spreads and Collection-if
02:53
Using date pickers with stateful widgets
05:27
Date and time input with a custom UI and DateTimePicker
04:06
Updating the UI when a Job changes
05:10
Wrap up and CupertinoDatePicker
01:24
Useful Links & Resources
00:05
Bottom Navigation with the Cupertino widgets
14 lectures • 41min
Introduction to bottom navigation
02:00
Multiple navigation stacks
01:45
Creating a HomePage with a selected tab
03:56
Adding a CupertinoTabScaffold
06:37
Testing the bottom navigation
02:34
Adding the widget builders
04:36
Replacing the FloatingActionButtons
04:26
Moving the logout button to the AccountPage
02:08
Presenting modal routes with the root navigator
03:21
The CupertinoPageRoute
01:00
Handling the Android back button with WillPopScope and navigator keys
05:35
Adding pop-to-root navigation
01:43
Wrap up on multiple navigators
01:43
Useful Links & Resources
00:04
Advanced Stream Operations with RxDart
13 lectures • 35min
Introduction to advanced stream operations
Preview
02:52
Introduction to RxDart
Preview
02:24
Observable.combineLatest and data transformations in the time tracker app
03:21
Adding the source code for the new entries page
01:15
Reviewing the UI code for the entries page
04:02
Using combineLatest in practice
04:22
Data manipulation in the EntriesBloc
04:08
Wrap up on Observables
01:40
Single subscription vs broadcast streams
Preview
03:02
PublishSubject, ReplaySubject, BehaviorSubject
01:58
Adding a BehaviorSubject to the EmailSignInBloc
03:34
Wrap up and notes about local and remote state management
02:27
Useful Links & Resources
00:03
Completing the Time Tracker App
5 lectures • 11min
Completing the time tracker app: overview
00:48
Accessing the User object in the AccountPage
01:39
Adding an Avatar image
04:43
Finishing the Avatar code
03:17
Wrapping up the time tracker app
00:37
Unit & Widget Tests with Mockito
41 lectures • 2hr 17min
Introduction to writing tests
Preview
02:06
Testing Flutter Apps
02:31
Writing the first unit test
03:30
Running tests
01:31
Checking and fixing errors in tests
01:18
Testing edge cases by writing and fixing failing tests
02:53
Grouping tests together
03:05
The setUp method and testing date formatting with locales
03:42
The test lifecycle methods
01:46
Completing the formatting tests
03:25
Testing model classes
03:48
hashCode and the == operator
04:57
Adding a toString() method, wrap up on unit tests
04:54
Introduction to widget tests
03:37
Finding widgets and matcher arguments
03:06
Testing widget callbacks
02:34
Working with Acceptance Criteria
01:16
Introduction to test mocks and mockito
02:05
Injecting mock objects with Provider
04:28
Verifying mock methods
03:32
Working with keys, entering text and the pump() method
06:18
Testing widget updates on state changes
02:52
Completing the email sign-in tests
02:16
Replacing Navigator.pop with a callback when the user signs in
02:30
Updating the tests to handle the form callback
02:12
Stubbing mock objects
05:41
Recap on the email sign in forms and stubbing mocks
02:22
Using widget tests with StreamBuilder
02:55
Using StreamController inside tests
07:07
Adding a Database builder to the Landing Page
05:16
Test setup for the SignInPage
02:45
Adding keys to custom widget classes
02:39
Testing navigation
04:41
The great thing about widget tests
01:54
Testing ValueNotifier models
07:07
Testing ChangeNotifier models
03:36
Testing BloCs
03:26
Comparing EmailSignInModel objects
01:17
Testing streams in Blocs
08:00
Wrap up on unit & widget tests
01:24
Useful Links & Resources
00:08
Conclusion and Next Steps
3 lectures • 5min
How to migrate this project to Null Safety
00:20
Conclusion and Next Steps
04:15
Further reading
00:07

پیشنهاد آموزش مرتبط در فرادرس

خرید لینک های دانلود
  • حجم فایل: 11.41GB
  • زبان: انگلیسی
  • زیرنویس انگلیسی: دارد
  • قیمت: 8000 تومان
  • آموزش Flutter و Firebase - ساخت اپلیکیشن کامل برای اندروید و iOS یک محصول ویژه است و دریافت لینک های دانلود آن با پرداخت هزینه امکان پذیر است. اطلاعات بیشتر