آموزش Svelte و SvelteKit - راهنمای کامل [بروزرسانی 2025]
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- همه موارد را درباره Svelte از ابتدا یاد میگیرید.
- همه موارد را درباره SvelteKit یاد میگیرید.
- با استفاده از SvelteKit یک وب اپلیکیشن فولاستک با عملکرد بالا میسازید.
- اپلیکیشنهایی میسازید که بدون فعال بودن JavaScript هم کار میکنند.
پیشنیازهای دوره
- آشنایی با JavaScript الزامی است.
- آشنایی پایه با TypeScript ترجیح داده میشود.
- در برخی بخشها، آشنایی پایه با SQL ترجیح داده میشود.
توضیحات دوره
Svelte فریمورک JavaScript است که به شما امکان میدهد کامپوننتهای مبتنی بر state بسازید. اما چیزی که Svelte را از فریمورکهای دیگری مانند Angular و React و Vue متمایز میکند این است که Svelte یک کامپایلر است. Svelte در زمان بیلد اجرا میشود. یعنی کد Svelte شما در زمان بیلد به کدی اعلامی و بسیار بهینه تبدیل میشود که در مرورگر اجرا میشود تا عملیاتهای DOM را انجام دهد. فریمورکهای معروف دیگر معمولاً از تکنیکی به نام DOM مجازی برای تصمیمگیری درباره نحوه بروزرسانی DOM استفاده میکنند. این تکنیک در ران تایم داخل مرورگر اجرا میشود و همین موضوع سربار بیشتری به محاسبات DOM اضافه میکند.
در این دوره، همه موارد را درباره Svelte از ابتدا یاد میگیریم. کار را با مبانی واکنشگرایی مبتنی بر سیگنال شروع میکنیم و سپس کامپوننتهای ساده میسازیم. بعد به تدریج پیش میرویم، کامپوننتهای پیچیدهتر ایجاد کرده و ویژگیهای پیشرفتهتر را عمیقتر بررسی میکنیم.
و در حالی که Svelte ابزار بسیار خوبی برای ساخت کامپوننتهای وب است، ساخت یک اپلیکیشن کامل فولاستک فقط با Svelte کار سادهای نیست. به همین دلیل SvelteKit را داریم. SvelteKit یک فریمورک برای توسعه سریع وب اپلیکیشنهای قدرتمند و پربازده است. SvelteKit به صورت آماده امکاناتی مانند مسیریابی، رندرینگ سمت سرور، پیش رندرینگ و موارد دیگر را در اختیار ما میگذارد. این فریمورک ساختاری به ما میدهد که میتوانیم از آن برای ساخت اپلیکیشنهای با عملکرد بالا، رندر شده سمت سرور و پیشرونده پیروی کنیم.
در این دوره، همه موارد را درباره SvelteKit یاد میگیریم. ما درباره صفحات، طرحبندیها، بارگذاری داده، هوکها، مدیریت خطا، متغیرهای محیطی، پیش رندرینگ، اکشنهای فرم کاملا پیشرونده و موارد دیگر صحبت خواهیم کرد.
همچنین از ابزارهایی مثل PostgreSQL و Drizzle ORM برای مدیریت پایگاه داده و از BetterAuth و CASL برای احراز هویت و مجوزدهی استفاده خواهیم کرد.
پس اگر میخواهید با Svelte و SvelteKit وب اپلیکیشنهای پربازده بسازید، همین حالا به دوره بپیوندید.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان JavaScript و Front-end که میخواهند همه موارد را درباره ساخت وب کامپوننتها با Svelte یاد بگیرند.
- توسعهدهندگان فولاستک که به دنبال ساخت اپلیکیشنهای با عملکرد بالا و رندر شده سمت سرور با SvelteKit هستند.
آموزش Svelte و SvelteKit - راهنمای کامل [بروزرسانی 2025]
-
پیش از شروع کار 02:34
-
Svelte چیست؟ 14:49
-
Svelte در برابر React 05:34
-
Svelte در برابر SvelteKit و ایجاد پروژه جدید SvelteKit 06:38
-
توابع خالص 02:12
-
صف Microtask 07:03
-
مبانی کامپوننت Svelte 07:05
-
افزودن واکنشگرایی به کامپوننت ما 05:17
-
بررسی عمیق واکنشگرایی مبتنی بر سیگنال 15:05
-
بررسی عمیق واکنشگرایی مبتنی بر سیگنال (ادامه) 06:59
-
مطالب بیشتر درباره state مشتق شده 15:24
-
از افکتها برای استخراج مقادیر استفاده نکنید 07:22
-
ممکن است نیازی به استفاده از افکتها نداشته باشید 07:21
-
$effect.pre و توابع چرخه عمر 11:25
-
استفاده از افکتها برای ساخت یک کامپوننت شمارنده 18:10
-
مقدمهای بر اسنیپتها 05:51
-
ارسال اسنیپتها به کامپوننتها به عنوان Props 09:29
-
ارسال آرگومانها به اسنیپتهای کامپوننت 05:10
-
استفاده از SASS و Class Directive 06:32
-
بروزرسانی - قابلیتهای جدید ویژگی کلاس 07:06
-
گسترش ویژگیهای عنصر دکمه HTML 03:06
-
استفاده از Style Directive 04:58
-
سلکتور گلوبال CSS 10:00
-
ارسال متغیرهای CSSا به عنوان Prop 02:54
-
ارسال رویدادها و رویدادهای سفارشی 03:41
-
Bubbling، ضبط و Delegation رویداد 04:32
-
تعامل برنامهای با کامپوننت از طریق Component Exports 06:32
-
رندرینگ پویا با <svelte:element /> 06:25
-
پروکسیهای JavaScript و Setter و Getter آبجکت 12:46
-
واکنشگرایی عمیق state در Svelte 14:02
-
اشکالزدایی در Svelte 07:19
-
نمایش لیست داده (حلقههای each و تگهای @const) 12:11
-
مدیریت صحیح حذف عناصر از یک آرایه 05:01
-
state خام و غیرقابلتغییر 05:22
-
کامپوننت Spreadsheet: مقداردهی اولیه و توابع Helper 05:58
-
کامپوننت Spreadsheet: رندرینگ یک جدول با سلولها و مقادیر 16:52
-
کامپوننت Spreadsheet: انتخاب و ویرایش سلولها 11:47
-
کامپوننت Spreadsheet: بروزرسانی مقادیر سلولها 06:31
-
کامپوننت Spreadsheet: مدیریت توابع SUM و MULTIPLY 14:31
-
کامپوننت Spreadsheet: اتصال Prop داده با ()bindable$ 05:21
-
کامپوننت Spreadsheet: تغییر رنگ پسزمینه و رنگ فونت سلول 08:10
-
کامپوننت Spreadsheet: خلاصه 04:25
-
مقداردهی اولیه کامپوننت مبدل ارز 13:40
-
استخراج مقادیر پایه و هدف با استفاده از افکتها 06:46
-
استخراج مقادیر پایه و هدف با استفاده از Callbacks 13:07
-
ایجاد یک Writable Derived با Setters و Getters آبجکت 10:13
-
واکشی داده ارز از یک API و استفاده از بلوک {#await} 15:01
-
مقدمهای بر کلاسهای واکنشگرا 06:32
-
کپسولهسازی مبدل ارز ما در یک کلاس واکنشگرا 16:15
-
سفارشیسازی Setter و Getter برای ویژگیهای کلاس state 12:20
-
راهحل تمرین 05:58
-
تبدیل کلاس ما به یک کلاس قابل استفاده مجدد و افزودن قابلیتهای بیشتر 07:26
-
کلاسهای واکنشگرای داخلی 06:16
-
مقدمهای بر واکنشگرایی جهانی 02:42
-
استخراج منطق در یک تابع 10:58
-
استخراج منطق با کلاسها 04:25
-
اشتراکگذاری state با استفاده از Setter و Getter آبجکت 10:09
-
اشتراکگذاری state با استفاده از کلاسها 01:50
-
اشتراکگذاری state با پروکسی 06:10
-
تعریف افکتها به صورت گلوبال برای state مشترک 05:31
-
پایداری state مشترک در LocalStorage با افکتها 06:57
-
()effect.tracking$ 01:55
-
استفاده از createSubscriber برای ردیابی موقعیت اسکرول 10:58
-
createSubscriber چگونه کار میکند؟ 03:23
-
استفاده از createSubscriber در یک کلاس قابل استفاده مجدد 07:15
-
مقدمهای بر Context API 02:58
-
اشتراکگذاری state اسکوپ شده با Context 11:52
-
مدیریت کامپوننتها بدون Context والد 04:35
-
کپسولهسازی توابع Context 10:34
-
نصب و استفاده امری از Konva 08:01
-
ایجاد کامپوننت Stage در Konva 06:26
-
ایجاد کامپوننت Layer در Konva 12:17
-
ایجاد کامپوننت Rect در Konva 06:03
-
مدیریت رویدادهای Konva 12:41
-
مدیریت بروزرسانی Props 11:09
-
پشتیبانی از Prop Binding 08:17
-
استفاده از Component Exports برای دسترسی به Konva Nodes خارج از کامپوننت 06:16
-
مقدمهای بر اکشنها 12:05
-
اکشن فشردن طولانی 04:49
-
اکشن مربوط به Tippy.js 09:19
-
[بروزرسانی] پیوستها 10:02
-
عناصر ویژه 06:58
-
مرزهای خطا 05:34
-
اتصال ابعاد 02:12
-
اتصال عناصر رسانه 08:14
-
مقدمهای بر Script Module 02:23
-
اشتراکگذاری داده بین نمونههای مختلف کامپوننت 06:04
-
کنترل چند ویدئو با Script Module 10:03
-
دایرکتیو ترنزیشن 06:24
-
انیمیشنسازی Tiers و ایمیجها 07:54
-
ترنزیشنهای Key Block 03:58
-
دایرکتیو Animate و انیمیشنهای FLIP 07:05
-
ترنزیشن Crossfade 07:35
-
ترنزیشنهای سفارشی CSS 11:33
-
ترنزیشنهای سفارشی JavaScript 04:18
-
انیمیشنهای سفارشی 11:35
-
مقدمهای بر SvelteKit 02:06
-
ایجاد یک اپلیکیشن جدید SvelteKit با Tailwind و DaisyUI 06:40
-
بررسی ساختار پوشهها، lib Alias$ و Aliases سفارشی 07:02
-
افزونهها و تنظیمات VSCode 04:15
-
مروری بر صفحات و طرحبندیها 06:29
-
ایجاد مسیرها و ناوبری بین آنها 06:35
-
پارامترهای پویای مسیر 06:13
-
تودرتوسازی صفحات و طرحبندیها 07:13
-
تغییر شرطی طرحبندیها 02:44
-
گروههای طرحبندی 08:08
-
خروج از سلسلهمراتب طرحبندیها 05:21
-
پارامترهای Rest 04:54
-
پارامترهای اختیاری 03:19
-
مچرهای پارامتر 10:41
-
نهاییسازی و پاکسازی گروه Marketing 06:40
-
مروری بر توابع بارگذاری 07:10
-
توابع بارگذاری جهانی 06:11
-
ایمنی تایپها بدون زحمت با تایپهای تولید شده 07:40
-
توابع بارگذاری فقط-سرور 05:55
-
توابع بارگذاری طرحبندی 04:55
-
دسترسی به داده والد در توابع بارگذاری فرزند 05:13
-
ارسال داده از صفحات به طرحبندیها 07:52
-
ایجاد اندپوینتها 08:17
-
مدیریت درخواستهای POST در اندپوینتها 05:36
-
مدیریت صفحات و اندپوینتها در یک مسیر 03:48
-
ارسال درخواستهای fetch در توابع بارگذاری 10:10
-
ارسال کامپوننتهای Svelte از توابع بارگذاری 06:55
-
پیادهسازی صفحهبندی با استفاده از URL Search Params 09:58
-
سازگار کردن محتوای ما بر اساس در دسترس بودن JavaScript 06:43
-
تابع صفحهبندی Load More Posts 12:04
-
ایجاد صفحه پست تک وبلاگ 10:55
-
اجرای موازی درخواستها با Promise.all 02:57
-
استریمینگ داده از توابع بارگذاری سرور به کلاینت 08:50
-
استفاده از beforeNavigate و afterNavigate برای افزودن نوار پیشرفت بارگذاری 08:16
-
مروری بر هوکها 01:50
-
مروری بر هوک Handle 03:07
-
هوک Handle در عمل 10:07
-
آبجکت Locals چیست و چرا نباید مسیرها را در توابع بارگذاری طرحبندی محافظت کنیم؟ 08:31
-
استفاده از هوک Handle و Locals برای احراز هویت 09:22
-
گزینههای تابع resolve 04:36
-
مطالب بیشتر درباره تابع fetch: بررسی filterSerializedResponseHeaders و handleFetch 10:20
-
مدیریت خطاهای مورد انتظار 11:53
-
مدیریت خطاهای غیرمنتظره با هوکها 09:42
-
هوکهای جهانی: reroute و transport 09:38
-
افزودن یک طرحبندی به blog/[id] 03:43
-
وابستگیهای توابع بارگذاری 10:20
-
Invalidation توابع بارگذاری 10:10
-
اجرای دوباره توابع بارگذاری هنگام خطا 08:37
-
گزینههای لینک و پیش بارگذاری کد و داده مسیرها 11:31
-
استفاده از متغیرهای محیطی 14:03
-
ماژولهای فقط سرور 03:51
-
مروری بر ساختار اپلیکیشن و پایگاه داده 09:07
-
راهاندازی Drizzle و اجرای PostgreSQL با Docker 11:46
-
ایجاد و مهاجرت اسکیمای ما 15:00
-
Seed کردن پایگاه داده با داده ساختگی 05:28
-
اولین کوئری ما روی پایگاه داده 06:23
-
کوئری داده طرحبندی اپلیکیشن 18:41
-
نمایش داده طرحبندی واکشی شده 09:05
-
بررسی ساختار Markup مسیر اپلیکیشن 03:44
-
طرحبندی صفحات و فضاهای کاری 19:28
-
طرحبندی صفحات و فضاهای کاری (ادامه) 11:25
-
ایجاد مسیر صفحه 12:01
-
مقدمهای بر اکشنهای فرم 13:15
-
اعتبارسنجی اکشنهای فرم، پیامهای موفقیت و خطا 11:08
-
درج یک فضای کاری جدید در پایگاه داده 13:12
-
بهبود تدریجی ارسال فرم با use:enhance 04:16
-
سفارشیسازی رفتار use:enhance 13:27
-
استفاده از SuperForms و Formsnap برای مدیریت فرمها 14:47
-
استفاده از SuperForms و Formsnap برای مدیریت فرمها (ادامه) 12:57
-
ریفکتور کردن فرم فضای کاری 04:56
-
ویرایش یک فضای کاری 13:07
-
حذف یک فضای کاری 12:16
-
باز کردن مسیرها در یک Modal با مسیریابی سطحی 14:44
-
باز کردن مسیرها در یک Modal با مسیریابی سطحی (ادامه) 08:34
-
مسیریابی سطحی برای مسیر ویرایش فضای کاری 12:49
-
نصب و پیکربندی Better Auth 13:17
-
ایجاد مسیرهای ورود و رجیستر 16:31
-
اکشن رجیستر 14:11
-
ارسال ایمیل اعتبارسنجی با Resend 12:31
-
Populate کردن آبجکت Locals با سشن Better Auth 04:54
-
اکشن لاگین 13:47
-
اکشن خروج از سیستم 07:49
-
ورود با GitHub 12:41
-
نکات پایانی درباره مجوزدهی 03:29
-
انتزاع منطق محافظ لاگین در یک تابع 12:45
-
کوئری دسترسی فضای کاری برای محافظت از مسیر فضای کاری 07:34
-
تعریف مجوزهای فضای کاری با CASL 15:04
-
ریفکتور کردن بررسی دسترسی فضای کاری در یک تابع 07:01
-
افزودن بررسی دسترسی صفحه به تابع ما 11:28
-
استفاده از تابع Access برای محافظت از مسیرها 15:32
-
محافظت از مسیر تنظیمات 08:08
-
محافظت از اکشنهای ویرایش و حذف فضای کاری 05:28
-
محافظت از مسیر صفحه 10:02
-
SSR و CSR و Trailing Slashs 09:51
-
از پیش رندرینگ مسیرها و ساخت و پیشنمایش اپلیکیشن 14:19
-
از پیش رندرینگ اندپوینتها 03:38
-
از پیش رندرینگ مسیرها با داده پویا 08:32
-
از پیش رندرینگ مسیرها با پارامترهای پویا 15:21
-
افزودن محتوای پویا به صفحات از پیش رندر شده 07:24
-
بررسی استقرار و Adapters 04:17
-
راهاندازی پایگاه داده Neon 07:25
-
پیکربندی و اجرای محلی Node Adapter 06:19
-
استقرار Node Server روی fly.io 13:14
-
استقرار روی یک پلتفرم بدون سرور (Vercel) 13:41
مشخصات آموزش
آموزش Svelte و SvelteKit - راهنمای کامل [بروزرسانی 2025]
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:متوسط
- تعداد درس:200
- مدت زمان :28:30:18
- حجم :16.11GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy