آموزش Bootcamp توسعه 70+ ساعت iOS

The Ultimate 70+ Hours iOS Development Bootcamp

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: مبتدی تا توسعه دهنده ارشد! SwiftUI، MV Pattern، Core Data، SwiftData، Vapor، MapKit، Testing، Combine و خیلی بیشتر! برای ایجاد رابط های کاربری زیبا و پاسخگو بدون دردسر، بر چارچوب UI اعلامی مدرن ارائه شده توسط اپل تسلط داشته باشید. درک و پیاده سازی الگوی طراحی Model-View برای ساختار برنامه های iOS برای مقیاس پذیری، قابلیت نگهداری و قابلیت استفاده مجدد. پتانسیل Core Data را برای مدیریت موثر مدل‌های داده پیچیده و فعال کردن پایداری یکپارچه داده در برنامه‌های iOS باز کنید. از ویژگی های قدرتمند سوئیفت برای دستکاری موثر داده ها، از جمله مرتب سازی، فیلتر کردن، و پرس و جو استفاده کنید. MapKit را در برنامه‌های iOS ادغام کنید تا تجربیات نقشه‌برداری همهجانبه و تعاملی، از جمله حاشیه‌نویسی، پوشش‌ها و موقعیت جغرافیایی را ارائه دهید. برای اطمینان از قابلیت اطمینان و کیفیت، بهترین روش‌ها را برای آزمایش برنامه‌های iOS، از جمله تست‌های واحد، تست‌های یکپارچه‌سازی، و تست‌های UI بیاموزید. خدمات Firebase مانند Firestore، Authentication، و Cloud Messaging را کاوش کنید تا همگام‌سازی داده‌ها و احراز هویت کاربر را در برنامه‌های iOS فعال کنید. شیرجه رفتن به سمت سرور توسعه سوئیفت با استفاده از Vapor برای ساخت APIهای وب قوی و خدمات باطن، از جمله API های RESTful، احراز هویت و تعامل پایگاه داده پیش نیازها: آشنایی با مفاهیم برنامه نویسی مانند متغیرها، حلقه ها، شرطی ها و توابع در هر زبان برنامه نویسی. برخی از تجربیات قبلی یا دانش اولیه زبان برنامه نویسی Swift مفید خواهد بود، اگرچه اجباری نیست. دسترسی به رایانه Mac دارای macOS، زیرا توسعه iOS در درجه اول به Xcode نیاز دارد که فقط در macOS موجود است. نصب آخرین نسخه Xcode، محیط توسعه یکپارچه اپل (IDE) برای توسعه برنامه iOS، که به صورت رایگان در فروشگاه App Mac در دسترس است. تمایل شدید به یادگیری و تعهد به تکمیل تمرین ها و پروژه های دوره برای تقویت درک و توسعه مهارت ها.

به "Bootcamp نهایی توسعه iOS" خوش آمدید، جایی که سفر شما به دنیای توسعه برنامه iOS آغاز می شود. این دوره جامع، که بیش از 70 ساعت محتوای با کیفیت بالا را در بر می گیرد، به دقت طراحی شده است تا شما را از مبتدی تا متخصص در هنر ساخت برنامه های قدرتمند و شهودی iOS راهنمایی کند.


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


1. اصول SwiftUI:

به چارچوب مدرن UI اعلامی ارائه شده توسط Apple، SwiftUI شیرجه بزنید. بیاموزید که چگونه با استفاده از نحو بصری و ویژگی های قدرتمند SwiftUI، رابط های کاربری زیبا و پاسخگو ایجاد کنید.


2. الگوی طراحی Model-View:

اهمیت الگوهای طراحی معماری در توسعه iOS را درک کنید و بر الگوی Model-View مسلط شوید. نحوه ساختار برنامه‌های خود را برای مقیاس‌پذیری، قابلیت نگهداری و قابلیت استفاده مجدد بررسی کنید.


3. Combine Framework:

با نحوه استفاده از Apple's Reactive Framework، Combine در برنامه های خود آشنا شوید.


4. داده های اصلی:

پتانسیل Core Data، چارچوب اپل برای ذخیره سازی دائمی داده را باز کنید. نحوه ادغام یکپارچه Core Data را در برنامه های خود برای مدیریت موثر مدل های داده پیچیده کشف کنید.


5. SwiftData Manipulation:

از قدرت Swift برای دستکاری موثر داده ها در برنامه های iOS خود استفاده کنید. تکنیک‌های پیشرفته برای مدیریت داده‌ها، از جمله مرتب‌سازی، فیلتر کردن، و پرس و جو را کاوش کنید.


6. MapKit یکپارچه سازی:

بیاموزید که چگونه MapKit را در برنامه‌های خود ادغام کنید تا تجربیات نقشه‌برداری همهجانبه و تعاملی ارائه دهید. ویژگی‌هایی مانند حاشیه‌نویسی‌ها، همپوشانی‌ها، و موقعیت جغرافیایی را برای ایجاد برنامه‌های آگاه از موقعیت مکانی کاوش کنید.


7. روش‌های آزمایش:

برای اطمینان از قابلیت اطمینان و کیفیت برنامه های خود، بر هنر آزمایش در توسعه iOS مسلط شوید. بهترین روش‌ها را برای نوشتن تست‌های واحد، تست‌های یکپارچه‌سازی، و تست‌های UI برای تایید رفتار برنامه خود کشف کنید.


8. یکپارچه سازی Firebase:

Firebase، پلتفرم جامع Google برای توسعه برنامه را کاوش کنید و یاد بگیرید که چگونه آن را در پروژه‌های iOS خود ادغام کنید. نحوه استفاده از سرویس‌های Firebase مانند Firestore، Authentication و Cloud Messaging را برای همگام‌سازی داده‌ها و احراز هویت کاربر بی‌درنگ کشف کنید.


9. سوییفت سمت سرور با بخار:

با Vapor، یک چارچوب قدرتمند برای ساخت APIهای وب و خدمات باطنی، به توسعه سویفت سمت سرور بروید. با نحوه ایجاد API های RESTful، مدیریت احراز هویت و تعامل با پایگاه های داده با استفاده از Swift در سمت سرور آشنا شوید.


ساختار دوره:

- برنامه درسی ساختاریافته: یک برنامه درسی با دقت طراحی شده را دنبال کنید که از مفاهیم پایه به موضوعات پیشرفته پیشرفت می کند و تجربه یادگیری یکپارچه را تضمین می کند.

- دستورالعمل‌های تخصصی: از آموزش‌های تخصصی متخصصان صنعت با سال‌ها تجربه در توسعه iOS بهره‌مند شوید، کسانی که شما را در هر مرحله راهنمایی می‌کنند.


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


چه یک مبتدی کاملاً مشتاق به توسعه iOS باشید یا یک برنامه نویس با تجربه باشید که به دنبال ارتقاء مجموعه مهارت های خود هستید، این بوت کمپ برای شما مناسب است. این دوره با پوشش جامع موضوعات توسعه iOS، به فراگیران در همه سطوح پاسخ می دهد.

این سفر هیجان انگیز را به دنیای توسعه برنامه iOS آغاز کنید و پتانسیل خود را برای ایجاد برنامه های نوآورانه و تاثیرگذار باز کنید. به ما در "Bootcamp توسعه نهایی iOS" بپیوندید و اولین گام را برای ایجاد یک حرفه موفق به عنوان یک توسعه دهنده iOS بردارید.


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

معرفی Introduction

  • معرفی Introduction

  • فایل های تمرین Exercise Files

SwiftUI Fundamentals: شروع به کار SwiftUI Fundamentals: Getting Started

  • سلام SwiftUI Hello SwiftUI

  • سفارشی کردن متن و ترکیب نماها با استفاده از پشته ها Customizing Text and Combining Views Using Stacks

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

SwiftUI Fundamentals: Building List and Navigation SwiftUI Fundamentals: Building List and Navigation

  • نمایش پیاده روی در لیست SwiftUI Displaying Hikes in a SwiftUI List

  • افزودن ناوبری Adding Navigation

  • پیاده سازی صفحه جزئیات پیاده روی Implementing Hike Detail Screen

  • افزودن انیمیشن ضربه و زوم Adding Tap and Zooming Animation

اصول SwiftUI: درک وضعیت و الزام آور SwiftUI Fundamentals: Understanding State and Binding

  • معرفی @State Introduction to @State

  • نمونه های بیشتر از @State More Examples of @State

  • لیست و SwiftUI List and SwiftUI

  • فیلتر کردن لیست با استفاده از قابلیت جستجو Filtering List Using Searchable

  • درک و پیاده سازی @Binding Understanding and Implementing @Binding

  • درک @EnvironmentObject (قبل از iOS 17) Understanding @EnvironmentObject (Pre iOS 17)

  • با استفاده از @Environment Using @Environment

اصول SwiftUI: پیاده سازی برنامه آب و هوا با استفاده از Web API و الگوی MV SwiftUI Fundamentals: Implementing Weather App Using Web API and MV Pattern

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • با سرویس OpenWeatherMap ثبت نام کنید Register with OpenWeatherMap Service

  • پیاده سازی مدل های مشتری یا اشیاء انتقال داده Implementing Client Models or Data Transfer Objects

  • پیاده سازی نقاط پایانی Implementing Endpoints

  • پیاده سازی GeocodingClient Implementing GeocodingClient

  • پیاده سازی WeatherClient Implementing WeatherClient

  • Refactoring و نمایش آب و هوا بر روی صفحه نمایش Refactoring and Displaying Weather on the Screen

الگوی MV: شروع به کار MV Pattern: Getting Started

  • آشنایی با الگوی MVVM Understanding MVVM Pattern

  • MVVM در WPF در مقابل SwiftUI MVVM in WPF vs SwiftUI

  • محدودیت های MVVM در SwiftUI Limitations of MVVM in SwiftUI

  • منابع Resources

  • مصرف JSON و نمایش محصولات روی صفحه با استفاده از MVVM Consuming JSON and Displaying Products on Screen Using MVVM

  • مصرف JSON و نمایش محصولات روی صفحه با استفاده از الگوی MV Consuming JSON and Displaying Products on Screen Using MV Pattern

الگوی MV: اعتبار سنجی MV Pattern: Validation

  • اعتبار سنجی فرم ساده Simple Form Validation

  • اعتبار سنجی فرم با پیام های خطا و LoginFormError Form Validation with Error Messages and LoginFormError

  • اعتبار سنجی فرم با View Model Form Validation with View Model

  • اعتبار سنجی فرم با پیام های خلاصه Form Validation with Summary Messages

الگوی MV: برنامه سفارش قهوه - شروع به کار و نمایش سفارشات MV Pattern: Coffee Order App - Getting Started and Displaying Orders

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • آشنایی با معماری اپلیکیشن Understanding the App Architecture

  • گشت و گذار در سرور Tour of the Server

  • منبع: TEST Server Endpoints Resource: TEST Server Endpoints

  • منبع: PROD Server Endpoints Resource: PROD Server Endpoints

  • پیاده سازی وب سرویس و مدل سفارش Implementing Webservice and Order Model

  • پیاده سازی CoffeeModel Aggregate Root Implementing CoffeeModel Aggregate Root

  • نمایش تمام سفارشات قهوه Displaying All Coffee Orders

الگوی MV: برنامه سفارش قهوه - آزمایش پایان به پایان و افزودن سفارشات جدید قهوه MV Pattern: Coffee Order App - End to End Testing and Adding New Coffee Orders

  • پیکربندی محیط برنامه برای آزمایش Configuring App Environment for Testing

  • نوشتن تست پایان به انتها برای هیچ سفارشی یافت نشد Writing End-to-End Testing for No Orders Found

  • پیاده سازی وب سرویس برای ثبت سفارش Implementing Webservice to Place an Order

  • اجرای نمای افزودن سفارش جدید Implementing Add New Order View

  • اعتبار سنجی سفارش جدید Validating New Order

  • سفارش دادن Placing an Order

  • نوشتن تست سرتاسری برای ثبت سفارش Writing End-to-End Test for Placing an Order

الگوی MV: برنامه سفارش قهوه - به روز رسانی و حذف سفارشات MV Pattern: Coffee Order App - Updating and Deleting Orders

  • اجرای دستور حذف Implementing Delete Order

  • نوشتن تست سرتاسری برای حذف سفارش Writing End-to-End Test for Deleting an Order

  • اجرای به روز رسانی سفارش وب سرویس و کافی مدل Implementing Update Order Webservice and CoffeeModel

  • اجرای OrderDetailView Implementing OrderDetailView

  • پیاده سازی رابط کاربری سفارش به روز رسانی Implementing Update Order User Interface

  • نوشتن تست سرتاسری برای به روز رسانی یک سفارش موجود Writing End-to-End Test for Updating an Existing Order

الگوی MV: برنامه بودجه - تنظیم داده های اصلی و اضافه کردن دسته های بودجه MV Pattern: Budget App - Setting Up Core Data and Adding Budget Categories

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • ایجاد مدل های داده اصلی Creating Core Data Models

  • تنظیم Core Data Manager Setting Up the Core Data Manager

  • اضافه کردن یک دسته بودجه جدید Adding a New Budget Category

  • نمایش دسته بندی های بودجه Displaying Budget Categories

  • اجرای BudgetListView Implementing BudgetListView

  • حذف یک دسته بودجه Deleting a Budget Category

  • پیش نمایش، رد کردن و بازآفرینی Preview, Dismiss and Refactoring

الگوی MV: برنامه بودجه - اضافه کردن تراکنش ها MV Pattern: Budget App - Adding Transactions

  • ایجاد مدل داده هسته تراکنش Creating the Transaction Core Data Model

  • اجرای BudgetDetailView Implementing BudgetDetailView

  • ذخیره تراکنش Saving a Transaction

  • نمایش تمام معاملات Displaying All Transactions

  • نمایش مبالغ باقیمانده و مازاد بر هزینه Displaying Remaining and Overspending Amounts

الگوی MV: برنامه بودجه - ویرایش دسته بندی های بودجه و حذف تراکنش ها MV Pattern: Budget App - Editing Budget Categories and Deleting Transactions

  • حذف یک تراکنش Deleting a Transaction

  • منابع Resources

  • اجرای عملیات برگه Implementing Sheet Action

  • به روز رسانی رده بودجه Updating the Budget Category

  • Refactoring و تکمیل برنامه Refactoring and Completing the App

ترکیب چارچوب: مقدمه Combine Framework: Introduction

  • برنامه نویسی واکنشگرا چیست؟ What is Reactive programming?

  • مروری بر Combine Framework Overview of Combine Framework

  • مفاهیم کلیدی: ناشران، مشترکین، اپراتورها و افراد Key concepts: Publishers, Subscribers, Operators, and Subjects

ترکیب چارچوب: ناشران و مشترکین Combine Framework: Publishers and Subscribers

  • ایجاد و کار با Publishers Creating and working with Publishers

  • اشتراک در Publishers Subscribing to Publishers

  • مدیریت چرخه عمر اشتراک Handling subscription lifecycles

  • رسیدگی و تکمیل خطا Error handling and completion

ترکیب چارچوب: اپراتورها Combine Framework: Operators

  • عملگرهای تبدیل (نقشه، flatMap، ادغام و غیره) Transformation operators (map, flatMap, merge, etc.)

  • عملگرهای فیلتر (فیلتر، compactMap، debounce و غیره) Filtering operators (filter, compactMap, debounce, etc.)

  • ترکیب عملگرها (combineLatest، zip، switchToLatest و غیره) Combining operators (combineLatest, zip, switchToLatest, etc.)

  • اپراتورهای رسیدگی به خطا (catch، replaceError، تلاش مجدد و غیره) Error handling operators (catch, replaceError, retry, etc.)

ترکیب چارچوب: موضوعات Combine Framework: Subjects

  • درک موضوعات در ترکیب (PassthroughSubject و CurrentValueSubject) Understanding Subjects in Combine (PassthroughSubject and CurrentValueSubject)

  • ایجاد موضوعات سفارشی Creating custom Subjects

  • WeatherClient با استفاده از موضوعات WeatherClient Using Subjects

ترکیب چارچوب: شبکه Combine Framework: Networking

  • ایجاد درخواست شبکه با Combine Making network requests with Combine

  • رسیدگی به خطا و تلاش مجدد Error handling and retries

  • ترکیب چندین درخواست شبکه Combining multiple network requests

ترکیب چارچوب: UIKit Combine Framework: UIKit

  • ثبت نام برای OMDB API Registering for OMDB API

  • گشت و گذار در پروژه استارت Tour of the starter project

  • پیاده سازی مدل فیلم Implementing Movie Model

  • پیاده سازی HTTPClient Implementing HTTPClient

  • پیاده سازی MovieListViewModel Implementing MovieListViewModel

  • ادغام MovieListViewModel با MoviesViewController Integrating MovieListViewModel with MoviesViewController

  • راه اندازی ناشر جستجو Setting up search publisher

ترکیب: SwiftUI Combine: SwiftUI

  • گشت و گذار در پروژه استارت Tour of the starter project

  • ساختن رابط کاربری و انتقال httpClient به عنوان وابستگی Building the User Interface and passing httpClient as dependency

  • راه اندازی ناشر و بارگیری فیلم ها Setting up publisher and loading movies

ترکیب: عملگرهای سفارشی، اشکال زدایی و آزمایش کد ترکیبی Combine: Custom operators, debugging and testing combine code

  • اپراتورهای سفارشی Custom operators

  • اپراتورهای سفارشی با پارامترها Custom operators with parameters

  • ترکیب عملگرها Combining operators

  • اشکال زدایی کدهای ترکیبی Debugging Combine code

  • تست ترکیب کد Testing Combine code

  • تست کد ترکیبی (HTTPClient) Testing Combine code (HTTPClient)

داده های اصلی - شروع به کار Core Data - Getting Started

  • Core Data چیست؟ What is Core Data?

  • پشته داده هسته Core Data Stack

  • مدل های داده های اصلی Core Data Models

داده های اصلی: مدیریت داده ها Core Data: Data Management

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • ایجاد مدل TodoItem با استفاده از ویرایشگر داده هسته Creating the TodoItem Model Using Core Data Editor

  • پیاده سازی CoreDataProvider Implementing CoreDataProvider

  • منبع: داده های اصلی | ویژگی های String و Date که به طور خودکار تولید می شوند انتخاب می شوند Resource: Core data | automatically generated String and Date attributes are opt

  • ایجاد و ذخیره داده ها Creating and Saving Data

  • واکشی داده ها Fetching Data

  • علامت گذاری TodoItem به عنوان کامل و ناقص Marking TodoItem Complete and Incomplete

  • به روز رسانی عنوان TodoItem با استفاده از ویرایش در محل Updating Title of TodoItem Using In-Place Editing

  • استفاده از ContentUnavailableView Using ContentUnavailableView

  • حذف داده ها Deleting Data

داده های اصلی: برنامه بودجه - تنظیم و اضافه کردن دسته های بودجه Core Data: Budget App - Setting Up and Adding Budget Categories

  • چه چیزی می سازیم؟ What are we building?

  • راه اندازی پشته داده هسته Setting Up Core Data Stack

  • اضافه کردن مدل طبقه بندی بودجه Adding Budget Category Model

  • ساخت رابط کاربری Building the User Interface

  • پیکربندی داده ها برای پیش نمایش ها Configuring Data for the Previews

  • صرفه جویی در بودجه Saving Budget

  • نمایش تمام بودجه ها روی صفحه Displaying All Budgets on Screen

داده های اصلی: برنامه بودجه - اضافه کردن رابطه هزینه ها Core Data: Budget App - Adding Expenses Relationship

  • درک رابطه یک به چند Understanding One to Many Relationship

  • افزودن موجودیت هزینه و پیکربندی یک به چند رابطه Adding Expense Entity and Configuring One to Many Relationship

  • اجرای BudgetDetailScreen Implementing BudgetDetailScreen

  • اضافه کردن هزینه به بودجه Adding Expense to a Budget

  • نمایش هزینه ها Displaying Expenses

  • نمایش مجموع و باقی مانده Displaying Total and Remaining

  • توجه: بازسازی کل و باقیمانده NOTE: Refactoring Total and Remaining

  • حذف هزینه Deleting Expense

داده های اصلی: برنامه بودجه - افزودن رابطه برچسب ها Core Data: Budget App - Adding Tags Relationship

  • درک روابط بین بسیاری از افراد Understanding Many to Many Relationship

  • پیاده سازی مدل برچسب Implementing Tag Model

  • کاشت برچسب ها در پایگاه داده Seeding Tags into the Database

  • TagsView را برای نمایش و انتخاب برچسب ها پیاده سازی کنید Implement TagsView to Display and Select Tags

  • تخصیص برچسب ها به هزینه Assigning Tags to Expense

  • نمایش برچسب ها برای هزینه ها Displaying Tags for Expenses

داده های اصلی: برنامه بودجه - فیلتر کردن Core Data: Budget App - Filtering

  • فیلتر کردن بر اساس برچسب ها Filtering by Tags

  • اضافه کردن هزینه برای پیش نمایش های Xcode Adding Expenses for Xcode Previews

  • فیلتر بر اساس قیمت Filtering by Price

  • فیلتر کردن بر اساس عنوان Filtering by Title

  • فیلتر بر اساس تاریخ Filter by Date

  • پیاده سازی مرتب سازی Implementing Sorting

  • Refactoring Refactoring

  • پیمایش به فیلتر صفحه، بودجه کل و افزودن ContentUnavailableView Navigating to Filter Screen, Total Budget and Adding ContentUnavailableView

داده های اصلی: مهاجرت ها Core Data: Migrations

  • مهاجرت ها چیست؟ What are Migrations?

  • مهاجرت ساده Simple Migration

  • رفع - دارایی صرف بودجه FIX - Budget Spent Property

  • مهاجرت سفارشی (درک سناریو) Custom Migration (Understanding the Scenario)

  • مهاجرت سفارشی (انجام مهاجرت) Custom Migration (Performing Migration)

  • تغییرات برگشتی Rollback Changes

داده های اصلی: به روز رسانی هزینه ها Core Data: Updating Expenses

  • به روز رسانی هزینه ها گزینه 1 Updating Expenses Option 1

  • به روز رسانی گزینه های هزینه ها 2 Updating Expenses Options 2

  • به روز رسانی هزینه ها گزینه 3 Updating Expenses Option 3

همگام سازی داده های هسته با CloudKit Syncing Core Data with CloudKit

  • پیکربندی iCloud Configuring iCloud

  • رفع مشکلات و پیروی از الزامات iCloud برای مدل‌های داده اصلی Fixing Issues and Following iCloud Requirements for Core Data Models

  • بررسی عنوان هزینه منحصر به فرد است Checking Expense Title is Unique

  • رفع - تابع وجود هزینه FIX - Expense Exist Function

  • نسخه ی نمایشی ادغام iCloud در iPhone و iPad Demo of iCloud Integration on iPhone and iPad

داده های اصلی: انواع قابل تبدیل Core Data: Transformable Types

  • درک پروژه شروع Understanding the Starter Project

  • اضافه کردن مدل داده Adding the Data Model

  • اتاق پس انداز Saving Room

  • پیاده سازی ترانسفورماتور Implementing Transformer

  • نمایش تمام اتاق ها Displaying all Rooms

SwiftData شروع به کار SwiftData Getting Started

  • ذخیره یک فیلم Saving a Movie

  • واکشی و نمایش فیلم ها Fetching and Displaying Movies

  • اشکال زدایی SwiftData Debugging SwiftData

  • حذف یک فیلم Deleting a Movie

  • به روز رسانی یک فیلم Updating a Movie

  • منابع Resources

SwiftData: رابطه یک به چند SwiftData: One-to-Many Relationship

  • توجه: Xcode 15 Beta 6 تغییراتی دارد NOTE: Xcode 15 Beta 6 Changes

  • درک رابطه یک به چند Understanding One-to-Many Relationship

  • افزودن مدل بررسی و پیکربندی رابطه Adding Review Model and Configuring Relationship

  • ذخیره مرور Saving Review

  • توجه: context.save در مقابل context.insert NOTE: context.save vs context.insert

  • نمایش همه نظرات برای یک فیلم Displaying all Reviews for a Movie

  • در حال حذف بررسی Deleting Review

  • رفع: حذف بررسی FIX: Deleting Review

SwiftData: رابطه چند به چند SwiftData: Many-to-Many Relationship

  • درک رابطه خیلی به چند نفر Understanding Many-to-Many Relationship

  • اضافه کردن مدل بازیگر و پیکربندی رابطه Adding Actor Model and Configuring Relationship

  • نجات یک بازیگر جدید Saving a New Actor

  • نمایش همه بازیگران Displaying All Actors

  • انتخاب بازیگران هنگام افزودن یک فیلم جدید Selecting Actors When Adding a New Movie

  • نمایش بازیگران برای یک فیلم Displaying Actors for a Movie

  • اجازه دادن به بازیگران موجود برای انتخاب فیلم هایشان Allowing Existing Actors to Select their Movies

  • رفع - اضافه کردن فیلم پس از حذف باعث خطا می شود FIX - Adding Movie After Deleting Causes an Error

SwiftData: درک کوئری ها SwiftData: Understanding Queries

  • مهم: به‌روزرسانی‌های Xcode 15 برای @Relationship و @Query IMPORTANT: Xcode 15 Updates for @Relationship and @Query

  • درک @Query Property Wrapper Understanding @Query Property Wrapper

  • پیاده سازی برگه های مبتنی بر Enum Implementing Enum Based Sheets

  • ایجاد رابط کاربری برای پشتیبانی از فیلتر صفحه Creating the User Interface to Support Filter Screen

  • فیلتر بر اساس عنوان فیلم Filter by Movie Title

  • توجه: به‌روزرسانی در مورد @Transient Macro NOTE: Update about @Transient Macro

  • استفاده از @Transient Macro برای نمایش بازیگران و تعداد نقدها برای یک فیلم Using @Transient Macro to Display Actors and Reviews Count for a Movie

  • فیلتر بر اساس تعداد نظرات Filter by Reviews Count

  • فیلتر بر اساس تعداد بازیگران Filter by Actors Count

SwiftData: نسخه/مهاجرت SwiftData: Versioning/Migrations

  • نسخه سازی چیست؟ What is Versioning?

  • Xcode 15 Beta 5 - تغییرات Xcode 15 Beta 5 - Changes

  • مهاجرت سفارشی (محدودیت منحصر به فرد در نام فیلم) Custom Migration (Unique Constraint on Movie Names)

  • مهاجرت سبک (تغییر نام ملک) Lightweight Migration (Changing Property Names)

SwiftData: ژانر ماندگار و فیلترهای اجرایی بر اساس ژانر SwiftData: Persisting Genre and Performing Filters Based by Genre

  • درک پروژه شروع Understanding the Starter Project

  • پیاده سازی مدل ژانر Implementing Genre Model

  • ذخیره ژانر Saving Genre

  • فیلتر کردن فیلم‌ها بر اساس ژانر (کشف مشکلات با Genre Enum) Filtering Movies Based on Genre (Discovering Issues with Genre Enum)

  • فیلتر کردن فیلم ها بر اساس ژانر (استفاده از GenreId برای فیلتر) Filtering Movies Based on Genre (Using GenreId for Filter)

  • فیلتر کردن فیلم ها و وضعیت ماندگار فیلترها Filtering Movies and Persisting State of the Filters

SwiftData: ماندگاری و نمایش ویژگی های قابل تبدیل در SwiftData SwiftData: Persisting and Displaying Transformable Properties in SwiftData

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • پیاده سازی مدل اتاق Implementing the Room Model

  • پیاده سازی UIColorTransformer Implementing UIColorTransformer

  • تنظیم رابط کاربری (ColorSelector) Setting Up User Interface (ColorSelector)

  • اتاق ماندگار با استفاده از SwiftData Persisting Room Using SwiftData

  • نمایش همه اتاق ها Displaying All Rooms

SwiftData: تست SwiftData: Testing

  • درک پروژه شروع Understanding the Starter Project

  • راه اندازی پروژه تست و نوشتن اولین تست Setting Up Test Project and Writing Your First Test

  • نوشتن تست برای محاسبه کل بودجه و مقدار باقی مانده Writing Tests to Calculate Budget Total and Remaining Amount

  • راه اندازی پروژه برای تست سرتاسر Setting Up Project for End-to-End Testing

  • نوشتن تست پایان به انتها برای دسته بندی بودجه و جریان تراکنش Writing End-to-End Test for BudgetCategory and Transaction Flow

SwiftData: همگام سازی داده ها با iCloud با استفاده از CloudKit SwiftData: Syncing Data with iCloud Using CloudKit

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • ماندگاری و نمایش سبزیجات Persisting and Displaying Vegetables

  • افزودن رابطه یادداشت ها Adding Notes Relationship

  • مدیریت پیش نمایش های Xcode و نمایش یادداشت ها برای سبزیجات Managing Xcode Previews and Displaying Notes for Vegetable

  • در حال پیکربندی CloudKit Configuring CloudKit

  • رفع خطاهای CloudKit Resolving CloudKit Errors

  • همگام سازی زنده برای سبزیجات و یادداشت ها Live Syncing for Vegetables and Notes

SwiftData: یکپارچه سازی SwiftData با برنامه های UIKit SwiftData: Integrating SwiftData with UIKit Applications

  • مستندات اپل در مورد استفاده از چارچوب غیر SwiftUI Apple's Documentation on Using Non SwiftUI Framework

  • تور پروژه شروع کننده Tour of the Starter Project

  • راه اندازی کانتینر مدل Setting Up the Model Container

  • افزودن یک مورد جدید Todo Adding a New Todo Item

  • نمایش موارد Todo Displaying Todo Items

SwiftData: ذخیره داده های باینری با استفاده از SwiftData SwiftData: Storing Binary Data Using SwiftData

  • تور پروژه شروع کننده Tour of the Starter Project

  • ذخیره داده های باینری (تصاویر) Saving Binary Data (Images)

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

  • پشت صحنه (اشکال‌زدایی SwiftData) Behind the Scenes (Debugging SwiftData)

  • اعتبار برای تصاویر Credit for Images

MapKit: شروع به کار MapKit: Getting Started

  • نمایش نقشه Displaying Map

  • اضافه کردن نشانگر به نقشه Adding Marker to the Map

  • اضافه کردن حاشیه نویسی سفارشی به نقشه Adding Custom Annotation to the Map

  • پیکربندی سبک های مختلف نقشه Configuring Different Map Styles

MapKit: مکان کاربر MapKit: User Location

  • نمایش مکان فعلی کاربر Displaying User's Current Location

  • Refactoring Refactoring

  • بزرگنمایی در موقعیت مکانی کاربر فعلی Zooming into the Current User's Location

  • توجه: خطاها در پنجره خروجی NOTE: Errors in the Output Window

  • پیکربندی برنامه برای همیشه مجوز Configuring App for Always Authorization

  • تنظیم پویا دوربین در موقعیت های مختلف Dynamically Setting the Camera to Different Positions

  • اضافه کردن UserLocationButton، Compass و ScaleView به نقشه Adding UserLocationButton, Compass and ScaleView to the Map

  • شبیه سازی مکان ها در شبیه ساز آیفون Simulating Locations in iPhone Simulator

  • رفع: اجرای رویداد مجوز CLLocationManager FIX: Implementing CLLocationManager Authorization Event

MapKit: برنامه NearMe - یافتن مکان کاربر و تنظیم رابط MapKit: NearMe App - Finding User's Location and Setting Up Interface

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • اضافه کردن نقشه و فیلد متنی جستجو Adding Map and Search TextField

  • پیاده سازی LocationManager Implementing LocationManager

  • پیاده سازی LocationError Implementing LocationError

  • نمایش مکان کاربر Displaying User's Location

  • بزرگنمایی موقعیت مکانی کاربر Zooming into User's Location

MapKit: NearMe App - یافتن مکان‌های نزدیک با استفاده از MKLocalSearch MapKit: NearMe App - Finding Places Nearby Using MKLocalSearch

  • افزودن عملکرد MKLocalSearch به جستجوی مکان‌های نزدیک Adding MKLocalSearch Function to Search Nearby Places

  • نمایش نتایج جستجو بر روی نقشه Displaying Search Results on the Map

  • نمایش نتایج جستجو در یک لیست Displaying Search Results in a List

  • پیش نمایش داده های MapItem Previewing MapItem Data

MapKit: برنامه NearMe - نمایش جزئیات مکان و ترسیم مسیر روی نقشه MapKit: NearMe App - Showing Place Details & Drawing Route on Map

  • پیاده سازی SearchOptionView Implementing SearchOptionView

  • Refactoring Refactoring

  • مرتب سازی مکان ها بر اساس فاصله Sorting Places Based on Distance

  • نمایش مقادیر فاصله در PlaceView Displaying Distance Values in PlaceView

  • انتخاب MapItem و پیاده سازی حالت های نمایش Selecting MapItem and Implementing Display Modes

  • پیاده سازی SelectedPlaceDetailView Implementing SelectedPlaceDetailView

MapKit: برنامه NearMe - مسیریابی، ActionButtons و LookAroundPreview MapKit: NearMe App - Routing, ActionButtons and LookAroundPreview

  • انتخاب MapItem با استفاده از PlaceListView Selecting MapItem Using PlaceListView

  • پیاده سازی LookAroundPreview Implementing LookAroundPreview

  • افزودن مسیر Adding Route

  • پنهان کردن LookAroundPreview بر اساس انتخاب Presentation Detent Hiding the LookAroundPreview Based on Selected Presentation Detent

MapKit: برنامه NearMe - اضافه کردن دکمه‌های اکشن MapKit: NearMe App - Adding Action Buttons

  • افزودن ActionButtons به SelectedPlaceDetailView Adding ActionButtons to the SelectedPlaceDetailView

  • باز کردن مقصد در Apple Maps Opening Destination in Apple Maps

  • اجرای دکمه تماس Implementing Call Button

  • منبع: پنهان کردن دکمه تماس زمانی که شماره تلفن در دسترس نیست Resource: Hiding the Call Button When Phone Number is Not Available

MapKit: Restroom Finder - راه اندازی و نمایش حاشیه نویسی روی نقشه MapKit: Restroom Finder - Setup and Displaying Annotations on the Map

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • Refuge Restrooms API Refuge Restrooms API

  • دانلود پروژه شروع Downloading the Starter Project

  • پیاده سازی مدل سرویس بهداشتی Implementing Restroom Model

  • پیاده سازی HTTP Client Implementing HTTP Client

  • افزودن HTTP Client به ارزش های محیطی Adding HTTP Client to Environment Values

  • نمایش نشانگرها روی نقشه Displaying Markers on the Map

  • تمسخر HTTP Client Mocking HTTP Client

  • نمایش حاشیه نویسی های سفارشی روی نقشه Displaying Custom Annotations on the Map

  • جستجوی سرویس‌های بهداشتی بر اساس منطقه Searching Restrooms based on Region

  • پیاده سازی RestroomDetailView Implementing RestroomDetailView

  • نمایش امکانات رفاهی برای دستشویی ها Showing Amenities for Restrooms

  • Maps for Directions را باز کنید Open Maps for Directions

MapKit: نظارت بر منطقه با استفاده از CLMonitor MapKit: Region Monitoring Using CLMonitor

  • درک پروژه شروع Understanding the Starter Project

  • ایجاد مناطق با استفاده از MapCircle Creating Regions Using MapCircle

  • مانیتورینگ مناطق را شروع کنید Start Monitoring Regions

  • به روز رسانی رابط کاربری هنگام ورود به منطقه Updating User Interface When Entered into Region

یادگیری ماشین - شروع به کار و تشخیص تصویر Machine Learning - Getting Started and Image Detection

  • یادگیری ماشینی چیست؟ What is Machine Learning?

  • Create ML چیست؟ What is Create ML?

  • دانلود مدل CoreML Downloading CoreML Model

  • تست مدل Testing the Model

  • پیاده سازی رابط کاربری Implementing the User Interface

  • پیش بینی تصویر Predicting the Image

  • نمایش احتمالات Displaying Probabilities

  • منابع Resources

یادگیری ماشین: پروژه تشخیص تصویر - گربه ها در مقابل سگ ها Machine Learning: Image Recognition Project - Cats vs Dogs

  • چی میسازی؟ What are you building?

  • دانلود مجموعه داده تصویر از Kaggle Downloading Image Dataset from Kaggle

  • مدل آموزش و ارزشیابی Training and Evaluating Model

  • یکپارچه سازی مدل در یک برنامه iOS Integrating Model in an iOS Application

  • انتخاب عکس از کتابخانه عکس Selecting Photo from Photo Library

  • عکس گرفتن از دوربین Taking Photo from the Camera

  • منابع Resources

یادگیری ماشینی: پروژه تحلیل احساسات - اخبار Machine Learning: Sentiment Analysis Project - News

  • تحلیل احساسات چیست؟ What is Sentiment Analysis?

  • دانلود مجموعه داده از Kaggle Downloading the Dataset from Kaggle

  • آموزش و ایجاد مدل با استفاده از Xcode Playgrounds Training and Creating Model Using Xcode Playgrounds

  • [اختیاری] - استخراج داده ها در پوشه ها با استفاده از پایتون [Optional] - Extracting Data into Folders Using Python

  • [اختیاری] - آموزش با استفاده از Create ML [Optional] - Training Using Create ML

  • ادغام مدل در یک برنامه SwiftUI Integrating Model into a SwiftUI Application

  • منابع Resources

یادگیری ماشینی: تشخیص شی - یکپارچه سازی یک مدل موجود Machine Learning: Object Detection - Integrating an Existing Model

  • تشخیص شی چیست؟ What is Object Detection?

  • دانلود مدل تشخیص اشیا از وب سایت اپل Downloading Object Detection Model from Apple Website

  • تور پروژه شروع کننده Tour of the Starter Project

  • درک چارچوب چشم انداز Understanding Vision Framework

  • انجام تشخیص اشیا با استفاده از مدل YOLOv3Tiny از طریق Vision Framework Performing Object Detection Using YOLOv3Tiny Model Through Vision Framework

  • نمایش مشاهدات بر روی صفحه نمایش Displaying Observations on the Screen

  • نمایش جعبه های محدود کننده Displaying the Bounding Boxes

یادگیری ماشینی: تشخیص شی - مدل های سفارشی Machine Learning: Object Detection - Custom Models

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • استفاده از Visio ML برای حاشیه نویسی تصاویر Using Visio ML to Annotate Images

  • آموزش مدل تشخیص شی Training the Object Detection Model

  • یکپارچه سازی TrafficLightObjectDetector Integrating TrafficLightObjectDetector

یادگیری ماشینی: پروژه داده های جدولی: پیش بینی قیمت خودرو با استفاده از داده های کاروانا Machine Learning: Tabular Data Project: Predicting Car Prices Using Carvana Data

  • دانلود مجموعه داده کاروانا از Kaggle Downloading Carvana Dataset from Kaggle

  • APIهایی برای مدیریت داده های جدولی APIs to Handle Tabular Data

  • ایجاد مدل ML با استفاده از DataFrame Creating ML Model Using DataFrame

  • ایجاد مدل ML با معیارهای خاص Creating ML Model with Specific Criteria

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • در حال صادر کردن لیست خودروها به صورت JSON Exporting List of Cars as JSON

  • نمایش قیمت های پیش بینی شده خودرو Displaying Predicted Car Prices

  • منابع Resources

توسعه آزمایش محور: شروع به کار Test Driven Development: Getting Started

  • TDD چیست؟ What is TDD?

  • چرا باید از TDD استفاده کنید؟ Why should you use TDD?

  • چه چیزی را باید تست کنید و چه چیزی را نباید؟ What you should test and what you should not?

  • چه زمانی باید از TDD استفاده کنید؟ When should you use TDD?

  • تصورات غلط رایج در مورد TDD؟ Common misconceptions about TDD?

  • قوانین نوشتن تست خوب Rules of writing good test

توسعه تست محور: نوشتن اولین آزمون واحد Test Driven Development: Writing Your First Unit Test

  • درک اپلیکیشن Understanding the App

  • راه اندازی پروژه تست واحد Setting Up Unit Test Project

  • اجرای تست برای محاسبه نکته Implementing Test to Calculate Tip

  • تست نوشتن برای بررسی استثناهای پرتاب شده Writing Test to Check for Thrown Exceptions

  • ادغام TipCalculator به برنامه SwiftUI Integrating TipCalculator to the SwiftUI App

توسعه تست محور: ماشین حساب نکته - نوشتن تست های UI Test Driven Development: Tip Calculator - Writing UI Tests

  • راه اندازی پروژه تست رابط کاربری در Xcode Setting Up User Interface Test Project in Xcode

  • تست واحد نوشتن هنگامی که نمای محتوا نشان داده می شود Writing Unit Testing When Content View is Shown

  • تست های بازسازی Refactoring Tests

  • نوشتن تست های رابط کاربری برای محاسبه نکته Writing UI Tests For Calculating Tip

  • نوشتن تست های UI برای ورودی نامعتبر برای Total Writing UI Tests for Invalid Input for Total

  • پیاده سازی Page Object Pattern Implementing PageObject Pattern

توسعه آزمایش محور: ضبط تست های رابط کاربری و پوشش کد Test Driven Development: Recording User Interface Tests and Code Coverage

  • چگونه با استفاده از ابزار ضبط یک تست UI را ضبط کنیم؟ How to Record a UI Test Using the Recording Tool?

  • پوشش کد چیست؟ What is Code Coverage?

  • نسخه نمایشی پوشش کد Code Coverage Demo

توسعه آزمایش محور: تمسخر Test Driven Development: Mocking

  • تمسخر چیست؟ What is Mocking?

  • درک پروژه شروع Understanding the Starter Project

  • تست نوشتن برای اعتبارسنجی فیلدهای مورد نیاز Writing Test to Validate Required Fields

  • تست نوشتن تایید ناوبری کاربر به داشبورد پس از احراز هویت Writing Test Confirm User Navigation to Dashboard Upon Authentication

  • پیاده سازی MockedWebService Implementing MockedWebService

  • تست نوشتن برای نمایش پیام برای اعتبارنامه های نامعتبر Writing Test to Display Message for Invalid Credentials

  • پیاده سازی الگوی طراحی Page Objects Implementing PageObjects Design Pattern

توسعه آزمایش محور: برنامه Todo - تست پایان به پایان Test Driven Development: Todo App - End to End Testing

  • گشت و گذار در برنامه Tour of the App

  • منبع: تگ اشکال زدایی داده های هسته Resource: Core Data Debug Tag

  • نوشتن تست برای ذخیره کار در پایگاه داده Writing Test to Save Task to Database

  • حذف برنامه قبل از اجرای هر تست با استفاده از Springboard Deleting App Before Running Each Test Using Springboard

  • تست نوشتن برای بررسی عناوین وظایف تکراری مجاز نیست Writing Test to Check Duplicate Task Titles are Not Allowed

  • تست نوشتن برای اطمینان از حذف موفقیت آمیز کار Writing Test to Make Sure Task is Deleted Successfully

  • تست نوشتن برای اطمینان از اینکه به‌روزرسانی تکلیف مورد علاقه طبق انتظار کار می‌کند Writing Test to Make Sure Updating Task Favorite Works as Expected

توسعه آزمایش محور: برنامه آزمون - واحد تست دامنه Test Driven Development: Quiz App - Unit Testing the Domain

  • نمای کلی معماری Architecture Overview

  • درک داستان شروع پروژه و مسابقه Understanding Starter Project and Quiz Stories

  • تست نوشتن برای اطمینان از اینکه امتیازات آزمون به درستی محاسبه شده است Writing Test to Make Sure Quiz Points are Calculated Correctly

  • آزمون نوشتاری تا امتحان نمره بر اساس نمره Writing Test to Grade Exam Based on Score

  • نوشتن تست به نمره امتحان بر اساس ارسال کاربر Write Test to Grade Exam Based on User's Submission

توسعه تست محور: برنامه آزمون - تست رابط کاربری Test Driven Development: Quiz App - User Interface Testing

  • تست نوشتن برای نمایش لیست آزمون های موجود Writing Test to Display Available List of Quizzes

  • تست نوشتن برای رفتن به صفحه سوالات Writing Test to Navigate to Questions Screen

  • تست نوشتن برای اطمینان از نمایش پیام خطا هنگامی که هیچ گزینه ای انتخاب نشده است Writing Test to Make Sure Error Message is Displayed When No Choices Selected

  • تست نوشتن برای نمایش نمره برای کاربر Writing Test to Display Grade for the User

Firebase: شروع به کار Firebase: Getting Started

  • ایجاد پروژه در کنسول Firebase Creating Project on Firebase Console

  • ادغام Firebase در یک برنامه iOS Integrating Firebase into an iOS App

  • راه اندازی Firebase Initializing Firebase

Firebase: احراز هویت Firebase: Authentication

  • کاربر ثبت نام Signing Up User

  • در حال به روز رسانی نام نمایشی Updating Display Name

  • به روز رسانی نام نمایشی در مدل Update Display Name in Model

  • احراز هویت کاربر Authenticating User

Firebase: گروه ها و ناوبری Firebase: Groups and Navigation

  • ساختار برنامه با استفاده از MainView Structuring the App Using MainView

  • AppState و ناوبری AppState and Navigation

  • رفع - رفتن به LoginView پس از ثبت نام موفقیت آمیز FIX - Going to LoginView After Successful SignUp

  • ایجاد رابط کاربری افزودن گروه ها Building Add Groups User Interface

  • افزودن گروه به پایگاه داده Firestore Adding Group to Firestore Database

  • منبع: نقشه داده های Cloud Firestore با Swift Codable Resource: Map Cloud Firestore data with Swift Codable

  • رفع اخطار پیکربندی صحنه Fixing Scene Configuration Warning

  • نمایش گروه ها Displaying Groups

Firebase: پیام های چت Firebase: Chat Messages

  • ذخیره پیام چت در یک گروه Saving Chat Message to a Group

  • اضافه کردن ساختار پیام چت Adding Chat Message Struct

  • به پیام های چت گوش دهید Listen for Chat Messages

  • نمایش پیام های چت Displaying Chat Messages

Firebase: حباب‌های چت و پوشش‌ها Firebase: Chat Bubbles and Overlays

  • اجرای حباب چت قسمت 1 Chat Bubble Implementation Part 1

  • اجرای حباب چت قسمت 2 Chat Bubble Implementation Part 2

  • پیمایش خودکار به آخرین پیام‌ها Auto Scrolling to Latest Messages

Firebase: نمایه کاربر Firebase: User Profile

  • ایجاد رابط Creating the Interface

  • پیاده سازی ImagePicker Implementing ImagePicker

  • با استفاده از ImagePicker Using ImagePicker

  • تغییر اندازه تصاویر Resizing Images

  • منبع: تغییر اندازه تصاویر در سوئیفت Resource: Resizing Images in Swift

  • آپلود تصویر در فضای ذخیره سازی Firebase Uploading Image to Firebase Storage

  • نام نمایشی و همه پیام‌های کاربر را به‌روزرسانی کنید Update Display Name & All User Messages

Firebase: بهبود رابط کاربری Firebase: Improving User Interface

  • افزودن عکس با پیام های چت Adding Photos with Chat Messages

  • پیاده سازی ChatMessageInputView Implementing ChatMessageInputView

  • توسعه رابط کاربری برای انتخاب عکس ها Developing the User Interface for Selecting Photos

  • آپلود عکس ها در فضای ذخیره سازی Firebase و درج عکس ها در پیام های چت Uploading Photos to Firebase Storage and Inserting Photos in Chat Messages

  • پیش نمایش تصویر Previewing Image

  • نمایش پیوست در لیست پیام ها Displaying Attachment in Messages List

Firebase: ErrorView & LoadingView Firebase: ErrorView & LoadingView

  • پیاده سازی و نمایش LoadingView Implementing & Displaying LoadingView

  • پیاده سازی و نمایش ErrorView Implementing & Displaying ErrorView

بخار: توسعه کامل پشته Vapor: Full Stack Development

  • Full Stack Development چیست؟ What is Full Stack Development?

  • بخار چیست؟ What is Vapor?

  • منابع Resources

بخار: شروع به کار Vapor: Getting Started

  • مهم: نسخه Swift Tools IMPORTANT: Swift Tools Version

  • نصب بخار Installing Vapor

  • سلام بخار Hello Vapor

  • ساختار پوشه Folder Structure

بخار: مسیریابی Vapor: Routing

  • مسیرهای اساسی و پارامترهای مسیر Basic Routes and Route Parameters

  • پارامترهای مسیر به شدت تایپ شده است Strongly Typed Route Parameters

  • در حال بازگشت JSON Returning JSON

  • درخواست های پست (JSON) POST Requests (JSON)

  • رشته های پرس و جو Query Strings

  • گروه های مسیر Route Groups

بخار: کنترل کننده ها Vapor: Controllers

  • آشنایی با الگوی طراحی MVC Understanding MVC Design Pattern

  • ایجاد کنترلرها Creating Controllers

بخار: میان افزار Vapor: Middleware

  • Middleware چیست What is a Middleware

  • ایجاد یک میان افزار پایه Creating a Basic Middleware

  • ایجاد میان افزار برای استخراج توکن ها از هدرها Creating Middleware Extracting Tokens from Headers

بخار: گشت سریع بخار با پایگاه داده Postgres Vapor: Quick Tour of Vapor with Postgres Database

  • فلوئنت چیست؟ What is Fluent?

  • راه اندازی پایگاه داده Postgres در ElephantSQL Setting Up Postgres Database on ElephantSQL

  • به روز رسانی: پیکربندی Postgres UPDATE: Postgres Configuration

  • افزودن پکیج فلوئنت Adding Fluent Package

  • ایجاد مدل فیلم Creating Movie Model

  • ایجاد جداول با استفاده از Migration Creating Tables Using Migration

  • ذخیره فیلم Saving Movie

  • دریافت همه فیلم ها و دریافت فیلم با شناسه Get All Movies & Get Movie By Id

  • حذف فیلم Deleting Movie

  • به روز رسانی فیلم Updating Movie

Vapor: Grocery App - Project Setup Vapor: Grocery App - Project Setup

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • ایجاد پروژه بخار و پروژه SwiftUI Creating Vapor Project and SwiftUI Project

  • افزودن وابستگی ها به پروژه بخار Adding Dependencies to the Vapor Project

  • راه اندازی پایگاه داده Postgres به صورت محلی Setting Up Postgres Database Locally

  • دانلود استودیو Beekeeper برای مدیریت پایگاه داده Downloading Beekeeper Studio for Database Management

  • منبع: دانلود Beekeeper Studio Community Edition Resource: Downloading Beekeeper Studio Community Edition

  • اتصال استودیو Beekeeper به پایگاه داده محلی Postgres Connecting Beekeeper Studio to Local Postgres Database

Vapor: Grocery App - ثبت نام کاربر (سمت سرور) Vapor: Grocery App - User Registration (Server Side)

  • ایجاد جدول کاربران از طریق مهاجرت Creating Users Table Through Migration

  • ایجاد مدل کاربر Creating the User Model

  • پیاده سازی مسیر ثبت نام Implementing Register Route

  • تست ثبت نام کاربر با استفاده از Postman Testing User Registration Using Postman

Vapor: Grocery App - ورود کاربر (سمت سرور) Vapor: Grocery App - User Login (Server Side)

  • درک جریان احراز هویت JWT Understanding JWT Authentication Flow

  • پیاده سازی مسیر ورود Implementing Login Route

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

  • ایجاد و بازگرداندن توکن JWT Creating and Returning the JWT Token

  • تست ورود کاربر با استفاده از پستچی Testing User Login Using Postman

Vapor: Grocery App - ثبت نام کاربر Vapor: Grocery App - User Registration

  • پیاده سازی صفحه ثبت نام Implementing the Registration Screen

  • اجرای Generic HTTPClient قسمت 1 Implementing Generic HTTPClient Part 1

  • پیاده سازی Generic HTTP Client قسمت 2 Implementing Generic HTTP Client Part 2

  • رفع - حذف بررسی وضعیت پاسخ HTTP FIX - Removing the HTTP Response Status Check

  • پیاده سازی مدل Grocery Root Aggregate Implementing the Aggregate Root GroceryModel

  • استفاده از GroceryModel از View برای ثبت نام کاربر جدید Using GroceryModel from View to Register a New User

  • رفع - نمایش پیام خطا بر روی صفحه نمایش FIX - Displaying Error Message on the Screen

Vapor: Grocery App - ورود کاربر Vapor: Grocery App - User Login

  • ایجاد صفحه ورود Creating the Login Screen

  • پیاده سازی Login در GroceryModel Implementing the Login in GroceryModel

  • اضافه کردن ناوبری جهانی Adding Global Navigation

  • انجام ناوبری برنامه ای Performing Programmatic Navigation

Vapor: Grocery App - ایجاد یک بسته Swift برای به اشتراک گذاری DTOs Vapor: Grocery App - Creating a Swift Package for Sharing DTOs

  • ایجاد بسته DTO اشتراکی برنامه خواربار Creating Grocery App Shared DTO Package

  • انتشار بسته DTO به اشتراک گذاشته شده برنامه Grocery App در GitHub Publishing the Grocery App Shared DTO Package to GitHub

  • افزودن بسته GroceryAppSharedDTO به پروژه های SwiftUI و Vapor Adding GroceryAppSharedDTO Package to SwiftUI and Vapor Projects

Vapor: Grocery App - Saving Grocery Category (سمت سرور) Vapor: Grocery App - Saving Grocery Category (Server Side)

  • ایجاد جدول دسته بندی مواد غذایی با استفاده از مهاجرت Creating Grocery Category Table by Using Migration

  • اجرای مدل دسته بندی خواربار Implementing Grocery Category Model

  • راه اندازی کنترل کننده مواد غذایی Setting Up Grocery Controller

  • پیاده سازی GroceryCategoryRequestDTO و GroceryCategoryResponseDTO Implementing GroceryCategoryRequestDTO and GroceryCategoryResponseDTO

  • صرفه جویی در دسته مواد غذایی Saving Grocery Category

  • تست رده مواد غذایی با استفاده از پستچی Testing Grocery Category Using Postman

Vapor: Grocery App - Saving Grocery Category (SwiftUI App/Client) Vapor: Grocery App - Saving Grocery Category (SwiftUI App/Client)

  • ساخت رابط کاربری برای اضافه کردن دسته مواد غذایی Building the User Interface for Adding Grocery Category

  • پیاده سازی Save Grocery Category در GroceryModel Implementing Save Grocery Category in GroceryModel

  • در حال به روز رسانی AddGroceryCategoryScreen برای استفاده از GroceryModel Updating AddGroceryCategoryScreen to Use GroceryModel

  • افزودن پسوند به UserDefaults برای دسترسی آسان به UserId Adding Extension to UserDefaults to Easily Access UserId

Vapor: Grocery App - واکشی و نمایش دسته‌های مواد غذایی Vapor: Grocery App - Fetching and Displaying Grocery Categories

  • واکشی دسته‌های مواد غذایی توسط کاربر (سرور) Fetching Grocery Categories by User (Server)

  • به روز رسانی مدل خواربار فروشی برای دریافت دسته بندی ها توسط کاربر (مشتری) Updating Grocery Model to Get Categories by User (Client)

  • نمایش دسته بندی های مواد غذایی Displaying Grocery Categories

  • حذف دسته مواد غذایی (سرور) Deleting Grocery Category (Server)

  • حذف دسته مواد غذایی (مشتری) Deleting Grocery Category (Client)

  • رفتن به AddGroceryCategoryScreen از GroceryCategoryListScreen Navigating to AddGroceryCategoryScreen from GroceryCategoryListScreen

Vapor: Grocery App - ذخیره اقلام مواد غذایی (سرور) Vapor: Grocery App - Saving Grocery Items (Server)

  • ایجاد جدول اقلام مواد غذایی با استفاده از مهاجرت Creating Grocery Items Table By Using Migration

  • پیاده سازی مدل اقلام مواد غذایی Implementing GroceryItem Model

  • ذخیره اقلام مواد غذایی - قسمت 1 Saving Grocery Item - Part 1

  • ذخیره اقلام مواد غذایی - قسمت 2 Saving Grocery Item - Part 2

  • آزمایش افزودن اقلام مواد غذایی با استفاده از پستچی Testing Add Grocery Item Using Postman

Vapor: Grocery App - ذخیره و نمایش اقلام مواد غذایی Vapor: Grocery App - Saving and Displaying Grocery Items

  • اجرای صفحه نمایش ظروف با جزئیات مواد غذایی Implementing Grocery Detail Screen Container Screen

  • ایجاد رابط کاربری برای AddGroceryItemScreen Creating User Interface for AddGroceryItemScreen

  • به روز رسانی GroceryModel برای پشتیبانی از افزودن اقلام مواد غذایی Updating GroceryModel to Support Adding Grocery Items

  • پیمایش به صفحه جزئیات خواربارفروشی و تست ذخیره اقلام خواربار Navigating to Grocery Detail Screen and Testing Saving Grocery Items

Vapor: Grocery App - واکشی و نمایش اقلام مواد غذایی Vapor: Grocery App - Fetching and Displaying Grocery Items

  • واکشی اقلام مواد غذایی (سرور) Fetching Grocery Items (Server)

  • اقلام مواد غذایی را روی صفحه نمایش دهید Display Grocery Items on the Screen

  • حذف اقلام مواد غذایی (سرور) Deleting Grocery Item (Server)

  • حذف اقلام مواد غذایی (مشتری) Deleting Grocery Item (Client)

Vapor: Grocery App - میان افزار مدیریت خطا، مسیریابی و احراز هویت Vapor: Grocery App - Error Handling, Routing and Authentication Middleware

  • به روز رسانی مسیریابی صفحه نمایش و پیاده سازی خروج از سیستم Updating Screen Routing & Implementing Sign out

  • پیاده سازی ErrorWrapper و ErrorView Implementing ErrorWrapper and ErrorView

  • پیاده سازی میان افزار احراز هویت Implementing Authentication Middleware

  • مهم - به روز رسانی کلاینت برای ارسال هدرهای احراز هویت IMPORTANT - Updating Client to Send Authentication Headers

  • ارائه GroceryCategoryListScreen برای کاربران احراز هویت شده Presenting GroceryCategoryListScreen for Authenticated Users

  • اختیاری - بازگرداندن همه اقلام مواد غذایی با دسته بندی های مواد غذایی OPTIONAL - Returning All Grocery Items with Grocery Categories

Vapor: Grocery App - Deployment Vapor: Grocery App - Deployment

  • منبع: Vapor Heroku Deployment Resource: Vapor Heroku Deployment

  • راه اندازی اکانت Heroku و نصب Heroku CLI Setting Up Heroku Account & Installing Heroku CLI

  • اضافه کردن متغیرهای محیطی Adding Environment Variables

  • پروفیل، Buildpack و نسخه سوئیفت را پیکربندی کنید Configure Procfile, Buildpack and Swift Version

  • راه اندازی پایگاه داده Postgres و اجرای مهاجرت Setting Up Postgres Database and Running Migrations

  • به روز رسانی برنامه SwiftUI Updating the SwiftUI App

