آموزش یادگیری فلاتر و دارت برای ساخت برنامه های iOS و اندروید (2023) [ویدئو]

Learn Flutter and Dart to Build iOS and Android Apps (2023) [Video]

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: چه چیزی Flutter را به بهترین فریم ورک برای ساخت اپلیکیشن های موبایل تبدیل می کند؟ با Flutter می‌توانید بدون یادگیری اندروید، جاوا، iOS یا سوئیفت برنامه‌های موبایل بسازید. در این دوره آموزشی ویدیویی به روز شده درباره Flutter، تمام مفاهیم اولیه و پیشرفته مورد نیاز برای ساخت اپلیکیشن های شگفت انگیز iOS و اندروید را خواهید آموخت. این دوره با مقدمه ای بر Flutter شروع می شود و شما را در مراحل نصب Flutter در ویندوز و مک راهنمایی می کند. هنگامی که با تنظیمات آماده شدید، برنامه‌های موبایلی بی‌درنگ مانند برنامه Quiz و برنامه هزینه‌های شخصی برای درک اصول اولیه Flutter، رابط کاربری، ویجت‌ها، استایل، منطق، ناوبری، مدیریت حالت و موارد دیگر خواهید ساخت. همچنین تکنیک های موثری را برای اجرای برنامه در دستگاه های مختلف مانند اندروید، iOS و شبیه سازها خواهید یافت. پس از تکمیل اصول اولیه، با ساختن یک برنامه چت، موضوعات پیشرفته ای مانند Firebase، انتخابگر تصویر و اعلان های فشار را یاد خواهید گرفت. در پایان، نحوه اجرای Native Swift، Objective-C، کدهای جاوا یا Kotlin را خواهید یافت و روش هایی برای انتشار برنامه های خود در فروشگاه های برنامه پیدا خواهید کرد. در پایان این دوره، مهارت های لازم برای ساخت اپلیکیشن های موبایلی بومی برای iOS و اندروید را خواهید داشت. همه کدها و فایل‌های پشتیبان این دوره در آدرس زیر موجود است: https://github.com/PacktPublishing/Learn-Flutter-and-Dart-to-Build-iOS-and-Android-Apps Understand Flutter, Dart, و مفهوم پشت آن ویجت‌ها برنامه‌های موبایلی جذاب را برای Android و iOS بسازید، برنامه Flutter خود را با ارسال درخواست‌های HTTP به سرورهای پشتیبان متصل کنید از ویژگی‌های دستگاه بومی مانند دوربین و Google Maps Handle و اعلان‌های فشار خودکار استفاده کنید. دوره برای مبتدیان و توسعه دهندگان باتجربه است که علاقه مند به توسعه برنامه های تلفن همراه با استفاده از یک زبان برای هر دو سیستم عامل هستند. همچنین برای توسعه دهندگان باتجربه iOS یا Android که می خواهند برنامه های چند پلتفرمی (iOS و Android) را با یک زبان برنامه نویسی واحد بسازند، ایده آل است. برای شروع این دوره نیازی به دانش قبلی در مورد فلاتر یا دارت و تجربه توسعه اندروید یا iOS نیست. فلاتر و دارت را از پایه یاد بگیرید * برای درک مفاهیم کلیدی در فلاتر و دارت، اپلیکیشن های موبایلی بلادرنگ توسعه دهید * نحوه اجرای کد از منابع مختلف در Flutter را کشف کنید

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

معرفی Introduction

  • معرفی Introduction

  • فلاتر چیست؟ What Is Flutter?

  • آشنایی با معماری فلاتر Understanding the Flutter Architecture

  • چگونه کدهای فلاتر و دارت در برنامه های بومی کامپایل می شوند How Flutter and Dart Codes Get Compiled to Native Apps

  • آشنایی با نسخه های فلاتر Understanding Flutter Versions

  • Flutter macOS Setup Flutter macOS Setup

  • محیط توسعه macOS macOS Development Environment

  • Flutter Windows Setup Flutter Windows Setup

  • محیط توسعه ویندوز Windows Development Environment

  • فلاتر و طراحی متریال Flutter and Material Design

  • جایگزین های فلوتر Flutter Alternatives

  • طرح کلی دوره Course Outline

  • چگونه از دوره بیشترین بهره را ببریم؟ How to Get the Most Out of the Course?

مبانی فلاتر (برنامه مسابقه) Flutter Basics (Quiz App)

  • معرفی ماژول Module Introduction

  • ایجاد یک پروژه جدید Creating a New Project

  • مهم - تنظیم پروژه شروع Important - Adjusting the Starting Project

  • مروری بر فایل ها و پوشه های تولید شده An Overview of the Generated Files and Folders

  • تجزیه و تحلیل برنامه پیش فرض Analyzing the Default App

  • مبانی دارت Dart Basics

  • بیشتر مبانی دارت More Dart Basics

  • ساخت اپلیکیشن از ابتدا Building an App from Scratch

  • اجرای برنامه روی شبیه ساز Running the App on an Emulator

  • سازندگان کلاس و آرگومان های نامگذاری شده Class Constructors and Named Arguments

  • خلاصه اول و نحو اضافی First Summary and Additional Syntax

  • ساخت یک درخت ویجت Building a Widget Tree

  • ویجت های قابل مشاهده (ورودی/خروجی) و نامرئی (طرح بندی/کنترل). Visible (Input/Output) and Invisible (Layout/Control) Widgets

  • افزودن ویجت های Layout Adding Layout Widgets

  • اتصال توابع و دکمه ها Connecting Functions and Buttons

  • توابع ناشناس Anonymous Functions

  • به روز رسانی داده های ویجت (یا استفاده نادرست از ویجت Stateless) Updating Widget Data (Or Using StatelessWidget Incorrectly)

  • به‌روزرسانی صحیح با StatefulWidget Updating Correctly with StatefulWidget

  • نگاهی کوتاه به آنچه فلاتر در واقع انجام می دهد A Brief Look at What Flutter Actually Does

  • استفاده از خصوصیات خصوصی Using Private Properties

  • ایجاد یک ویجت سفارشی جدید Creating a New Custom Widget

  • اولین مراحل استایل و چیدمان First Styling and Layout Steps

  • Enums و چند سازنده Enums and Multiple Constructors

  • اسناد رسمی و کاتالوگ ویجت Official Docs and the Widget Catalogue

  • عبور توابع پاسخ به تماس در اطراف Passing the Callback Functions Around

  • معرفی نقشه ها Introducing Maps

  • نگاشت لیست ها به ابزارک ها Mapping Lists to Widgets

  • Final Versus Const Final Versus Const

  • معرفی بیانیه های «اگر». Introducing "if" Statements

  • (Dart Deep Dive) بیشتر در مورد "اگر" اظهارات (Dart Deep Dive) More on "if" Statements

  • (Dart Deep Dive) ارزش "تهی" و ایمنی پوچ (Dart Deep Dive) The "null" Value and Null Safety

  • خروجی ویجت ها به صورت مشروط Outputting Widgets Conditionally

  • تقسیم برنامه به ابزارک Splitting the App into Widgets

  • محاسبه امتیاز کل Calculating the Total Score

  • گیرندگان و "دیگر-اگر" Getters and "else-if"

  • بازنشانی آزمون Resetting the Quiz

  • دکمه های فلاتر "جدید" در مقابل دکمه های "قدیمی". "New" Flutter Buttons Versus "Old" Buttons

  • تکلیف - مبانی (مشکل) Assignment - Basics (Problem)

  • تکلیف - مبانی (راه حل) Assignment - Basics (Solution)

  • بسته شدن Wrap Up

اجرای برنامه ها در دستگاه های مختلف و برنامه های اشکال زدایی Running Apps on Different Devices and Debugging Apps

  • معرفی ماژول Module Introduction

  • اجرای برنامه در دستگاه اندروید Running the App on an Android Device

  • اجرای برنامه در شبیه ساز iOS Running the App on an iOS Emulator

  • اجرای برنامه در دستگاه iOS Running the App on an iOS Device

  • کار با شبیه سازها Working with Emulators

  • درک پیام های خطا و رفع خطاها Understanding Error Messages and Fixing Errors

  • با استفاده از Debugger Using the Debugger

  • شروع کار با Dart DevTools Getting Started with Dart DevTools

  • درک مجدد رنگین کمان Understanding the Repaint Rainbow

  • بسته بندی ابزار DevTools Dart Wrapping Up the Dart DevTools

