آموزش بوت‌کمپ کامل توسعه‌دهنده ویو (پینیا، وای‌تست) - آخرین آپدیت

دانلود Complete Vue Developer Bootcamp (Pinia, Vitest)

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

راهنمای جامع توسعه Vue 3: ساخت و استقرار برنامه‌های مقیاس‌پذیر

با این دوره جامع، برنامه‌های سازمانی (enterprise-level) با Vue 3 بسازید و آن‌ها را به مرحله تولید (production) برسانید. از صفر به تسلط برسید و در میان ۱۰٪ برتر توسعه‌دهندگان Vue.js قرار بگیرید.

ویژگی‌های کلیدی دوره:

  • آشنایی با جدیدترین امکانات Vue 3: شامل Composition API، Pinia (جایگزین Vuex)، Vue Router و موارد دیگر.
  • توسعه برنامه‌های بزرگ و واکنش‌گرا (Reactive): با یادگیری اصول برنامه‌نویسی مانند یک توسعه‌دهنده ارشد.
  • یادگیری اکوسیستم مدرن Vue: از ابتدا تا انتها، شامل ابزارهای ضروری.
  • مدیریت وضعیت با Pinia: جایگزین قدرتمند Vuex برای مدیریت وضعیت برنامه‌ها.
  • مباحث پیشرفته: بررسی مقایسه Trade-offs در عملکرد و مقیاس‌پذیری.
  • پیاده‌سازی احراز هویت (Authentication): تنظیم حساب‌های کاربری و مدیریت دسترسی‌ها.
  • توسعه Full-stack با Firebase: ساخت برنامه‌های کامل با استفاده از Firebase.
  • معماری و تصمیم‌گیری در پروژه‌های Vue: رهبری پروژه‌ها و کمک به اعضای تیم.
  • الگوهای طراحی Vue (Vue Design Patterns).
  • مسیریابی (Routing) با Vue Router.
  • تبدیل برنامه‌ها به Progressive Web Apps (PWAs).
  • تست برنامه‌ها با Vitest: شامل Snapshot Testing و End-to-End (E2E) Testing.
  • استفاده از آخرین استانداردهای JavaScript: ES6/ES7/ES8/ES9/ES10/ES11 برای کدنویسی تمیز.
  • چرا Vue از React و Angular محبوب‌تر است؟ دلایل رشد روزافزون Vue.js.
  • آپلود فایل: مدیریت و آپلود امن فایل‌ها در Firebase.
  • طراحی ظاهری زیبا: استفاده از TailwindCSS، Sass، انیمیشن‌ها و Transitionهای CSS.
  • بین‌المللی‌سازی (Internationalization): پشتیبانی از زبان‌های مختلف در برنامه‌ها.

پیش‌نیازها:

  • آشنایی پایه با HTML، CSS و JavaScript.
  • بدون نیاز به تجربه قبلی با Vue یا هر فریم‌ورک JavaScript دیگر!

آپدیت شده با تمامی ویژگی‌های جدید Vue 3! به جامعه آنلاین بیش از ۹۰۰,۰۰۰ توسعه‌دهنده بپیوندید. این دوره توسط متخصصان صنعت که در Silicon Valley و Toronto با Vue.js کار کرده‌اند، تدریس می‌شود.

این دوره با تمرکز بر کارایی، شما را از صرف وقت در آموزش‌های گیج‌کننده، قدیمی و ناقص بی‌نیاز می‌کند. فارغ‌التحصیلان دوره‌های Andrei در شرکت‌هایی مانند Google، Tesla، Amazon، Apple، IBM، JP Morgan، Facebook و سایر شرکت‌های برتر مشغول به کار شده‌اند.

با اطمینان می‌گوییم که این جامع‌ترین منبع آنلاین Vue است. این دوره مبتنی بر پروژه، شما را با کل اکوسیستم ابزارهای مدرن یک توسعه‌دهنده Vue.js آشنا می‌کند. در طول دوره، یک برنامه پخش موسیقی عظیم شبیه Spotify با استفاده از Vue، Pinia، Vue Router، Composition API، Firebase، Vitest، Sass و موارد دیگر خواهیم ساخت. این یک برنامه Full-stack با استفاده از Firebase خواهد بود.

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

این دوره به صورت کاملاً عملی طراحی شده است و شما را از ابتدا تا مرحله انتشار یک پروژه حرفه‌ای Vue و استقرار آن در Production راهنمایی می‌کند. از آموزش مبانی Vue شروع کرده و به سراغ موضوعات پیشرفته خواهیم رفت تا بتوانید تصمیمات معماری و ابزاری خوبی در پروژه‌های آینده خود بگیرید. اگر به تازگی با فریم‌ورک‌های فرانت‌اند آشنا می‌شوید، یا حتی از React یا Angular می‌آیید، عاشق Vue خواهید شد!

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

۱. مبانی (Fundamentals):

در این بخش با مبانی Vue مانند computed properties، methods و watchers آشنا می‌شویم. با همین مبانی، قادر خواهیم بود سند را با رویدادها، binding و رندر شرطی دستکاری کنیم. همچنین نحوه دیباگ کردن برنامه‌ها با ابزارهای رسمی Vue Developer Tools را خواهیم آموخت.

۲. پروژه عملی: Persian Playground:

در این بخش، اولین پروژه خود را با ساخت یک ابزار CSS perspective playground می‌سازیم. این فرصتی است برای تقویت مفاهیم اساسی که در بخش قبل آموختیم و توسعه ابزاری برای بصری‌سازی نحوه دستکاری نمای عناصر با خصوصیات CSS.

۳. فراتر از مبانی (Beyond the Fundamentals):

در این بخش به بررسی جزئیات درونی فریم‌ورک Vue می‌پردازیم. فریم‌ورک‌های JavaScript چگونه واکنش‌گرایی (reactivity) را اضافه می‌کنند؟ Vue چگونه templateها را به اشیاء Virtual DOM کامپایل می‌کند؟ این به ما درکی از چگونگی ارائه Vue به عنوان یک فریم‌ورک برای برنامه‌های مدرن می‌دهد. همچنین در مورد lifecycle hooks و کامپوننت‌ها صحبت خواهیم کرد.

۴. آشنایی با ابزارها (Learning About the Tools):

در این بخش، کمی از Vue فاصله گرفته و به برخی ابزارهای توسعه برنامه‌ها می‌پردازیم. در طول دوران حرفه‌ای خود، با ابزارهایی که به توسعه برنامه‌ها کمک می‌کنند (مانند Vite، Sass، PostCSS، ESLint) سروکار خواهید داشت. نحوه پیکربندی و ضرورت این ابزارها را بررسی خواهیم کرد.

۵. کامپوننت‌های پیشرفته (Advanced Components):

در این بخش، یک پروژه Vue را با Vite راه‌اندازی می‌کنیم. هدف Vue، روان و بی‌دردسر کردن تجربه توسعه است. Vue می‌تواند در راه‌اندازی پروژه، پیکربندی ابزارها و اجرای سرور به ما کمک کند. این موضوع بسیاری از وظایف وقت‌گیر توسعه وب را کاهش می‌دهد. با کامپوننت‌ها شروع می‌کنیم تا ببینیم چگونه می‌توانیم یک برنامه را با استفاده از props، emitting events، slots و رندر پویا (dynamic rendering) طراحی کنیم.

۶. Transition و انیمیشن (Transitions & Animations):

در این بخش، یاد می‌گیریم چگونه با افزودن transitionها و انیمیشن‌ها، جذابیت بصری به برنامه‌ها ببخشیم. انیمیشن‌ها می‌توانند به هر برنامه‌ای جان ببخشند. همچنین با ارائه بازخورد به کاربر در مورد اقداماتش، می‌توانند تجربه کاربری را بهبود بخشند. بحث خواهیم کرد که انیمیشن‌ها چگونه با CSS و JavaScript قابل دستیابی هستند. هر دو در Vue پشتیبانی می‌شوند. حتی در مورد جدیدترین Web Animations API صحبت خواهیم کرد.

۷. پروژه عملی: Quiz App:

در این بخش، تمام آموخته‌های خود را برای توسعه یک برنامه آزمون (quiz application) به کار می‌گیریم. آزمون‌ها راهی عالی برای درگیر کردن کاربران در تقریباً هر صنعتی هستند.

۸. پروژه اصلی: آشنایی با Pinia (Master Project: Introduction to Pinia):

در این بخش، کار بر روی پروژه اصلی این دوره را شروع می‌کنیم که یک برنامه موسیقی است! موسیقی را بدون وقفه آپلود، مدیریت و گوش کنید. از TailwindCSS برای طراحی یک برنامه مدرن و زیبا استفاده خواهیم کرد. این ابزار جدیدی است که جامعه توسعه‌دهندگان فرانت‌اند آن را پذیرفته است. پس از آن، با استفاده از کتابخانه رسمی مدیریت وضعیت، یعنی PINIA (که جایگزین Vuex در کدنویسی‌های جدیدتر می‌شود)، مدیریت وضعیت را یاد می‌گیریم.

۹. پروژه اصلی: اعتبارسنجی فرم (Master Project: Form Validation):

در این بخش، برای جلوگیری از ارسال داده‌های نامعتبر، اعتبارسنجی فرم را انجام می‌دهیم. اشتباهات رخ می‌دهند. وظیفه ما اطمینان از بررسی این اشتباهات است. یاد می‌گیریم چگونه برای سناریوهای مختلف قوانین را اعمال کنیم.

۱۰. پروژه اصلی: احراز هویت (Master Project: Authentication):

در این بخش، احراز هویت و ثبت نام را آغاز می‌کنیم. کاربران بلافاصله پس از ثبت نام برای حساب کاربری خود قادر به ورود خواهند بود. از Firebase به عنوان یک راه‌حل Backend برای مدیریت و تأیید کاربران استفاده خواهیم کرد.

۱۱. پروژه اصلی: مسیریابی (Master Project: Routing):

در این بخش، مسیریابی را با کتابخانه Vue Router مدیریت می‌کنیم. در زیر، کتابخانه مسیریاب از history API برای مدیریت ناوبری استفاده می‌کند. این به ما امکان می‌دهد بدون بارگذاری مجدد دارایی‌ها بین صفحات جابجا شویم. بررسی خواهیم کرد که چگونه می‌توانیم از این کتابخانه برای محافظت از routes، اضافه کردن فیلدهای meta و سفارشی‌سازی ظاهر سایت بر اساس route فعلی استفاده کنیم.

۱۲. پروژه اصلی: آپلود فایل (Master Project: Uploading Files):

در این بخش، شروع به آپلود فایل‌ها در Firebase می‌کنیم. اعتبارسنجی فایل‌ها با Firebase حیاتی است. نمی‌خواهیم کاربران هنگام گوش دادن به موسیقی، فایل مخربی را دانلود کنند. نحوه اعمال اعتبارسنجی با قوانین Firebase را پوشش می‌دهیم. پس از آن، اطلاعات اضافی را در یک پایگاه داده ذخیره می‌کنیم. حتی راه‌حل جایگزینی را در صورتی که drag n drop در دسترس نباشد، پوشش می‌دهیم.

۱۳. پروژه اصلی: پخش موسیقی (Master Project: Playing Music):

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

۱۴. پروژه اصلی: دایرکتیو‌ها (Master Project: Directives):

در این بخش، به طور خلاصه در مورد نوشتن دایرکتیوهای سفارشی یاد می‌گیریم. دایرکتیوها صفاتی هستند که می‌توانند یک عنصر را با خصوصیات و متدهای اضافی گسترش دهند. مبانی را پوشش داده و به مفاهیم پیشرفته مانند modifiers و arguments نگاهی می‌اندازیم.

۱۵. پروژه اصلی: بین‌المللی‌سازی (Master Project: Internationalization):

در این بخش، بین‌المللی‌سازی را به یک پروژه برای ترجمه آن به چندین زبان اضافه می‌کنیم. راه‌های مختلفی برای ترجمه پیام وجود دارد. برخی پیام‌ها نیاز به قالب‌بندی یا شمارش دارند. همچنین می‌توانیم اعداد (مانند ارزها) را ترجمه کنیم. بررسی می‌کنیم که چگونه با چند خط کد بین زبان‌ها جابجا شویم.

۱۶. پروژه اصلی: PWA (Master Project: PWA):

وب به سمت رویکرد mobile-first تغییر جهت داده است. در این بخش، ویژگی‌های PWA (Progressive Web App) را برای دوستانه کردن برنامه با موبایل با استفاده از Workbox برای کش کردن فایل‌ها و ذخیره داده‌ها با Firebase اضافه می‌کنیم.

۱۷. پروژه اصلی: بهینه‌سازی‌ها (Master Project: Optimizations):

در این بخش، قبل از ارسال برنامه به Production، بهینه‌سازی‌های نهایی را انجام می‌دهیم. تکنیک‌ها و ابزارهای مختلفی را بررسی خواهیم کرد که به ما در تنظیم دقیق برنامه کمک می‌کنند. می‌توانیم از Vite برای chunk کردن فایل‌ها و ثبت خودکار کامپوننت‌ها استفاده کنیم. ویژگی‌هایی را برای کمک به کاربر برای درک اینکه برنامه در حال پردازش یک درخواست است، برای تجربه کاربری دوستانه اضافه خواهیم کرد.

۱۸. پروژه اصلی: استقرار (Master Project: Deployment):

در این بخش، برنامه خود را با یک دستور ساده در Vercel مستقر می‌کنیم! سریع و آسان.

۱۹. پروژه اصلی: تست (Master Project: Testing):

در این بخش، نحوه تست یک پروژه با Vitest را مورد بحث قرار می‌دهیم. Unit testing به ما امکان می‌دهد یک ویژگی را به صورت مجزا تست کنیم. این رایج‌ترین نوع تستی است که خواهید نوشت. چند مشکل در تست وجود دارد که با mocking قابل حل است. با mock کردن کد، می‌توانیم ویژگی‌ها را ایزوله کرده و آن‌ها را تست کنیم. پس از آن، به سمت snapshot testing و E2E testing برای جمع‌بندی همه چیز می‌رویم.

۲۰. Composition API:

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

این دوره صرفاً کدنویسی همگام بدون درک اصول نیست تا پس از پایان دوره، کاری جز تماشای یک آموزش دیگر نداشته باشید. خیر! این دوره شما را به چالش می‌کشد تا از یک مبتدی مطلق در Vue به کسی تبدیل شوید که در ۱۰٪ برتر توسعه‌دهندگان Vue قرار دارد.

با اطمینان کامل می‌گوییم که این جامع‌ترین دوره آنلاین Vue JS است! طرح کلی دوره را ببینید تا تمام موضوعاتی که پوشش خواهیم داد، تمام پروژه‌هایی که خواهیم ساخت، و تمام تکنیک‌هایی که برای تبدیل شدن به یک توسعه‌دهنده برتر Vue یاد خواهید گرفت را مشاهده کنید!

شما را در دوره می‌بینیم!

مدرسان:

Andrei Neagoie مدرس دوره‌های توسعه با بالاترین امتیاز در Udemy و یکی از سریع‌ترین رشدها است. فارغ‌التحصیلان او در بزرگترین شرکت‌های فناوری جهان مانند Apple، Google، Amazon، JP Morgan، IBM، UNIQLO و غیره مشغول به کار شده‌اند. او سال‌ها به عنوان توسعه‌دهنده نرم‌افزار ارشد در Silicon Valley و Toronto فعالیت کرده است و اکنون تمام آموخته‌های خود را برای آموزش مهارت‌های برنامه‌نویسی به کار می‌گیرد تا به شما در کشف فرصت‌های شغلی شگفت‌انگیزی که توسعه‌دهندگی در زندگی فراهم می‌کند، کمک کند.

با توجه به اینکه خودش برنامه‌نویسی را به صورت خودآموز یاد گرفته، متوجه می‌شود که تعداد دوره‌ها، آموزش‌ها و کتاب‌های آنلاین بیش از حد پرحرف و ناکافی برای آموزش مهارت‌های صحیح وجود دارد. بیشتر افراد در یادگیری یک موضوع پیچیده فلج می‌شوند و نمی‌دانند از کجا شروع کنند، یا بدتر از آن، بیشتر افراد ۲۰,۰۰۰ دلار برای بوت‌کمپ برنامه‌نویسی ندارند. مهارت‌های برنامه‌نویسی باید مقرون به صرفه و در دسترس همه باشند. مواد آموزشی باید مهارت‌های واقعی و به‌روز را آموزش دهند و نباید وقت ارزشمند دانشجو را تلف کنند. او با یادگیری درس‌های مهم از کار در شرکت‌های Fortune 500، استارتاپ‌های فناوری، و حتی راه‌اندازی کسب‌وکار خودش، اکنون تمام وقت خود را به آموزش مهارت‌های ارزشمند توسعه نرم‌افزار به دیگران اختصاص داده است تا کنترل زندگی خود را به دست گیرند و در صنعتی هیجان‌انگیز با امکانات بی‌نهایت کار کنند.

Andrei به شما قول می‌دهد که هیچ دوره دیگری به این جامعیت و با این کیفیت توضیح داده نشده است. او معتقد است که برای یادگیری هر چیزی ارزشمند، باید از فونداسیون شروع کرد و ریشه‌های درخت را توسعه داد. تنها از آنجا می‌توانید مفاهیم و مهارت‌های خاص (برگ‌ها) را که به فونداسیون متصل می‌شوند، یاد بگیرید. یادگیری وقتی به این شکل ساختاریافته باشد، تصاعدی می‌شود.

با بهره‌گیری از تجربه خود در روانشناسی آموزشی و کدنویسی، دوره‌های Andrei شما را در درک موضوعات پیچیده ای راهنمایی می‌کنند که هرگز فکر نمی‌کردید ممکن باشد.

شما را در دوره‌ها می‌بینیم!

Luis Ramirez Jr یک مهندس نرم‌افزار با یک دهه تجربه در توسعه برنامه‌های وب است. او حرفه خود را صرف معماری راه‌حل‌های قابل اعتماد، آزمایش شده در نبرد، امن، مقیاس‌پذیر و کارآمد کرده است. به عنوان یک مهندس، اولویت همیشه توسعه برنامه‌هایی است که تجربه کاربری روان را ارائه می‌دهند.

بیشتر دوره‌ها "چگونه" را آموزش می‌دهند، اما هرگز "چرا" را آموزش نمی‌دهند. Luis معتقد است که درک مفاهیم برنامه‌نویسی هسته‌ای و حیاتی شما را به یک مهندس رقابتی در بازار امروز تبدیل می‌کند. او اینجاست تا با شفاف‌سازی مفاهیم سطح پایین که ممکن است مدرسان دیگر به سادگی از آن‌ها عبور کنند، شما را در این مسیر یاری کند.

دانشجویان با دانش لازم برای غلبه بر هر وظیفه‌ای با مهارت‌های تفکر انتقادی و توانایی برقراری ارتباط مؤثر با هم‌تیمی‌ها، دوره را ترک خواهند کرد.


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

