برنامه نویسی macOS با استفاده از SwiftUI - آموزش مبتنی بر پروژه

Programming macOS Using SwiftUI - Project Based Learning

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: MVVM، Networking، Core Data، Maps و خیلی چیزهای دیگر را پوشش می دهد. ساخت برنامه‌های macOS با استفاده از الگوی طراحی SwiftUI MVVM برای برنامه‌های SwiftUI تداوم استفاده از Core Data در پایگاه داده SQLite مصرف JSON API از طریق چندین سرویس نمایش نقشه‌ها، مسیرهای ناوبری و جهت‌ها همپوشانی پیش نیازها: آشنایی با چارچوب SwiftUI توصیه می‌شود درک چارچوب و معماری iOS معماری AppKit، از جمله NSViews و View Controllers

SwiftUI در WWDC 2019 معرفی شد و مسیر آینده برنامه‌های iOS، macOS و watchOS را به طرز چشمگیری تغییر داد. SwiftUI یک نحو اعلانی برای استفاده آسان ارائه می دهد که به شما امکان می دهد به سرعت برنامه هایی با کارایی بالا با کد کمتر ایجاد کنید.


در این دوره آموزشی، نحوه پیاده سازی برنامه های macOS با استفاده از چارچوب SwiftUI را خواهید آموخت. این دوره یک دوره مبتنی بر پروژه است، به این معنی که شما با ساختن اپلیکیشن های دنیای واقعی خواهید آموخت.


بیایید محتویات دوره را بررسی کنیم.


گشت سریع SwiftUI

در این بخش، یک تور سریع از چارچوب SwiftUI دریافت خواهید کرد. این شامل کنترل‌های مختلف پشته، فهرست، دکمه و غیره می‌شود.


مدیریت وضعیت در SwiftUI

در این بخش، با تکنیک‌های مختلف مدیریت وضعیت موجود در SwiftUI آشنا می‌شوید. این شامل @State، @Binding، @EnvironmentObject و @Environment است.


درک الگوی طراحی MVVM

در این بخش، الگوی طراحی MVVM را یاد خواهید گرفت و درک خواهید کرد. الگوی MVVM رایج ترین الگویی است که هنگام اجرای برنامه های SwiftUI استفاده می شود.


یادآوری‌ها

در این بخش، برنامه Reminders را از ابتدا تا انتها پیاده سازی خواهید کرد. شما از Core Data برای ماندگاری اطلاعات در پایگاه داده SQLite استفاده خواهید کرد. همچنین نحوه تنظیم روابط یک به چند در Core Data را خواهید آموخت.


نقشه‌ها

در این بخش، برنامه Maps را پیاده سازی خواهید کرد. شما یاد خواهید گرفت که چگونه از NSViewRepresentable برای پیکربندی و تنظیم نقشه ها برای برنامه های macOS استفاده کنید. همچنین یاد خواهید گرفت که چگونه کسب و کارهای نزدیک را جستجو کنید و آنها را روی صفحه نمایش دهید. این برنامه همچنین نحوه محاسبه مسیرها از مکان فعلی کاربر تا مقصد و نحوه نمایش یک پوشش روی نقشه را پوشش می دهد. همچنین یاد خواهید گرفت که چگونه صفحه تنظیمات برگزیده را اجرا کنید که به کاربران امکان می دهد واحدهای اندازه گیری را تغییر دهند.


سهام

در این بخش، نحوه ایجاد اپلیکیشن Stocks با استفاده از SwiftUI را یاد خواهید گرفت. شما یاد خواهید گرفت که چگونه برنامه خود را با چندین API وب ادغام کنید و داده های JSON را مصرف کنید. این برنامه همچنین نحوه نمایش نمودارها و اخبار مرتبط با هر سهام را نشان می دهد. همچنین یاد خواهید گرفت که چگونه یک موتور مسیریابی سبک برای برنامه خود ایجاد کنید.


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


  • توسعه دهندگانی که علاقه مند به گسترش مهارت های خود از iOS به سیستم عامل های macOS هستند.

  • برای توسعه دهندگانی که می خواهند درباره پیاده سازی برنامه های بزرگ با استفاده از چارچوب SwiftUI بیاموزند.

  • توسعه‌دهندگانی که می‌خواهند با یادگیری تکنیک‌های پیشرفته برای توسعه برنامه به سمت نقش اصلی بروند.


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


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

معرفی Introduction

  • معرفی Introduction

  • وام Credits

  • پیش نیازها Prerequisites

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

  • دستور کار دوره Course Agenda