ویجت‌ها، استایل‌سازی و افزودن منطق - ساختن یک برنامه واقعی (برنامه هزینه‌های شخصی) Widgets, Styling, and Adding Logic - Building a Real App (Personal Expenses App)

  • معرفی ماژول Module Introduction

  • مروری بر ابزارک های فلوتر اصلی An Overview of the Core Flutter Widgets

  • برنامه ریزی اپلیکیشن Planning the App

  • ترکیب ابزارک ها Combining Widgets

  • مهم - تنظیم پروژه شروع Important - Adjusting the Starting Project

  • درک تراز ستون Understanding Column Alignment

  • ویجت نیست: اضافه کردن مدل تراکنش و داده تراکنش Not a Widget: Adding a Transaction Model and Transaction Data

  • نگاشت داده ها در ابزارک ها Mapping Data into Widgets

  • ساختن یک آیتم فهرست سفارشی Building a Custom List Item

  • طراحی یک ظرف Styling a Container

  • استایل دادن به متن Styling Text

  • یک ظاهر طراحی بیشتر! More Styling!

  • کانتینرها در مقابل ستونها در مقابل ردیفها Containers Versus Columns Versus Rows

  • با استفاده از درون یابی رشته ای Using String Interpolation

  • نصب بسته های خارجی و قالب بندی تاریخ ها Installing External Packages and Formatting Dates

  • افزودن ابزارک های ورودی متن (TextField) Adding Text Input Widgets (TextField)

  • واکشی ورودی کاربر Fetching User Input

  • تقسیم برنامه به ابزارک Splitting the App into Widgets

  • اتصال ویجت ها و مدیریت داده/وضعیت Connecting Widgets and Managing Data/State

  • افزودن تراکنش های کاربر به لیست Adding User Transactions to the List

  • ساخت لیست قابل پیمایش! Making the List Scrollable!

  • کار با ListViews Working with ListViews

  • شکل و پیکربندی بیشتر ورودی و خروجی Further Input and Output Styling and Configuration

  • اضافه کردن دکمه های AppBar و دکمه های عمل شناور Adding AppBar Buttons and Floating Action Buttons

  • نمایش یک برگه پایین مدال Showing a Modal Bottom Sheet

  • بهبود و حالت دادن به برگه پایینی مدال Improving and Styling the Modal Bottom Sheet

  • پیکربندی و استفاده از تم ها Configuring and Using Themes

  • فونت های سفارشی و کار با تم های متنی Custom Fonts and Working with Text Themes

  • افزودن تصاویر به برنامه Adding Images to the App

  • برنامه ریزی ویجت نمودار Planning the Chart Widget

  • حلقه زدن از طریق فهرست ها Looping Through Lists

  • استخراج معاملات اخیر Deriving Recent Transactions

  • ایجاد میله برای نمودار Creating Bars for a Chart

  • پر کردن نمودار با مقادیر Populating a Chart with Values

  • اتمام میله های نمودار Finishing the Chart Bars

  • انعطاف پذیر و گسترده: شیرجه عمیق Flexible and Expanded: Deep Dive

  • افزودن ویجت ListTile Adding a ListTile Widget

  • بهبود نمودار کلی Improving the Overall Chart

  • ابزارک ها و پیکربندی ویجت ها - خلاصه/نمای کلی Widgets and Configuring Widgets - Summary/Overview

  • شروع با انتخاب تاریخ Getting Started with Date Selection

  • نمایش یک DatePicker Showing a DatePicker

  • افزودن معاملات با تاریخ Adding Transactions with a Date

  • حذف تراکنش ها و استفاده از IconButtons Deleting Transactions and Using IconButtons

  • پرداخت نهایی! Final Polishing!

  • بسته شدن Wrap Up