مقدمه Introduction

  • مرور کلی دوره Course Outline

  • به کلاس آنلاین ما بپیوندید! Join Our Online Classroom!

  • تمرین: با همکلاسی ها و مدرس خود آشنا شوید Exercise: Meet Your Classmates and Instructor

  • Vue در مقابل React در مقابل Angular Vue vs React vs Angular

  • API ترکیب در مقابل API گزینه‌ها Composition vs. Options API

  • منابع کامل دوره + کد Complete Course Resources + Code

  • اختیاری: مستند ویو Optional: Vue Documentary

  • منابع ZTM ZTM Resources

  • چالش‌های کدنویسی ماهانه، منابع و راهنماهای رایگان Monthly Coding Challenges, Free Resources and Guides

مبانی ویو Vue Fundamentals

  • شروع کار Getting Started

  • ابزارهای توسعه ویو Vue Dev Tools

  • کار با داده‌ها Working with Data

  • نمونه‌های ویوی متعدد Multiple Vue Instances

  • دسترسی به داده‌های نمونه Accessing the Instance Data

  • متدها Methods

  • دستورالعمل‌ها Directives

  • اتصال داده دو طرفه Two-way data binding

  • اتصال خصوصیات Binding Attributes

  • نمایش HTML خام Outputting Raw HTML

  • گوش دادن به رویدادها Listening to Events

  • انتقال داده با رویدادها Passing on Data with Events

  • اصلاح کننده‌های رویداد Event Modifiers

  • رویدادها و اصلاح کننده‌های صفحه کلید Keyboard Events and Modifiers

  • اصلاح کننده‌های v-model v-model Modifiers

  • خصوصیات محاسبه شده Computed Properties

  • ناظران Watchers

  • اتصال کلاس‌ها Binding Classes

  • اتصال سبک‌ها Binding Styles

  • رندر شرطی Conditional Rendering

  • دستورالعمل v-show The v-show Directive

  • رندر لیست List Rendering

  • درک نقش خصوصیت کلید Understanding the role of the key attribute

  • توسعه دهنده وب ماهانه Web Developer Monthly

  • تایید در لینکدین Endorsements On LinkedIN

پروژه ۱: زمین بازی پرسپکتیو Project 1: Perspective Playground

  • ایجاد یک زمین بازی پرسپکتیو Creating a Perspective Playground

  • کپی به کلیپ بورد Copying to the Clipboard

  • تمرین اضافی: دکمه کپی Extra Exercise: Copy Button

ویو: فراتر از مبانی Vue: Beyond the Fundamentals

  • نصب نمونه ویو Mounting the Vue Instance

  • درک هوک‌های چرخه عمر Understanding Lifecycle Hooks

  • استفاده از هوک‌های چرخه عمر Using Lifecycle Hooks

  • DOM مجازی Virtual DOM

  • درک واکنش‌پذیری با پروکسی‌ها Understanding Reactivity with Proxies

  • کامپایلر ویو The Vue Compiler

  • مقدمه اجزا Introduction to Components

محیط توسعه ویو Vue Developer Environment

  • مرور کلی Overview

  • ویدیوهای اختیاری در پیوست Optional Videos In Appendix

  • مقدمه Vite Introduction to Vite

  • بررسی Vite Exploring Vite

  • درک SASS Understanding SASS

  • PostCSS PostCSS

  • نصب ESLint Installing ESLint

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

  • Webpack Webpack

  • نتیجه‌گیری Conclusion

اجزای پیشرفته ویو Advanced Vue Components

  • اسکلت بندی یک پروژه ویو Scaffolding a Vue Project

  • نوار کناری: درک سرورها Sidebar: Understanding Servers

  • مرور فایل‌ها Reviewing the Files

  • ایجاد اجزا Creating Components

  • اجزای فرزند Child Components

  • سبک‌های اجزا Component Styles

  • استفاده از SASS در اجزا Using SASS in Components

  • ارتباط بین اجزا Communicating Between Components

  • Props Props

  • محدودیت‌های Props The Limitations of Props

  • انتشار رویدادها Emitting Events

  • اعتبارسنجی Props Validating Props

  • توابع بازگشتی Callback Functions

  • درج محتوا با اسلات‌ها Inserting content with slots

  • اسلات‌های نامگذاری شده Named Slots

انتقال‌ها و انیمیشن‌ها Transitions & Animations

  • اجزای پویا Dynamic Components

  • انیمیشن با انتقال‌های CSS Animating with CSS Transitions

  • تنظیم دقیق انتقال‌ها Fine-tuning Transitions

  • انیمیشن با انیمیشن‌های CSS Animating with CSS Animations

  • انیمیشن با جاوا اسکریپت Animating with JavaScript

  • انیمیشن زوم جاوا اسکریپت JavaScript Zoom Animation

  • انتقال‌های CSS و جاوا اسکریپت CSS and JavaScript Transitions

  • انیمیشن یک لیست Animating a List

  • رفع انیمیشن Fixing the Animation

  • نام کلاس‌های CSS انتقال Transition CSS Class Names

پروژه ۲: اپلیکیشن کوئیز ویو Project 2: Vue Quiz App

  • راه‌اندازی برنامه کوئیز Setting up the Quiz Application

  • نمایش سوالات Rendering the Questions

  • حرکت بین سوالات Moving between Questions

  • لمس نهایی Finishing Touches

  • تمرین: سندرم ایمپوستر Exercise: Imposter Syndrome

پروژه اصلی: مقدمه پینیا Master Project: Introduction to Pinia

  • گام بعدی The Next Step

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

  • مرور فایل‌ها Reviewing the Files

  • قالب‌بندی با ESLint و Prettier Formatting with ESLint and Prettier

  • افزودن الگو Adding the Template

  • Tailwind چیست؟ What is Tailwind?

  • نصب Tailwind Installing Tailwind

  • تمرین با Tailwind Practicing with Tailwind

  • بارگذاری دارایی‌ها Loading Assets

  • درک وضعیت Understanding State

  • مرور پیکربندی Pinia Reviewing the Pinia Configuration

  • تقسیم الگو به اجزا Splitting the Template into Components

  • غیرفعال کردن قوانین ویو Disabling Vue’s Rules

  • کار با وضعیت Working with State

  • توابع نگاشت جایگزین Alternative Mapping Functions

  • درک Getterها Understanding Getters

  • استفاده از Getterها Using Getters

  • بستن مودال Closing the Modal

  • نام‌های مستعار Aliases

  • افزودن تب‌ها Adding Tabs

پروژه اصلی: اعتبارسنجی فرم Master Project: Form Validation

  • راه‌اندازی اعتبارسنجی فرم Setting up Form Validation

  • ثبت یک پلاگین Registering a Plugin

  • اجزای اعتبارسنجی Validation Components

  • تعریف قوانین Defining Rules

  • اعمال قوانین Applying Rules

  • قوانین اضافی Additional Rules

  • اعتبارسنجی ایمیل‌ها Validating Emails

  • اعتبارسنجی اعداد Validating Numbers

  • اعتبارسنجی رمزهای عبور Validating Passwords

  • فیلدهای کشویی و چک باکس Dropdown and Checkbox Fields

  • اعتبارسنجی فرم Validating the Form

  • نوار کناری: خصوصیات اسلات Sidebar: Slot Properties

  • نمایش چندین پیام خطا Rendering Multiple Error Messages

  • مقادیر پیش‌فرض Default Values

  • پیام‌های خطای سفارشی Custom Error Messages

  • محرک‌های اعتبارسنجی Validation Triggers

  • نمایش هشدارها Showing Alerts

  • راه‌اندازی فرم ورود Setting up the Login Form

پروژه اصلی: احراز هویت Master Project: Authentication

  • درک احراز هویت Understanding Authentication

  • مرور قوانین Reviewing the Rules

  • راه‌اندازی Firebase SDK Setting up the Firebase SDK

  • ثبت نام کاربر User Registration

  • رسیدگی به پاسخ Handling the Response

  • صادرات خدمات Exporting Services

  • ذخیره اطلاعات فرم کاربر Storing the User Form Data

  • تمرین اضافی: افزودن فیلد دیگر Extra Exercise: Add Another Field

  • درک احراز هویت Understanding Authentication

  • ورود کاربر پس از ثبت نام Logging the user in after Signup

  • درک اکشن‌ها Understanding Actions

  • استفاده از اکشن‌ها Using Actions

  • ارتباط کاربر با داده‌هایش Connecting the User with their Data

  • راه‌اندازی اولیه Firebase Initializing Firebase First

  • ماندگاری احراز هویت کاربر Persisting the User Authentication

  • راه‌اندازی ورود Setting up the Login

  • خروج Signing Out

  • نوار کناری: توکن‌های وب JSON Sidebar: JSON Web Tokens

پروژه اصلی: مسیریابی Master Project: Routing

  • درک مسیریابی Understanding Routing

  • مرور پیکربندی مسیریاب Reviewing the Router Configuration

  • ایجاد مسیرها Creating Routes

  • حالت تاریخچه History Mode

  • ناوبری با لینک‌ها Navigating with Links

  • لینک‌های سفارشی Custom Links

  • سبک‌های Tailwind برای لینک‌های فعال Tailwind Styles for Active Links

  • نامگذاری مسیرها Naming Routes

  • راه‌اندازی مسیرهای "Catch-All" و هدایت مجدد Setting up “Catch-All” and Redirect Routes

  • نام مستعار مسیر Route Alias

  • مسیرهای نگهبان Guarding Routes

  • نگهبانان خاص مسیر Route Specific Guards

  • مسیرهای نگهبان فقط احراز هویت Guarding Authentication Only Routes

  • هدایت مجدد پس از خروج از حساب Redirecting after Logging Out

  • فیلدهای متای مسیر Route Meta Fields

