آموزش GraphQL با iOS و SwiftUI: راهنمای کامل توسعه دهندگان

GraphQL with iOS and SwiftUI: The Complete Developers Guide

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: ساخت برنامه های GraphQL در SwiftUI با استفاده از الگوی طراحی Apollo، NodeJS و MVVM GraphQL زبان پرس و جو ساختاریافته یکپارچه سازی GraphQL در برنامه های iOS با استفاده از فریم ورک Apollo ایجاد سرور سفارشی خود، که به درخواست ها و جهش های GraphQL خدمت می کند الگوی طراحی MVVM در برنامه های SwiftUI نیازها:Knoft Language توصیه می شود دانش SwiftUI توصیه می شود دانش NodeJS و جاوا اسکریپت Xcode 12.5 یا بالاتر توصیه می شود

GraphQL یک زبان پرس و جو و دستکاری داده منبع باز برای APIها و یک زمان اجرا برای انجام پرس و جوها با داده های موجود است. GraphQL با سرعت بسیار زیادی محبوبیت پیدا می کند و شرکت های بیشتری با استفاده از GraphQL داده های خود را در معرض دید قرار می دهند. برخی حتی می گویند که GraphQL REST جدید است و در یک بازه زمانی چند ساله، به روش پیش فرض برای پیاده سازی API ها تبدیل خواهد شد.

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


درک GraphQL

در این بخش، مفاهیم پشت فناوری GraphQL و تفاوت آن با REST را خواهید آموخت. در مورد کوئری ها، جهش ها، قطعات و اشتراک ها خواهید آموخت.


برنامه کشورها

در این بخش، نحوه مصرف Countries GraphQL API را خواهید آموخت. شما یاد خواهید گرفت که چگونه چارچوب آپولو را با برنامه iOS خود ادغام کنید، طرحواره دانلود کنید، مدل ها را تولید کنید و در نهایت آنها را در برنامه SwiftUI خود نمایش دهید.


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

در این بخش، مفاهیم پشت الگوی طراحی MVVM را یاد خواهید گرفت. هدف هر جزء و نحوه انطباق آن با الگوی MVVM را خواهید آموخت.


برنامه کشورها - ساختمان با استفاده از الگوی MVVM

در این بخش، برنامه کشورها را مجدداً مشاهده کرده و با استفاده از اصول الگوی طراحی MVVM آن را مجدداً پیاده سازی خواهید کرد. شما یاد خواهید گرفت که چگونه مدل های نمای کانتینر را پیاده سازی کنید، فقط مدل های مشاهده را در برنامه SwiftUI بخوانید.


برنامه آب و هوا

در این بخش، نحوه پیاده سازی برنامه آب و هوا در SwiftUI با استفاده از GraphQL weather API را خواهید آموخت. همچنین قابلیت جستجوی شهر را اجرا خواهید کرد که به شما امکان می دهد آب و هوای یک شهر را با نام جستجو کنید.


برنامه GitHub

در این بخش، نحوه استفاده از GitHub GraphQL API را خواهید آموخت. شما با راحت شدن با GitHub GraphQL API با استفاده از کاوشگر داخلی آن شروع خواهید کرد. در مرحله بعد، آن را با برنامه SwiftUI خود ادغام خواهید کرد. به کاربر این امکان را می دهید که ده مخزن اخیر خود و همچنین مخازن ستاره دار برتر را فهرست کند. در نهایت، شما جهش را پیاده سازی خواهید کرد، بنابراین کاربران می توانند مخازن جدیدی را از داخل برنامه iOS به نمایه GitHub خود اضافه کنند.


شروع به کار با سرور آپولو

در این بخش، نحوه پیاده سازی سرور آپولو سفارشی با استفاده از NodeJS و JavaScript را یاد خواهید گرفت. شما در مورد سیستم نوع GraphQL، طرحواره ها و نحوه استفاده از حل کننده ها برای حل پرس و جوها خواهید آموخت.


برنامه فیلم

در این بخش، می‌خواهید یک برنامه کامل Movies را پیاده‌سازی کنید. شما یاد خواهید گرفت که یک سرور GraphQL سفارشی با استفاده از چارچوب Apollo بسازید و سپس کلاینت iOS را در چارچوب SwiftUI بسازید.


الزامات

1) دانستن زبان Swift توصیه می شود

2) دانستن SwiftUI توصیه می شود

3) مقداری دانش NodeJS و جاوا اسکریپت توصیه می‌شود اما لازم نیست


در پایان این دوره، با استفاده از GraphQL با برنامه‌های iOS خود راحت خواهید بود.


امیدواریم از دوره لذت ببرید!


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

معرفی Introduction

  • معرفی Introduction

  • درباره مربی About the Instructor

  • پیش نیازها Prerequisites

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

آشنایی با GraphQL Understanding GraphQL

  • GraphQL چیست؟ What is GraphQL?

  • GraphQL در مقابل REST GraphQL vs REST

  • مفاهیم اصلی Core Concepts

  • پرس و جوها Queries

  • منابع: پرس و جو Resources: Queries

  • جهش ها Mutations

  • منابع: جهش Resources: Mutations

  • قطعات Fragments

  • منابع: قطعات Resources: Fragments

  • اشتراک ها Subscriptions

  • منابع: اشتراک ها Resources: Subscriptions

برنامه کشور Country App

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

  • آپولو برای GraphQL چیست؟ What is Apollo for GraphQL?

  • در حال نصب آپولو CLI Installing Apollo CLI

  • منابع - نصب آپولو CLI Resources - Installing Apollo CLI

  • افزودن بسته آپولو به برنامه SwiftUI Adding Apollo Package to the SwiftUI App

  • منبع: افزودن بسته آپولو به برنامه SwiftUI Resource: Adding Apollo Package to the SwiftUI App

  • دانلود Schema و افزودن اسکریپت تولید کد Downloading Schema and Adding Code Generation Script

  • منبع: دانلود طرحواره و افزودن تولید کد Resource: Downloading Schema and Adding Code Generation

  • واکشی همه کشورها Fetching All Countries

  • نمایش کشورها در لیست SwiftUI Displaying Countries in SwiftUI List

  • پیاده سازی پرس و جو GetCountryByCode در GraphQL Implementing GetCountryByCode Query in GraphQL

  • نمایش اطلاعات کشور Displaying Country Info

آشنایی با الگوی طراحی 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

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

برنامه کشورها - الگوی طراحی MVVM Countries App - MVVM Design Pattern

  • دستور جلسه Agenda

  • پیاده سازی CountryListViewModel و CountryViewModel Implementing CountryListViewModel and CountryViewModel

  • نمایش کشورها روی صفحه با استفاده از CountryListViewModel Displaying Countries on Screen Using CountryListViewModel

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

  • نمایش جزئیات کشور بر روی صفحه نمایش Displaying Country Details on the Screen

اپلیکیشن آب و هوا Weather App

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

  • منبع Resource

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

  • ساخت پرس و جو GraphQL برای دریافت آب و هوا بر اساس شهر Constructing GraphQL Query to Get Weather By City

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

  • واکشی آب و هوا Fetching the Weather

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

برنامه GitHub - راه اندازی GitHub App - Setup

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

  • آشنایی با GitHub GraphQL API Understanding GitHub GraphQL API

  • منبع: GitHub GraphQL API Resource: GitHub GraphQL API

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

برنامه GitHub - واکشی و نمایش آخرین مخازن GitHub App - Fetching and Displaying Latest Repositories

  • ساخت GetAllRepositoriesForUser GraphQL Query Constructing GetAllRepositoriesForUser GraphQL Query

  • ایجاد توکن دسترسی شخصی GitHub Generating GitHub Personal Access Token

  • ارسال کد دسترسی با درخواست GraphQL در هدرها Sending Access Code with GraphQL Request in Headers

  • پیاده سازی RepositoryListViewModel و RepositoryViewModel Implementing RepositoryListViewModel and RepositoryViewModel

  • نمایش لیست تمام آخرین مخازن Displaying List of All Latest Repositories

  • منابع Resources

برنامه GitHub - جهش GitHub App - Mutations

  • ساخت پرس و جوی ایجاد مخزن جهش Constructing the Create Repository Mutation Query

  • تست پرس و جوی جهش CreateRepository Testing CreateRepository Mutation Query

  • منبع: پرس و جوی جهش و متغیرهای پرس و جو Resource: Mutation Query and Query Variables

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

  • ادغام AddRepositoryScreen با AddRepositoryViewModel Integrating AddRepositoryScreen with AddRepositoryViewModel

  • راه حل: ادغام AddRepositoryScreen با AddRepositoryViewModel SOLUTION: Integrating AddRepositoryScreen with AddRepositoryViewModel

برنامه GitHub - واکشی و نمایش مخازن برتر GitHub App - Fetching and Displaying Top Repositories

  • ساخت پرس و جو GraphQL برای مخازن برتر Constructing GraphQL Query for Top Repositories

  • پیاده سازی getTopRepositoriesForUser در RepositoryListViewModel Implementing getTopRepositoriesForUser in RepositoryListViewModel

  • اجرای پروتکل RepositoryNode Implementing RepositoryNode Protocol

  • تغییر نماها بین آخرین مخازن و مخازن برتر Switching Views Between Latest Repositories and Top Repositories

شروع کار با سرور آپولو Getting Started with Apollo Server

  • آشنایی با سرور آپولو Understanding the Apollo Server

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

  • نصب Node و بسته های مورد نیاز GraphQL Installing Node and Required GraphQL Packages

  • واکشی همه کتابها (پرسش) Fetching All Books (Query)

  • واکشی کتاب بر اساس شناسه (پرس و جو) Fetch Book by Id (Query)

  • راه اندازی مجدد خودکار سرور با استفاده از Nodemon Automatically Restarting Server Using Nodemon

  • افزودن کتاب جدید (جهش) Adding New Book (Mutation)

  • منابع Resources

مبانی طرحواره Schema Basics

  • زبان تعریف طرحواره Schema Definition Language

  • انواع پشتیبانی شده Supported Types

  • طراحی طرحواره مبتنی بر پرس و جو Query Driven Schema Design

برنامه فیلم - نمایش فیلم ها Movies App - Displaying Movies

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

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

  • توجه: اجرای سرور آپولو با استفاده از NodeJS NOTE: Running the Apollo Server Using NodeJS

  • ساخت پرس و جو GetAllMovies Constructing GetAllMovies Query

  • پیاده سازی MovieListViewModel و MovieViewModel Implementing MovieListViewModel and MovieViewModel

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

  • ساخت پرس و جو GetAllMovies با فیلتر Constructing GetAllMovies Query with Filter

  • ساخت پرس و جوی GetAllGenres GraphQL Constructing GetAllGenres GraphQL Query

  • پیاده سازی GenreListViewModel و GenreViewModel Implementing GenreListViewModel and GenreViewModel

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

  • فیلتر کردن و نمایش فیلم ها بر روی صفحه نمایش Filtering and Displaying Movies on the Screen

برنامه فیلم - اضافه کردن فیلم های جدید Movies App - Adding New Movies

  • ساخت جهش برای افزودن یک فیلم جدید Constructing Mutation to Add a New Movie

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

  • نادیده گرفتن همه گزینه ها در GenreSelectionView Ignoring All Option in GenreSelectionView

  • ثبت نام با OMDB API Registering with OMDB API

  • پیاده سازی وب سرویس برای واکشی فیلم ها بر اساس نام Implementing Webservice to Fetch Movies by Name

  • نمایش پوسترها در LazyVStack Displaying Posters in LazyVStack

  • ذخیره فیلم های جدید در سرور GraphQL Saving New Movies to the GraphQL Server

  • ساخت پرس و جو GraphQL برای حذف یک فیلم Constructing GraphQL Query to Delete a Movie

  • حذف فیلم Deleting Movie

  • استقرار GraphQL Server در Heroku Deploying GraphQL Server to Heroku

نتیجه Conclusion

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

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

نمایش نظرات

آموزش GraphQL با iOS و SwiftUI: راهنمای کامل توسعه دهندگان
جزییات دوره
7.5 hours
98
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
752
4.7 از 5
دارد
دارد
دارد
Mohammad Azam
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Mohammad Azam Mohammad Azam

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