رابط های کاربری و برنامه های پاسخگو و تطبیقی Responsive and Adaptive User Interfaces and Apps

  • معرفی ماژول Module Introduction

  • "پاسخگو" و "تطبیقی" به چه معناست؟ What does "Responsive" and "Adaptive" Mean?

  • مثال‌ها: جایی که می‌توانیم برنامه را بهبود بخشیم! Examples: Where We Could Improve the App!

  • محاسبه سایز به صورت پویا Calculating Sizes Dynamically

  • با استفاده از ویجت LayoutBuilder Using the LayoutBuilder Widget

  • کنترل جهت گیری دستگاه Controlling Device Orientation

  • ارائه محتوای چشم انداز جایگزین "1 Rendering Alternative Landscape Content "1

  • اتمام حالت افقی Finishing Landscape Mode

  • نمایش محتوای متفاوت بر اساس جهت گیری دستگاه Showing Different Content Based on Device Orientation

  • احترام به صفحه کلید نرم افزاری Respecting the Softkeyboard Insets

  • استفاده از اندازه دستگاه در شرایط مختلف Using the Device Size in Different Conditions

  • مدیریت شی MediaQuery Managing the MediaQuery Object

  • بررسی پلت فرم دستگاه Checking the Device Platform

  • استفاده از ابزارک های کوپرتینویی (iOS). Using Cupertino (iOS) Widgets

  • با استفاده از کلاس SafeArea Using the SafeArea Class

  • سبک های کوپرتینویی بیشتر More Cupertino Styles

  • استفاده از دکمه های کوپرتینو Using Cupertino Buttons

  • ایجاد ابزارک های تطبیقی ​​سفارشی Creating Custom Adaptive Widgets

  • بسته شدن Wrap Up

ابزارک و فلاتر داخلی - شیرجه عمیق Widget and Flutter Internals - Deep Dive

  • معرفی ماژول Module Introduction

  • مشکل در دست The Problem at Hand

  • درخت ویجت و درخت عنصر - چه، چرا و چگونه؟ Widget Tree and Element Tree - What, Why, and How?

  • چگونه Flutter صفحه را بازسازی و رنگ آمیزی می کند How Flutter Rebuilds and Repaints the Screen

  • چگونه Flutter بیلد را اجرا می کند () How Flutter Executes build ()

  • استفاده از ویجت ها و سازنده های "const". Using "const" Widgets and Constructors

  • نوشتن یک کد خوب Writing a Good Code

  • استخراج ابزارک ها Extracting Widgets

  • استفاده از روش های سازنده Using Builder Methods

  • تکلیف - روش‌های سازنده (مشکل) Assignment - Builder Methods (Problem)

  • تکلیف - روش‌های سازنده (راه‌حل) Assignment - Builder Methods (Solution)

  • آشنایی با چرخه حیات ویجت Understanding the Widget Lifecycle

  • آشنایی با چرخه حیات اپلیکیشن Understanding the App Lifecycle

  • درک زمینه Understanding Context

  • مشکل با لیست ها و ویجت های Stateful A Problem with Lists and Stateful Widgets

  • درک مسئله Understanding the Problem

  • با استفاده از کلیدها Using Keys

  • بسته شدن Wrap Up

