وب سایت تخصصی شرکت فرین
دسته بندی دوره ها

Dart and Flutter: The Complete Developer’s Guide

سرفصل های دوره

Everything you need to know for building mobile apps with Flutter and Dart, including RxDart and Animations!


01 - Lets Dive In!
  • 001 How to Get Help
  • 002 Course Resources.html
  • 002 diagrams.zip
  • 003 Join Our Community!.html
  • 004 Course Organization

  • 02 - A Dart Introduction
  • 001 Dart Overview
  • 002 The Dartpad Editor
  • 003 Our First Program
  • 004 Pulling the Pieces Apart
  • 005 Functions in Dart
  • 006 Introduction to Types
  • 007 Why Use Types
  • 008 String Interpolation
  • 009 Object Oriented Programming in Dart
  • 010 Creating Classes
  • 011 Creating Class Instances
  • 012 Constructor Functions
  • 013 Review on Constructors

  • 03 - Staying on Target with Dart
  • 001 App Overview
  • 002 OOP Design Flow
  • 003 Adding Fields to Classes
  • 004 Associated Methods
  • 005 More Initialization with Constructors
  • 006 For Loops
  • 007 Adding Elements to Lists
  • 008 More on Variable Initialization
  • 009 Customizing Print Statements
  • 010 ToString on Cards
  • 011 Shuffling a List
  • 012 Annotating Argument Types
  • 013 Filtering Lists
  • 014 Annotating Argument Types
  • 015 Filtering Lists
  • 016 Shorthand Function Syntax
  • 017 Removing Individual Records
  • 018 RemoveCard Implementation
  • 019 Named Parameters

  • 04 - Flutter Environment Setup - MacOS
  • 001 Flutter Setup on MacOS
  • 002 SDK Extraction
  • 003 Editing the PATH Variable
  • 004 XCode License
  • 005 Generating Flutter Projects

  • 05 - MacOS Setup - Android
  • 001 Android Setup on MacOS
  • 002 Android Dependencies
  • 003 Android Project Setup
  • 004 More Android Dependencies!
  • 005 Android Emulator Creation
  • 006 Flutter Startup
  • 007 Finished Android Setup

  • 06 - MacOS Setup - iOS
  • 001 iOS on Mac Setup
  • 002 XCode Setup
  • 003 iOS Simulator Startup
  • 004 App Startup

  • 07 - Flutter Setup on PC
  • 001 Flutter Install
  • 002 More Flutter Installation
  • 003 Android Install
  • 004 Additional Dependencies
  • 005 Generating a Project
  • 006 Selecting an Image
  • 007 Starting the Emulator
  • 008 Finishing Android Setup

  • 08 - App Building Time!
  • 001 Code Editor Setup.html
  • 002 Whats Flutter About, Anyways
  • 003 App Overview
  • 004 The Four Step Design Process
  • 005 Import Statements
  • 006 Creating Widgets
  • 007 Displaying Content on Screen
  • 008 Showing a Scaffold
  • 009 Customizing the App Bar
  • 010 Named Parameter Clarification
  • 011 Required Parameters
  • 012 Child Parameters
  • 013 Displaying Icons
  • 014 Adding Custom Widgets

  • 09 - State Design with Flutter Apps
  • 001 Stateless vs Stateful Widgets
  • 002 The Build Method
  • 003 Local Import Statements
  • 004 Quick Breather and Review
  • 005 Refactoring Stateless to Stateful
  • 006 More Refactoring to Stateful Widgets

  • 10 - High-Level Dart
  • 001 Generics in Dart
  • 002 Why Two Classes

  • 11 - HTTP Requests with Flutter
  • 001 Photos API
  • 002 Working with JSON
  • 003 Casting JSON to Model Instances
  • 004 Named Constructors
  • 005 Adding an Image Model
  • 006 Function References
  • 007 The HTTP Package
  • 008 Issuing HTTP Requests
  • 009 Handling Dart Futures
  • 010 Parsing Future Responses into a Model
  • 011 Updating the AppState Widget
  • 012 Building Lists of Widgets
  • 013 Sending Images to the ImageList
  • 014 The Final Keyword
  • 015 Building Lists with ListView
  • 016 Listing URLs
  • 017 Text to Images
  • 018 Containers for Positioning
  • 019 Adding Border Style
  • 020 Column Widgets for Layout
  • 021 Selective Padding
  • 022 App Review

  • 12 - Forms and Validation with Flutter
  • 001 App Overview
  • 002 Boilerplate App Code
  • 003 Creating the Login Screen
  • 004 More Container Styling
  • 005 Labels and Hint Text
  • 006 Customizing Keyboard Type
  • 007 Handling Password Inputs
  • 008 Displaying Buttons with RaisedButton
  • 009 Changing Widget Colors
  • 010 Layout Control
  • 011 Form Validation
  • 012 Referencing Widgets with Global Keys
  • 013 The Form Widget and FormState
  • 014 Creating a Global Key
  • 015 Referencing FormState with Global Keys
  • 016 Validating via FormState
  • 017 Triggering Validation
  • 018 Retrieving Form Values
  • 019 Final Form Submittal
  • 020 Code Reuse with Mixins
  • 021 Mixin Validator Implementation

  • 13 - Reactive Programming with Dart
  • 001 A Quick Detour
  • 002 Streams by Analogy
  • 003 Characteristics of Streams
  • 004 StreamControllers and Sinks
  • 005 Mapping a Stream
  • 006 Adding a StreamTransformer
  • 007 Implementing the Listener
  • 008 Stream Review
  • 009 Lets Build a Game
  • 010 Why Streams
  • 011 Word Guessing
  • 012 Streams Take and Where Functions
  • 013 Validation with Streams
  • 014 Email Validation
  • 015 Wiring up the Error

  • 14 - Advanced Flutter Architecture - The Bloc Pattern
  • 001 BLOCs vs Stateful Widgets
  • 002 The Purpose of Streams with Blocs
  • 003 Generating a New Project
  • 004 App Boilerplate
  • 005 Second Time on LoginScreen
  • 006 TextFields with RaisedButtons
  • 007 How to Use TextFields
  • 008 BLOC Design for TextFields
  • 009 Annotating Stream Types
  • 010 Issues with Bloc Access
  • 011 Shortcut Access with Getters
  • 012 Public vs Private Fields
  • 013 Improving the BLOC Api
  • 014 Validation Transformers
  • 015 A Technicality Around Mixins
  • 016 Cleaning Up Controllers
  • 017 Bloc Application

  • 15 - Consuming BLOC Data
  • 001 The StreamBuilder Widget
  • 002 Streambuilder for Password Fields
  • 003 Scoped Bloc Approach
  • 004 Provider Implementation
  • 005 The Providers of Function
  • 006 The Providers Constructor
  • 007 The Provider in Action
  • 008 Accessing the Bloc
  • 009 Breather and Review
  • 010 Enabling Form Submission
  • 011 Stream Merging Possibilities

  • 16 - RxDart for Reactive Programming
  • 001 Introducing RxDart
  • 002 More on RxDart
  • 003 The CombineLatest Function
  • 004 CombineLatest in Action
  • 005 More on StreamBuilder
  • 006 Interpreting Stream Values
  • 007 Broadcast Streams
  • 008 Disabled by Default
  • 009 Replacing Controllers with Subjects
  • 010 Review of BLOCs

  • 17 - Building Delightful Animations
  • 001 App Overview
  • 002 Animation Library Classes
  • 003 App Boilerplate
  • 004 StatefulWidgets for Animations
  • 005 Widget Structure
  • 006 Displaying a Cat
  • 007 The InitState Method
  • 008 Declaring the TickerProvider
  • 009 Tweens with Curves
  • 010 Performance Savings with AnimatedBuilder
  • 011 Nature of Animation
  • 012 Starting the Animation
  • 013 Watching for Taps with GestureDetector
  • 014 Reversing Animation States
  • 015 Building the Box
  • 016 Layouts with the Stack Widget
  • 017 Order of Drawing Widgets
  • 018 Add Center Widget
  • 019 Positioned Widgets
  • 020 Expanding Stack Dimensions
  • 021 Three Reasons for Strange Layouts
  • 022 Positioned Constraints
  • 023 Negative Offsets
  • 024 Stack Clip Settings
  • 025 Adjusting Tween Ranges
  • 026 Adding Box Flaps
  • 027 Rotating Widgets
  • 028 Rotation by Radians
  • 029 Changing Rotation Point
  • 030 A Touch of Positioning
  • 031 BoxAnimation Controller
  • 032 Adding Animated Builders
  • 033 Resetting Animations
  • 034 Constraining Animation Range
  • 035 Adding the Right Flap
  • 036 Negative Rotation Values
  • 037 Toggling Animation State
  • 038 Animation Wrapup

  • 18 - Performant Data Fetching
  • 001 App Overview
  • 002 Hacker News API
  • 003 More API Challenges
  • 004 API Performance Strategy
  • 005 Creating the ItemModel Class
  • 006 A Few More ItemModel Properties
  • 007 API Provider Implementation
  • 008 Fetching Individual Items

  • 19 - Testing with Flutter and Dart
  • 001 Testing with Dart
  • 002 A Few Imports
  • 003 Writing Expectations
  • 004 Mocking HTTP Requests
  • 005 Returning JSON
  • 006 Testing FetchItem

  • 20 - Offline Data Storage
  • 001 SQLite DB Provider
  • 002 Database Imports
  • 003 Async Constructors
  • 004 Creating a DB Connection
  • 005 Creating Tables with SQLite
  • 006 Adding Table Columns
  • 007 Issuing Queries
  • 008 Multiple Named Constructors
  • 009 Massaging DB Return Maps
  • 010 Turning Class Instances to Maps
  • 011 Implementing the Repository
  • 012 More on the Repository
  • 013 Type Annotations
  • 014 Casting Lists

  • 21 - Type Design
  • 001 More on the Repository
  • 002 Abstract Classes
  • 003 The Need for Abstract Classes
  • 004 Why Abstract Classes
  • 005 More on Abstract Classes
  • 006 Repository Interface Design
  • 007 Defining the Source
  • 008 Cache Definitions
  • 009 Lists of Sources and Caches
  • 010 Ultimate Reusability
  • 011 Quick Gotcha
  • 012 Another Quick Gotcha!
  • 013 FetchTopIds Implementation

  • 22 - On Demand Widget Rendering
  • 001 App Setup
  • 002 A Touch of Boilerplate
  • 003 Data Fetching Concerns
  • 004 Solution Outline
  • 005 FutureBuilder in Action
  • 006 The Stories Provider
  • 007 Bloc Design
  • 008 Exposing Bloc Getters
  • 009 Wiring up the Stories Provider
  • 010 Bloc Testing
  • 011 Type Annotations Solve Problems
  • 012 Circular Progress Indicator
  • 013 Item Fetching Architecture
  • 014 Giant Gotcha with StreamBuilder
  • 015 Giant Gotcha Solution
  • 016 Implementing ScanStreamTransformer
  • 017 Finishing the ScanStreamTransformer
  • 018 Adding the Items Controller
  • 019 A Gotcha Around Streams Impossible!
  • 020 Single Transformer Application
  • 021 The ListView Tile
  • 022 StreamBuilder Setup
  • 023 Wrapping Up the FutureBuilder
  • 024 Double Gotcha!
  • 025 Stream Subscriptions
  • 026 Stream Subscription Fix
  • 027 Additional Streams
  • 028 A Laborious Refactor
  • 029 Result of Refactor
  • 030 Quick Debug Session
  • 031 Resolving Database Conflicts
  • 032 Building Story Tiles
  • 033 Comments Icon
  • 034 Applying Dividers with Height
  • 035 Loading Container Stand-in
  • 036 Building the Loading Container
  • 037 Showing the Loading Container
  • 038 Long-Lived Cache Values
  • 039 Swipe to Refresh Indicator
  • 040 Implementing a Refresh Widget
  • 041 Clearing Database Tables
  • 042 Communicating a Future to onRefresh

  • 23 - Navigation with Flutter
  • 001 Navigation in Flutter
  • 002 Map Based Routing
  • 003 OnGenerateRoute-Based Navigation
  • 004 OnGenerateRoute Implementation
  • 005 Navigating in Style!
  • 006 A PageRoute for NewsDetail
  • 007 A Scaffold in NewsDetail
  • 008 Parsing Route Settings
  • 009 The Comments Bloc Provider
  • 010 Comments Bloc Design
  • 011 More on Comments Bloc
  • 012 Recursive Data Fetching
  • 013 Quick Fix.html
  • 014 Connecting the Comments Provider
  • 015 Testing Recursive Fetching
  • 016 Consuming the Item Map
  • 017 Displaying the Story Title
  • 018 Text Styling
  • 019 Container Alignment
  • 020 Building the Comments List
  • 021 More Logic Extraction
  • 022 The Comment Widget
  • 023 Comments FutureBuilder
  • 024 Showing Individual COmments
  • 025 Recursive Rendering
  • 026 Styling the Comment List
  • 027 Defaulting Null Values
  • 028 Handling Deleted Comments
  • 029 Nested Comments
  • 030 ListTiles ContentPadding Property
  • 031 Replacing Placeholder Characters
  • 032 Loading Containers for Comments
  • 033 App Wrapup
  • 034 Last Fix!

  • 24 - Appendix One Building Open Source with Dart
  • 001 Dart Local Installation
  • 002 Dart Install on Mac
  • 003 Editor Setup for Dart
  • 004 App Overview
  • 005 Folder and File Structure
  • 006 The PubSpec File
  • 007 Running Dart Files
  • 008 Program Design Methodology
  • 009 Class Creation
  • 010 Terminal Design
  • 011 Terminal Implementation
  • 012 Stdout and Stdin
  • 013 Import Statements
  • 014 Stdout Instance
  • 015 More on Import Statements
  • 016 Testing the Import Class
  • 017 Checking Operating System
  • 018 Clearing Windows Terminal
  • 019 Clearing Other Terminals
  • 020 Testing ClearScreen
  • 021 Collecting Input Over Stdin
  • 022 Option Class FIelds
  • 023 Adding Dynamic Fields
  • 024 Printing Individual Options
  • 025 Testing Option Printing
  • 026 List Shortcomings
  • 027 Maps in Dart
  • 028 Refactor to Maps
  • 029 The Prompter Class
  • 030 Testing the Prompter
  • 031 Extracting the Terminal
  • 032 Var vs Final for Variables
  • 033 Finals Affect on Values
  • 034 Consts Dual Nature
  • 035 Consts Behavior by Type
  • 036 Marking Terminal as Const
  • 037 Private Variables
  • 038 Finishing Prompter
  • 039 Error Handling
  • 040 Asking Binary Questions
  • 041 Testing Binary Inputs
  • 042 Code Similarities
  • 043 Refactor for Code Reuse
  • 044 More on Private
  • 045 Central Lib File
  • 046 A Single Export Point
  • 047 A Relevant Example File
  • 048 Outstanding Project Config
  • 049 Uploading the Prompter Lib

  • 25 - Appendix Two Building a Dart CLI
  • 001 App Overview
  • 002 Project Setup
  • 003 Importing Library Code
  • 004 Forcibly Exiting a Program
  • 005 Prompting for File Type
  • 006 Implementation Flow
  • 007 Working with the Current Directory
  • 008 Filtering Non-Files
  • 009 Filtering Non-Images
  • 010 Building Options from Images
  • 011 Testing Image Selection
  • 012 Converting Images
  • 013 The ConvertImage Function
  • 014 Reading File Contents
  • 015 Encoding to JPG or PNG
  • 016 Writing Files to the Hard Drive
  • 017 Returning the Image Name
  • 018 Testing Image Conversion
  • 019 Opening the Image

  • 26 - Extras
  • 001 Bonus!.html
  • 139,000 تومان
    بیش از یک محصول به صورت دانلودی میخواهید؟ محصول را به سبد خرید اضافه کنید.
    افزودن به سبد خرید
    خرید دانلودی فوری

    در این روش نیاز به افزودن محصول به سبد خرید و تکمیل اطلاعات نیست و شما پس از وارد کردن ایمیل خود و طی کردن مراحل پرداخت لینک های دریافت محصولات را در ایمیل خود دریافت خواهید کرد.

    ایمیل شما:
    تولید کننده:
    مدرس:
    شناسه: 19052
    حجم: 11808 مگابایت
    مدت زمان: 1873 دقیقه
    تاریخ انتشار: ۲۰ شهریور ۱۴۰۲
    طراحی سایت و خدمات سئو

    139,000 تومان
    افزودن به سبد خرید