پروژه اصلی: بارگذاری فایل‌ها Master Project: Uploading Files

  • آماده‌سازی کامپوننت بارگذاری Preparing the Upload Component

  • مدیریت رویدادهای کشیدن و رها کردن Handling Drag and Drop Events

  • مدیریت فایل Handling the File

  • فعال کردن سرویس ذخیره‌سازی Firebase Enabling Firebase’s Storage Service

  • بارگذاری فایل‌ها با Firebase Uploading Files with Firebase

  • قوانین و اعتبارسنجی Firebase Firebase Rules and Validation

  • افزودن نوار پیشرفت Adding the Progress Bar

  • پویایی نوار پیشرفت Making the Progress Bar Dynamic

  • بهبود نوار پیشرفت Improving the Progress Bar

  • رسیدگی به خطاها و بارگذاری‌های موفق Handling Errors and Successful Uploads

  • ذخیره داده‌های فایل در پایگاه داده Storing the File Data in the Database

  • مراجع و اسنپ‌شات‌های Firebase Firebase References and Snapshots

  • بارگذاری جایگزین Fallback Upload

  • لغو بارگذاری‌ها Canceling Uploads

  • لغو بارگذاری‌ها با مراجع Cancelling Uploads with Refs

  • یک نکته دیگر در مورد مراجع One more thing about References

  • جستجو در پایگاه داده Querying the Database

  • ذخیره لیست آهنگ‌ها Storing the List of Songs

  • نمایش لیست آهنگ‌ها Displaying the List of Songs

  • اعتبارسنجی Prop Prop Validation

  • تغییر وضعیت فرم Toggling the Form

  • اعتبارسنجی فرم آهنگ Validating the Song Form

  • ویرایش آهنگ Editing a Song

  • حذف آهنگ از فضای ذخیره‌سازی/پایگاه داده Deleting a Song from the Storage/Database

  • به‌روزرسانی لیست آهنگ‌ها پس از بارگذاری Updating the list of songs after an Upload

  • نگهبانان ترک مسیر Router Leave Guards

پروژه اصلی: پخش موسیقی Master Project: Playing Music

  • ایجاد صفحه اصلی Creating the Home Page

  • بررسی موقعیت اسکرول Checking the Scroll Position

  • اسکرول بی‌پایان Infinite Scrolling

  • پارامترهای مسیر Path Parameters

  • ایجاد الگوی آهنگ Creating the Song Template

  • اعتبارسنجی کامنت Validating the Comment

  • آماده‌سازی فرم Prepping the Form

  • نهایی کردن فرم کامنت Finalizing the Comment Form

  • نمایش کامنت‌ها Displaying the Comments

  • به‌روزرسانی لیست کامنت‌ها Updating the Comments List

  • پارامترهای کوئری Query Parameters

  • شناسایی پارامترهای کوئری Detecting Query Parameters

  • به‌روزرسانی تعداد کامنت‌ها Updating the Comment Count

  • ذخیره آهنگ در وضعیت Storing the song in the State

  • پخش صدا Playing Audio

  • تغییر وضعیت صدا Toggling Audio

  • مدت زمان و موقعیت فعلی Duration and Current Position

  • قالب‌بندی زمان Formatting the Time

  • نوار پیشرفت پخش کننده Player Progress Bar

  • تغییر موقعیت صدا Changing the Audio Position

  • تمرین اضافی: به‌روزرسانی دکمه "پخش" Extra Exercise: Update the "play" Button

  • ایجاد لینک‌ها با فرگمنت‌های هش Creating links with Hash Fragments

  • انتقال‌های مسیر Route Transitions

پروژه اصلی: دستورالعمل‌ها Master Project: Directives

  • مقدمه دستورالعمل‌ها Introduction to Directives

  • نوشتن اولین دستورالعمل ما Writing our First Directive

  • ارسال مقادیر به دستورالعمل‌ها Passing Values to Directives

  • اصلاح کننده‌های دستورالعمل Directive Modifiers

  • ثبت محلی یک دستورالعمل Registering a Directive Locally

پروژه اصلی: بین‌المللی‌سازی Master Project: Internationalization

  • مقدمه i18n Introduction to i18n

  • اولین ترجمه ما Our First Translation

  • قالب‌بندی و جمع‌بندی Formatting and Pluralization

  • بومی‌سازی اعداد Number Localizations

  • ترجمه HTML با درون‌یابی کامپوننت Translating HTML with Component Interpolation

  • تغییر زبان‌ها Changing Locales

  • تمرین: ترجمه بقیه اپلیکیشن Exercise: Translating the Rest of the App

پروژه اصلی: PWA (برنامه وب پیشرفته) Master Project: PWA (Progressive Web App)

  • برنامه‌های وب پیشرفته چیستند؟ What are Progressive Web Apps?

  • فایل Manifest The Manifest File

  • ایجاد فایل Manifest Generating the Manifest File

  • پیکربندی فایل Manifest Configuring the Manifest File

  • پشتیبانی آفلاین با سرویس ورکرها Offline Support with Service Workers

  • درک کش کردن Understanding Caching

  • Workbox Workbox

  • ماندگاری داده Firebase Firebase Data Persistence

  • مدیریت بارگذاری‌های آفلاین Handling Offline Uploads

پروژه اصلی: بهینه‌سازی‌های عملکرد Master Project: Performance Optimizations

  • مرور کلی Overview

  • ثبت خودکار کامپوننت‌های سراسری Auto-Registering Global Components

  • عملکرد درک شده Perceived Performance

  • واردات مسیر پویا Dynamic Route Imports

  • نوار پیشرفت Progress Bar

  • پوشش کد Code Coverage

  • تجسم کننده Rollup Rollup Visualizer

پروژه اصلی: استقرار + تولید Master Project: Deployment + Production

  • استقرار یک اپلیکیشن با Vercel Deploying an App with Vercel

  • اشتراک گذاری پروژه شما Sharing Your Project

پروژه اصلی: تست اپلیکیشن ویو شما Master Project: Testing Your Vue App

  • مقدمه تست Introduction to Testing

  • مقدمه Vitest Introduction to Vitest

  • افزودن رابط کاربری Vitest Adding the Vitest UI

  • نوشتن اولین تست ما Writing Our First Test

  • نصب با Vue Test Utils Mounting with Vue Test Utils

  • تست محتوای داخلی Testing the Inner Content

  • ارسال داده به کامپوننت‌ها Passing Data to Components

  • کامپوننت‌های استاب شده Stubbing Components

  • از ادعاهای بولی اجتناب کنید Avoid Boolean Assertions

  • تست کامپوننت‌های فرزند Testing Children Components

  • شبیه‌سازی متدها Mocking Methods

  • تست خصوصیات Testing Attributes

  • تست اکشن‌های Pinia Testing Pinia Actions

  • شبیه‌سازی Promiseها Mocking Promises

  • تست کامپوننت‌های مسیریاب Testing Router Components

  • تست اسنپ‌شات Snapshot Testing

  • مرور کلی تست E2E E2E Testing Overview

  • نوشتن یک تست E2E Writing an E2E Test

API کامپوزیشن Composition API

  • API کامپوزیشن The Composition API

  • میکسین‌ها Mixins

  • مراجع واکنشی Reactive References

  • تابع واکنشی The Reactive Function

  • ناظران و خصوصیات محاسبه شده Watchers and Computed Properties

  • توابع چرخه عمر Lifecycle Functions

  • Props Props

  • مراجع الگو Template Refs

  • انتشار رویدادها Emitting Events

  • مزایای API کامپوزیشن Advantages of the Composition API

  • هوک‌های مسیریاب Router Hooks

  • هوک‌های Pinia Pinia Hooks

  • تأیید واکنش‌پذیری Verifying Reactivity

  • خصوصیت setup The setup Attribute

الگوهای طراحی کامپوننت Component Design Patterns

  • مرور کلی بخش Section Overview

  • کامپوننت‌های کنترل شده Controlled Components

  • جداسازی دغدغه‌ها Separation of Concerns

  • کتابخانه‌های شخص ثالث به عنوان کامپوننت‌های کنترل شده Third-Party Libraries as Controlled Components

  • فراتر از سیستم رویداد ویو Moving Beyond Vue’s Event System

  • کپسوله کردن اسکرول Encapsulating Scrolling

  • کامپوننت Teleport The Teleport Component

از اینجا به بعد کجا برویم؟ Where To Go From Here?

  • ممنون! Thank You!

  • دانشجوی فارغ التحصیل شوید Become An Alumni

  • تاییدیه در لینکدین Endorsements On LinkedIn

  • راهنمای یادگیری Learning Guideline

  • چالش‌های کدنویسی Coding Challenges

  • مرور دوره Course Review

  • چالش نهایی The Final Challenge

پیوست: موارد اضافی Appendix: Extra Bits

  • نکته سریع: ویدیوهای آینده Quick Note: Upcoming Videos

  • فقط برای کاربران ویندوز For WINDOWS Users ONLY

  • استفاده از ترمینال/خط فرمان Using The Terminal/Command Prompt

  • اجرای script.js در Node Running script.js In Node

  • ماژول‌ها در Node Modules In Node

  • ماژول‌های ES6؟ ES6 Modules??

  • ماژول‌های ES6 در Node ES6 Modules In Node

  • انواع ماژول‌ها Types of Modules

بخش جایزه BONUS SECTION

  • درس جایزه ویژه Special Bonus Lecture

نمایش نظرات

آموزش بوت‌کمپ کامل توسعه‌دهنده ویو (پینیا، وای‌تست)
جزییات دوره
28 hours
287
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
18,337
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Luis Ramirez Jr Luis Ramirez Jr

مدرس مهندس نرم افزار Frontend

Andrei Neagoie Andrei Neagoie

بنیانگذار zerotomastery.io