ناوبری و چندین صفحه (برنامه وعده های غذایی) Navigation and Multiple Screens (Meals App)

  • معرفی ماژول Module Introduction

  • برنامه ریزی اپلیکیشن Planning the App

  • شروع با برنامه - افزودن داده های پایه Starting with the App - Adding Base Data

  • مهم - تنظیم پروژه شروع Important - Adjusting the Starting Project

  • ایجاد یک شبکه و کار با گرادیان های خطی Creating a Grid and Working with Linear Gradients

  • ثبت یک صفحه به عنوان صفحه اصلی Registering a Screen as the Main Screen

  • استایل و تم Styling and Themes

  • پیمایش به صفحه جدید Navigating to a New Page

  • انتقال داده از طریق سازنده Passing Data Through the Constructor

  • استفاده از مسیرهای نامگذاری شده و ارسال داده با مسیرهای نامگذاری شده Using Named Routes and Passing Data with Named Routes

  • غواصی عمیق تر در مسیرهای نامگذاری شده Diving Deeper into Named Routes

  • اضافه کردن مدل غذا و داده Adding a Meal Model and Data

  • انتخاب وعده های غذایی برای یک دسته انتخابی Selecting Meals for a Chosen Category

  • نمایش اقلام دستور غذا و استفاده از تصاویر شبکه Displaying Recipe Items and Using Network Images

  • اتمام آیتم فهرست غذا Finishing the Meal List Item

  • پیمایش به صفحه جزئیات غذا Navigating to the Meal Detail Page

  • onGenerateRoute و onUnknownRoute onGenerateRoute and onUnknownRoute

  • اتمام صفحه جزئیات غذا Finishing the Meal Detail Page

  • اضافه کردن TabBar به Appbar Adding a TabBar to the Appbar

  • اضافه کردن نوار تب پایین Adding a Bottom TabBar

  • اضافه کردن کشو سفارشی Adding a Custom Drawer

  • افزودن لینک به کشو Adding Links to the Drawer

  • جایگزینی صفحات (به جای فشار دادن) Replacing Pages (Instead of Pushing)

  • باز کردن صفحات و ارسال داده ها به عقب Popping Pages and Passing Data Back

  • افزودن فیلتر سوئیچ Adding Filter Switches

  • اضافه کردن منطق فیلترینگ Adding Filtering Logic

  • افزودن ویژگی "علامت گذاری به عنوان مورد علاقه". Adding the "Mark as Favorite" Feature

  • مشکل! A Problem!

  • بسته شدن Wrap Up

مدیریت دولتی (اپلیکیشن فروشگاه) State Management (Shop App)

  • معرفی ماژول Module Introduction

  • برنامه ریزی اپلیکیشن Planning the App

  • تعریف مدل داده Defining a Data Model

  • مهم - تنظیم پروژه شروع Important - Adjusting the Starting Project

  • کار بر روی "محصولات" شبکه و ابزارک آیتم Working on the "Products" Grid and Item Widgets

  • استایل دادن به برنامه و اضافه کردن تم به برنامه Styling the App and Adding a Theme to the App

  • افزودن ناوبری به برنامه Adding Navigation to the App

  • چرا مدیریت دولتی؟ «دولت» و «مدیریت دولتی» چیست؟ Why State Management? What Is "State" and "State Management"?

  • درک بسته و رویکرد "ارائه دهنده". Understanding the "Provider" Package and Approach

  • کار با ارائه دهندگان و شنوندگان Working with Providers and Listeners

  • (Dart Deep Dive) Inheritance ("extends") در مقابل Mixins ("با") (Dart Deep Dive) Inheritance ("extends") Versus Mixins ("with")

  • گوش دادن در مکان ها و روش های مختلف Listening in Different Places and Ways

  • استفاده از مدل ها و ارائه دهندگان تو در تو Using Nested Models and Providers

  • بررسی نحوهای ارائه دهنده جایگزین Exploring Alternative Provider Syntaxes

  • استفاده از "Consumer" به جای "Provider.of" Using "Consumer" Instead of "Provider.of"

  • حالت محلی در مقابل ایالت گسترده برنامه Local State Versus App-Wide State

  • افزودن اطلاعات سبد خرید Adding Shopping Cart Data

  • کار با چندین ارائه دهنده Working with Multiple Providers

  • اتصال ارائه دهنده سبد خرید Connecting the Cart Provider

  • کار بر روی سبد خرید و نمایش کل Working on the Shopping Cart and Displaying the total

  • نمایش لیستی از اقلام سبد خرید Displaying a List of Cart Items

  • رد کردن اقلام سبد خرید Making Cart Items Dismissible

  • افزودن اطلاعات جزئیات محصول Adding Product Detail Data

  • ارائه یک شیء سفارشات Providing an Orders Object

  • افزودن سفارشات Adding Orders

  • افزودن صفحه سفارشات Adding an Orders Screen

  • با استفاده از کشو کناری Using a Side Drawer

  • ایجاد سفارشات ویجت های قابل گسترش و حالت دار در مقابل ارائه دهندگان Making Orders Expandable and Stateful Widgets Versus Providers

  • بسته شدن Wrap Up

کار با ورودی کاربر و فرم ها (برنامه فروشگاه) Working with User Input and Forms (Shop App)

  • معرفی ماژول Module Introduction

  • Snackbars و لغو کنش‌های «افزودن به سبد خرید». Snackbars and Undoing "Add to Cart" Actions

  • نمایش دیالوگ های هشدار Showing Alert Dialogs

  • افزودن صفحه "مدیریت محصولات". Adding a "Manage Products" Page

  • صفحه "ویرایش محصول" و یک مشکل "Edit Product" Screen and a Problem

  • استفاده از فرم ها و کار با ورودی های فرم Using Forms and Working with Form Inputs

  • مدیریت فوکوس ورودی فرم Managing Form Input Focus

  • ورودی های چند خطی و دفع اشیاء Multiline Inputs and Disposing Objects

  • ورودی تصویر و پیش نمایش تصویر Image Input and Image Preview

  • ارسال فرم ها Submitting Forms

  • اعتبار سنجی ورودی کاربر Validating User Input

  • افزودن اعتبارسنجی به همه ورودی ها Adding Validation to All Inputs

  • ذخیره محصولات جدید Saving New Products

  • زمان به روز رسانی محصولات است! Time to Update Products!

  • امکان حذف محصولات به کاربران Allowing Users to Delete Products

  • بسته شدن Wrap Up

ارسال درخواست های HTTP (برنامه خرید) Sending HTTP Requests (Shop App)

  • معرفی ماژول Module Introduction

  • روی دستگاه در مقابل فضای ذخیره سازی وب On-Device Versus Web Storage

  • نحوه اتصال فلاتر به پایگاه داده How to Connect Flutter to a Database

  • آماده سازی Backend Preparing the Backend

  • نحوه ارسال درخواست های HTTP How to Send HTTP Requests

  • ارسال درخواست های POST Sending POST Requests

  • کار با Futures در دارت Working with Futures in Dart

  • (Dart Deep Dive) Futures and Async Code (Dart Deep Dive) Futures and Async Code

  • نمایش نشانگر بارگذاری Showing a Loading Indicator

  • رسیدگی به خطاها با ظرافت Handling Errors Gracefully

  • کار با "async" و "wait" Working with "async" and "await"

  • واکشی داده ها، initState و "of(context)" Fetching Data, initState and "of(context)"

  • نحوه تبدیل داده های واکشی شده How to Transform Fetched Data

  • پیاده سازی Pull-to-Refresh Implementing Pull-to-Refresh

  • به روز رسانی داده ها با استفاده از درخواست های PATCH Updating Data using PATCH Requests

  • استفاده از به روز رسانی خوش بینانه Utilizing Optimistic Updating

  • ایجاد استثناهای سفارشی و بیشتر رسیدگی به خطا Creating Custom Exceptions and More Error Handling

  • یک چالش برای شما! A Challenge for You!

  • به روز رسانی وضعیت "مورد علاقه" خوش بینانه Updating the "Favorite" Status Optimistically

  • ذخیره سفارشات در وب Storing Orders on the Web

  • واکشی سفارشات و رفع یک مشکل Fetching Orders and Fixing an Issue

  • استفاده از ویجت "FutureBuilder" و بهبود کد Using the "FutureBuilder" Widget and Improving the Code

  • بسته شدن Wrap Up

افزودن احراز هویت کاربر (برنامه فروشگاه) Adding User Authentication (Shop App)

  • معرفی ماژول Module Introduction

  • احراز هویت چگونه کار می کند How Authentication Works

  • آماده سازی Backend Preparing the Backend

  • افزودن صفحه تأیید اعتبار Adding the Auth Screen

  • اضافه کردن ثبت نام کاربر Adding User Signup

  • امکان ورود کاربران به سیستم Allowing Users to Log In

  • رسیدگی به خطاهای احراز هویت Handling Authentication Errors

  • مدیریت توکن Auth به صورت محلی (در برنامه) Managing the Auth Token Locally (in the App)

  • استفاده از «ProxyProvider» و پیوست کردن توکن به درخواست‌های HTTP خروجی Using the "ProxyProvider" and Attaching the Token to Outgoing HTTP Requests

  • اضافه کردن توکن به همه درخواست ها Adding Token to All Requests

  • اتصال وضعیت "مورد علاقه" به کاربران Connecting the "Favorite" Status to Users

  • پیوست کردن محصولات به کاربران و فیلتر کردن توسط سازنده Attaching Products to Users and Filtering by Creator

  • پیوست کردن سفارشات به کاربران Attaching Orders to Users

  • افزودن یک عملکرد خروج Adding a Logout Functionality

  • خروج خودکار کاربران (بعد از مدتی) Automatically Logging Users Out (After Some Time)

  • ورود خودکار کاربران به سیستم Automatically Logging Users In

  • بسته شدن Wrap Up