تور سریع SwiftUI Quick Tour of SwiftUI

  • SwiftUI چیست؟ What is SwiftUI?

  • VStack، HStack و ZStack VStack, HStack and ZStack

  • فهرست کنید List

  • تصاویر Images

مدیریت دولتی در SwiftUI State Management in SwiftUI

  • درک @State - مثال 1 Understanding @State - Example 1

  • درک @State - مثال 2 Understanding @State - Example 2

  • درک @Binding - مثال Understanding @Binding - Example

  • درک @EnvironmentObject - مثال 1 Understanding @EnvironmentObject - Example 1

  • @Environment چیست؟ What is @Environment?

  • درک @Environment - مثال Understanding @Environment - Example

  • درک @Environment - مثال 2 Understanding @Environment - Example 2

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

  • الگوهای طراحی چیست؟ What are Design Patterns?

  • MVVM چیست؟ What is MVVM?

  • چرا MVVM؟ Why MVVM?

  • MVVM Architecture و Web API MVVM Architecture and Web APIs

  • تفاوت بین View Model و Model Difference Between View Model and Model

برنامه یادآوری - ایجاد، حذف و نمایش لیست ها 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

  • ثبت نام NSColorTransformer Registering NSColorTransformer

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

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

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

برنامه یادآوری - مدیریت موارد فهرست 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

نقشه ها - راه اندازی و نمایش موقعیت مکانی کاربر 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

نقشه ها - جستجو و نمایش نقاط مورد علاقه در نزدیکی 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

نقشه ها - نمایش، انتخاب حاشیه نویسی 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

نقشه ها - مسیرها و مسیرها Maps - Directions and Route

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

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

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

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

نقشه ها - تنظیمات برگزیده و تبدیل فاصله 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

سهام - نمایش سهام از یک API 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

سهام - نمایش اخبار بورس 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

سهام - نمایش اخبار بر اساس سهام 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

سهام - مشاهده وب و ناوبری 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

برنامه های نوار منو MenuBar Apps

  • ایجاد برنامه MenuBar با استفاده از UIKit Creating MenuBar App Using UIKit

  • ایجاد برنامه MenuBar با استفاده از SwiftUI Creating MenuBar App Using SwiftUI

نتیجه Conclusion

  • مراحل بعدی Next Steps

  • منابع Resources

  • سخنرانی پاداش Bonus Lecture

نمایش نظرات

برنامه نویسی macOS با استفاده از SwiftUI - آموزش مبتنی بر پروژه
جزییات دوره
12 hours
100
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,493
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Mohammad Azam Mohammad Azam

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

Nick Walter Nick Walter

توسعه دهنده موبایل و وب - iOS، Android، Django، Python. و غیره سلام! من نیک هستم و عاشق کدنویسی هستم. حدود پنج سال پیش تصمیم گرفتم که می‌خواهم کدنویسی را یاد بگیرم، اما دسترسی محدودی به منابع برنامه‌نویسی داشتم، و از همه ویدیوهای یوتیوب و آموزش‌های آنلاین موجود در آنجا ناامید شده بودم. من آزمایش کردم، تلاش کردم و قطعاً شکست خوردم، اما در نهایت موفق شدم، بنابراین تصمیم گرفتم که روشی را که مردم یاد می گیرند برای کدنویسی تغییر دهم و شروع به تدریس کردم. تجربه من به عنوان یک دانشجوی آنلاین مستقیماً بر سبک تدریس من تأثیر گذاشته است، زیرا می دانم که بودن در جایگاه شما چگونه است. هنگامی که اپل زبان برنامه نویسی جدید خود، سوئیفت را در سال 2014 معرفی کرد، من اولین آموزش آنلاین بزرگ خود را انجام دادم و اولین دوره آموزشی Swift در اینترنت را ایجاد کردم. از آن زمان، من یک مربی آنلاین تمام وقت شده ام و اکنون نه تنها در سوئیفت، بلکه در iOS، اندروید، جنگو، کاتلین، پایتون، HTML، بلاک چین و غیره نیز دوره هایی دارم. همچنین پنج برنامه iOS را از خراش هایی که در حال حاضر در اپ استور وجود دارند و توسط هزاران کاربر در سراسر جهان استفاده می شوند. من عاشق به اشتراک گذاشتن هیجان خود برای کدنویسی با دانش آموزانم هستم و سعی می کنم یادگیری را تا حد امکان سرگرم کننده و آسان کنم. از اینکه بخشی از انجمن برنامه نویسی من هستید متشکرم!