بخار: گشت سریع MongoDB Vapor: Quick Tour of MongoDB

  • راه اندازی MongoDB در MongoDB Atlas Cloud Setting Up MongoDB on MongoDB Atlas Cloud

  • پیکربندی بسته های MongoDB و اتصال به سرور MongoDB Configuring MongoDB Packages and Connecting to MongoDB Server

  • ایجاد یک مدل فیلم Creating a Movie Model

  • ذخیره یک فیلم جدید Saving a New Movie

  • پیاده سازی Get All Movies and Get Movie By Id Implementing Get All Movies and Get Movie By Id

  • حذف یک فیلم Deleting a Movie

  • به روز رسانی فیلم Updating Movie

برنامه نویسی macOS: برنامه یادآوری - ایجاد، حذف و نمایش لیست ها Programming macOS: Reminders App - Creating, Deleting and Displaying Lists

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • راه اندازی ساختار رابط کاربری برنامه با استفاده از طرح بندی دو ستونی Setting Up the App UI Structure Using Two Column Layout

  • ایجاد مدل داده اصلی Creating the Core Data Model

  • پیاده سازی CoreDataManager Implementing CoreDataManager

  • افزودن AddNewListViewModel Adding AddNewListViewModel

  • پیاده سازی پروتکل BaseModel Implementing BaseModel Protocol

  • طراحی AddNewListView Designing AddNewListView

  • پیاده سازی NSColorTransformer برای ذخیره نوع تبدیل پذیر NSColor Implementing NSColorTransformer to Save Transformable Type NSColor

  • پیاده سازی MyListsViewModel Implementing MyListsViewModel

  • نمایش لیست ها بر روی صفحه نمایش Displaying Lists on the Screen

  • حذف لیست ها Deleting Lists

برنامه نویسی macOS: Reminders App - مدیریت موارد فهرست Programming macOS: Reminders App - Managing List Items

  • افزودن اقلام لیست رابطه داده های اصلی در مدل داده های اصلی Adding List Items Core Data Relationship in Core Data Model

  • پیاده سازی MyListItemsHeaderView و MyListItemsView Implementing MyListItemsHeaderView and MyListItemsView

  • پیاده سازی MyListItemViewModel Implementing MyListItemViewModel

  • افزودن AddNewListItemView Adding AddNewListItemView

  • ذخیره آیتم فهرست Saving List Item

  • نمایش موارد لیست Displaying List Items

  • پیاده سازی ListItemCell Implementing ListItemCell

  • حذف موارد فهرست Deleting List Items

  • به روز رسانی موارد فهرست Updating List Items

  • مشاهده NSNotification ManagedObjectContextObjectsDidChange Observing NSNotification ManagedObjectContextObjectsDidChange

  • اجرای علامت گذاری مورد برای تکمیل Implementing Marking Item for Completion

  • تاخیر در پیاده سازی Implementing Delay

  • نمایش تعداد آیتم های فهرست Displaying List Item Count

  • نمایش لیست پیش فرض Displaying Default List

برنامه نویسی macOS: Maps - راه اندازی و نمایش موقعیت مکانی کاربر Programming macOS: Maps - Setup and Displaying User Location

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • راه اندازی ساختار با استفاده از طرح بندی دو ستونی Setting Up Structure Using Two Column Layout

  • نمایش نقشه و موقعیت مکانی کاربر Displaying Map and User's Location

  • بزرگنمایی موقعیت مکانی کاربر Zooming in User's Location

  • پیاده سازی مدیریت موقعیت مکانی Implementing Location Manager

برنامه نویسی macOS: Maps - جستجو و نمایش نقاط مورد علاقه در نزدیکی Programming macOS: Maps - Searching and Displaying Nearby Points of Interest

  • افزودن نوار جستجو Adding a Search Bar

  • جستجوی نزدیک بر اساس نقاط مورد علاقه با استفاده از MKLocalSearch Searching Close by Points of Interests Using MKLocalSearch

  • نمایش نتایج جستجو Displaying Search Results

  • محاسبه و نمایش فاصله Calculating and Displaying Distance

برنامه نویسی macOS: Maps - نمایش، انتخاب حاشیه نویسی Programming macOS: Maps - Displaying, Selecting Annotations

  • نمایش حاشیه نویسی روی نقشه Displaying Annotations on Map

  • نمایش Callout View Displaying a Callout View

  • نمایش عکس فوری از مکان Show Snapshot of the Location

  • نمایش جزئیات مکان با انتخاب از لیست نتایج جستجو Showing Place Details by Selecting from the Search Result List

برنامه نویسی macOS: Maps - Directions and Route Programming macOS: Maps - Directions and Route

  • محاسبه جهت ها Calculating Directions

  • نمایش مسیرها قسمت 1 Displaying Directions Part 1

  • نمایش مسیرها قسمت 2 Displaying Directions Part 2

  • ایجاد پوشش مسیرها روی نقشه Creating Directions Overlay on the Map

برنامه نویسی macOS: Maps - تنظیمات برگزیده و تبدیل فاصله Programming macOS: Maps - Preferences and Distance Conversions

  • ایجاد پنجره تنظیمات Creating the Preferences Window

  • افزودن نماها به پنجره تنظیمات Adding Views to Preferences Window

  • تغییر طرح رنگ Changing Color Schema

  • پیاده سازی Distance Formatter Implementing Distance Formatter

  • نمایش فاصله بر حسب مایل و کیلومتر Displaying Distance in Miles and Kilometers

  • نمایش فاصله در مسیرها Showing Distance on Directions

برنامه نویسی macOS: سهام - نمایش سهام از یک API Programming macOS: Stocks - Displaying Stocks from an API

  • چه چیزی خواهیم ساخت؟ What we will be building?

  • راه اندازی ساختار دو ستونی Setting Up Two Column Structure

  • واکشی سهام از JSON API Fetching Stocks from JSON API

  • تنظیم وضعیت جهانی و پیاده سازی StockListViewModel Setting Global State and Implementing StockListViewModel

  • نمایش سهام Displaying Stocks

  • نمایش سهام یک ظاهر طراحی شده Styling Stocks Display

  • واکشی و نمایش سهام در فواصل منظم Fetching and Displaying Stocks at Regular Intervals

  • جستجوی سهام Searching Stocks

برنامه نویسی macOS: سهام - نمایش اخبار سهام Programming macOS: Stocks - Displaying Stock News

  • ثبت حساب با NewsAPI.org Registering Account with NewsAPI.org

  • ایجاد مدل های داده برای رمزگشایی JSON Creating Data Models for Decoding JSON

  • واکشی همه اخبار کسب و کار Fetching all Business News

  • پیاده سازی StockArticleListViewModel Implementing StockArticleListViewModel

  • نمایش اخبار کسب و کار Displaying Business News

برنامه نویسی macOS: سهام - نمایش اخبار توسط سهام Programming macOS: Stocks - Displaying News by Stock

  • دریافت اخبار توسط سهام Fetching News by Stock

  • پیاده سازی StockDetailViewModel Implementing StockDetailViewModel

  • پیاده سازی StockDetailScreen Implementing StockDetailScreen

  • پیاده سازی Route Enum Implementing Route Enum

  • تغییر صفحه نمایش با استفاده از مسیر Changing Screens Using Route

  • نمایش نمودار قیمت های تاریخی سهام Displaying Graph of Stocks Historical Prices

برنامه نویسی macOS: Stocks - WebView و Navigation Programming macOS: Stocks - WebView and Navigation

  • پیاده سازی WebViewScreen Implementing WebViewScreen

  • پیاده سازی WebView با استفاده از UIViewRepresentable Implementing WebView Using UIViewRepresentable

  • بهبود مسیریابی قسمت 1 Improving Routing Part 1

  • بهبود مسیریابی قسمت 2 (تقسیم وضعیت جهانی) Improving Routing Part 2 (Dividing Global State)

  • بهبود مسیریابی قسمت 3 (Push/Pop برای مسیریابی) Improving Routing Part 3 (Push/Pop for Routing)

  • نمایش مقالات تجاری Showing Business Articles

نمایش نظرات

آموزش Bootcamp توسعه 70+ ساعت iOS
جزییات دوره
71.5 hours
589
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
812
4.8 از 5
دارد
دارد
دارد
Mohammad Azam
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Mohammad Azam Mohammad Azam

برنامه نویس ویژه اپل iOS و مربی iOS