افزودن انیمیشن (برنامه فروشگاهی) Adding Animations (Shop App)

  • معرفی ماژول Module Introduction

  • انیمیشن‌ها از ابتدا (کنترل کاملاً دستی) Animations from Scratch (Completely Manually Controlled)

  • با استفاده از ویجت "AnimatedBuilder". Using the "AnimatedBuilder" Widget

  • کار با "AnimatedContainer" Working with the "AnimatedContainer"

  • بیشتر ساخته شده در انیمیشن و ابزارک انتقال More Built-In Animation and Transition Widgets

  • محو شدن تصاویر بارگذاری شده در (و نمایش یک مکان نگهدار) Fading Loaded Images In (and Showing a Placeholder)

  • اضافه کردن یک انتقال "قهرمان". Adding a "Hero" Transition

  • کار با Slivers Working with Slivers

  • تمرین: متحرک سازی جعبه های سفارش Practice: Animating Order Boxes

  • پیاده سازی انتقال مسیرهای سفارشی Implementing Custom Route Transitions

  • بسته شدن Wrap Up

استفاده از ویژگی های دستگاه بومی (مانند دوربین، نقشه ها و مکان) (برنامه مکان های عالی) Using Native Device Features (Such as Camera, Maps, and Location) (Great Places App)

  • معرفی ماژول Module Introduction

  • برنامه ریزی اپلیکیشن Planning the App

  • PlaceList و Place Provider Setup PlaceList and Place Provider Setup

  • مهم - تنظیم پروژه شروع Important - Adjusting the Starting Project

  • افزودن صفحه «افزودن مکان» و ورودی تصویر Adding the "Add Place" Screen and an Image Input

  • با استفاده از Image Picker و دوربین دستگاه Using Image Picker and the Device Camera

  • ذخیره تصویر در سیستم فایل (در دستگاه) Storing the Image on the Filesystem (on the Device)

  • مدیریت داده ها و تصاویر از طریق بسته ارائه دهنده Managing Data and Images Through the Provider Package

  • رسیدگی به خطاها Handling Errors

  • تست بر روی دستگاه های واقعی Testing on Real Devices

  • در حال آماده سازی SQLite Preparing SQLite

  • ذخیره و واکشی داده ها با SQLite Storing and Fetching Data with SQLite

  • افزودن یک ورودی موقعیت مکانی و بسته "مکان". Adding a Location Input and the "location" Package

  • واکشی مختصات کاربر Fetching User Coordinates

  • نمایش یک عکس فوری نقشه ایستا Displaying a Static Map Snapshot

  • ارائه یک نقشه پویا (با استفاده از نقشه های گوگل) Rendering a Dynamic Map (Using Google Maps)

  • امکان انتخاب مکان روی نقشه به کاربران Allowing Users to Pick a Location on the Map

  • ذخیره مکان در SQLite Storing the Location in SQLite

  • افزودن یک صفحه "جزئیات مکان" و باز کردن نقشه در حالت "فقط خواندنی". Adding a "Place Detail" Screen and Opening the Map in "read only" Mode

  • بسته شدن Wrap Up

Firebase، آپلود تصویر، Push Notification - ساخت اپلیکیشن چت Firebase, Image Upload, Push Notification - Building a Chat App

  • معرفی ماژول Module Introduction

  • Firebase چیست؟ What Is Firebase?

  • ایجاد یک برنامه جدید Creating a New App

  • شروع کار با Firebase Getting Started with Firebase

  • شروع کار با Flutter و Firebase SDK Getting Started with Flutter and the Firebase SDK

  • ارائه داده های جریان با StreamBuilder Rendering Stream Data with StreamBuilder

  • افزودن داده ها Adding Data

  • یک صفحه احراز هویت اولیه A Basic Authentication Screen

  • اضافه کردن تم برنامه Adding an App Theme

  • ایجاد فرم احراز هویت Creating an Authentication Form

  • اتصال فرم Auth و Auth Screen Connecting the Auth Form and Auth Screen

  • پیاده سازی احراز هویت Implementing Authentication

  • ذخیره اطلاعات اضافی کاربر Storing Extra User Data

  • تکمیل احراز هویت و خروج Completing Authentication and Logout

  • افزودن قوانین امنیتی Firebase Adding Firebase Security Rules

  • گوش دادن به پیام های چت Listening to Chat Messages

  • ارسال و سفارش پیام های چت Sending and Ordering Chat Messages

  • ایجاد یک ویجت حباب چت اولیه Creating a Basic Chat Bubble Widget

  • بهبود حباب های چت Improving the Chat Bubbles

  • تست بر روی چندین دستگاه Testing on Multiple Devices

  • نمایش نام های کاربری Displaying Usernames

  • افزودن انتخابگر تصویر Adding an Image Picker

  • آماده سازی آپلود فایل و اعتبارسنجی تصاویر Preparing File Upload and Validating Images

  • آپلود تصاویر Uploading Images

  • بهبود آپلود تصویر Improving Image Upload

  • در حال اجرا بر روی یک دستگاه iOS Running on an iOS Device

  • نمایش تصاویر کاربر Displaying User Images

  • نحوه عملکرد Push Notifications How Push Notifications Work

  • مقدمه ای بر Firebase Cloud Messaging An Introduction to Firebase Cloud Messaging

  • Android و Push Notifications Android and Push Notifications

  • iOS و Push Notifications iOS and Push Notifications

  • مدیریت Push Notifications Handling Push Notifications

  • شروع کار با Firebase Cloud Functions Getting Started with Firebase Cloud Functions

  • تنظیم یک ماشه Firestore Setting a Firestore Trigger

  • ارسال اعلان‌های فشار خودکار Sending Automated Push Notifications

  • پولیش و بسته بندی Polishing and Wrap Up

اجرای Native Swift، Objective C، Java، یا کد Kotlin Running Native Swift, Objective C, Java, or Kotlin Code

  • معرفی ماژول Module Introduction

  • ارسال تماس متد از فلاتر Sending a Method Call from Flutter

  • اجرای کد اندروید Running Android Code

  • اجرای کد iOS Running iOS Code

  • بسته شدن Wrap Up

انتشار در اپ استور Publishing to the App Stores

  • معرفی ماژول Module Introduction

  • تهیه کد Preparing the Code

  • آماده سازی پیکربندی برنامه Preparing the App Configuration

  • آماده سازی خدمات شخص ثالث Preparing Third-Party Services

  • اضافه کردن آیکون ها و صفحه نمایش اسپلش Adding Icons and Splash Screens

  • انتشار اپلیکیشن های اندروید Publishing Android Apps

  • انتشار اپلیکیشن های iOS Publishing iOS Apps

جمع بندی و مراحل بعدی Roundup and Next Steps

  • توانجامش دادی! You Did It!

  • مراحل بعدی شما (برای تبدیل شدن به یک توسعه دهنده عالی!) Your Next Steps (To Become an Awesome Developer!)

  • چگونه برنامه ها را با موفقیت برنامه ریزی و توسعه دهیم How to Plan and Develop Apps Successfully

به روز رسانی فلاتر 2 Flutter 2 Update

  • Flutter 2 "چه خبر؟" تاثیر این دوره چیست؟ Flutter 2 "What"s New? What Is the Impact on This Course?

  • ویجت های دکمه "قدیمی" در مقابل "جدید". "Old" Versus "New" Button Widgets

نمایش نظرات

آموزش یادگیری فلاتر و دارت برای ساخت برنامه های iOS و اندروید (2023) [ویدئو]
جزییات دوره
42 h 22 m
343
Packtpub Packtpub
(آخرین آپدیت)
3
4.7 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar