13 KiB
13 KiB
مشخصات درسنامه: ساخت اپلیکیشن دسکتاپ چندسکویی؛ انقلاب Tauri سبک در برابر غول Electron
- شناسه در سیلابس:
L15.12 - فصل: فصل ۱۵: تکامل محصول با AI (Ch 15)
- نوع محتوا: 📘 درسنامه متنی
- زمان تقریبی مطالعه: ۲۰ دقیقه
- پیشنیازهای مستقیم:
L15.11(ساخت اپلیکیشن موبایل اندروید و iOS با Capacitor و Expo)
۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
- درک کند (Understand): دلایل تمایل کاربران به استفاده از اپلیکیشنهای دسکتاپ بومی (دسترسی به System Tray، کلیدهای میانبر سیستمی، نوتیفیکیشنهای بومی و کارکرد مستقل از تبهای مرورگر) را شرح دهد.
- تحلیل/ارزیابی کند (Evaluate): معماری سنگین Electron (حمل کامل موتور کرومیوم و نودجیاس با مصرف رم ۳۰۰ مگابایت و حجم بالای ۱۰۰ مگابایت) را در مقایسه با معماری انقلابی Tauri (استفاده از وبویو نیتیو سیستمعامل، مصرف رم ۳۰ مگابایت و خروجی ۵ مگابایتی) ارزیابی کند.
- بهکار ببندد (Apply): ابزار Tauri CLI را در پروژه Next.js راهاندازی کرده و پورتفولیو را در یک پنجره مستقل دسکتاپ با دستور
npx tauri devاجرا نماید. - ایجاد کند (Create): فایل خروجی نصبی واقعی ویندوز (
.exe/.msi) و مک (.dmg) را با یک دستور ساده بیلد تولید کرده و یک آیکون منوی سینی سیستم (System Tray) برای دسترسی سریع به سایت تعبیه کند.
۲. محدوده و مرزهای محتوا (Scope & Boundaries)
آنچه باید پوشش داده شود (In-Scope):
- فراتر از مرورگر: حضور ماندگار روی دسکتاپ ویندوز، مک و لینوکس:
- چرا وقتی میتوانید برای پروژهتان یک برنامه دسکتاپ سبک با آیکون اختصاصی در تسکبار بسازید، نباید به یک تب در میان صدها تب باز مرورگر کاربر محدود بمانید؟
- کالبدشکافی الکترون (Electron)؛ پیشگام باسابقه اما سنگین:
- نرمافزارهای موفقی مثل VS Code، Slack، Discord و Spotify چگونه با الکترون ساخته شدند؟
- نقطه ضعف بزرگ الکترون: همراه بردن یک مرورگر کروم کامل در دل فایل نصبی! (حجم فایل نصبی بالای ۸۰ مگابایت و مصرف سنگین حافظه رم).
- انقلاب تاوری (Tauri)؛ سبک، سریع و کممصرف:
- تاوری چگونه این مشکل را حل کرد؟ به جای نصب کروم جدید، از وبویو پیشفرض خود ویندوز (Edge WebView2) و مک (WebKit) استفاده میکند.
- نتیجه شگفتانگیز: فایل نصبی فوقالعاده کوچک (حدود ۵ مگابایت) و مصرف رم تنها در حد ۳۰ تا ۵۰ مگابایت!
- کارگاه عملی: بستهبندی پورتفولیو با Tauri در ۴ گام:
- گام ۱: نصب Tauri CLI در پروژه:
npm install -D @tauri-apps/cli. - گام ۲: مقداردهی اولیه پروژه با
npx tauri init. - گام ۳: تنظیمات عنوان پنجره، ابعاد و آیکون در فایل
src-tauri/tauri.conf.json. - گام ۴: اجرای زنده با
npx tauri devو مشاهده باز شدن پنجره نرمافزار روی ویندوز/مک.
- گام ۱: نصب Tauri CLI در پروژه:
- ساخت فایل خروجی نصبی نهایی (Production Build):
- اجرای دستور
npx tauri buildو تحویل فایل.exeدر پوشهsrc-tauri/target/release/bundle.
- اجرای دستور
- قابلیتهای جذاب دسکتاپ: آیکون کنار ساعت (System Tray):
- دسترسی سریع به پورتفولیو و پنل ادمین با کلیک راست روی آیکون در نوار وظیفه ویندوز.
- دستورات چندسکویی برای نصب و اجرای تاوری:
- دستورات در منوهای کشویی ویندوز، مک و لینوکس.
- کالاوتهای آموزشی و هشدار کوئرا:
- کالاوت بنفش (
<details class="violet">): امنیت خارقالعاده تاوری؛ هسته پشتیبان تاوری با زبان ایمن Rust نوشته شده و خطرات دسترسی ناامن به فایلهای سیستم را مهار میکند. - کالاوت سبز (
<details class="green">): شگفتی از خروجی یک فایل نصبی ۵ مگابایتی شیک که در کسری از ثانیه نصب و اجرا میشود. - کالاوت قرمز (
<details class="red">): نبود ماژولهای داخلی نودجیاس (fs,path) در فرانتاند تاوری؛ تمام دسترسیها به فایلهای هارد باید از طریق پلاگینهای رسمی تاوری انجام شود.
- کالاوت بنفش (
آنچه نباید وارد آن شویم (Out-of-Scope):
- برنامهنویسی عمیق کدهای زبان Rust در بکاند تاوری (تسکها از طریق لایه فرانتاند جاوااسکریپت هدایت میشوند).
- دریافت گواهی امضای دیجیتال گرانقیمت کد (Code Signing Certificates) در ویندوز و اپل.
۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|---|---|---|
| Desktop Wrapper | بستهبند دسکتاپ | ابزاری برای تبدیل برنامههای وب به نرمافزارهای نصبی با پنجره مستقل برای ویندوز، مک و لینوکس |
| Tauri | فریمورک تاوری | ابزار مدرن، امن و بسیار سبک ساخت نرمافزارهای دسکتاپ با وبویو سیستمعامل و زبان راست |
| Electron | فریمورک الکترون | بستر باسابقه ساخت نرمافزار دسکتاپ با ترکیب موتور کرومیوم و محیط اجرای Node.js |
| WebView2 | وبویو تو مایکروسافت | کامپوننت داخلی ویندوز ۱۰ و ۱۱ برای رندر کردن محتوای وب در برنامههای دسکتاپ بدون نیاز به نصب کروم |
| System Tray | سینی سیستم / کنار ساعت | بخش اعلانها در گوشه نوار وظیفه سیستمعامل برای دسترسی و کنترل سریع برنامههای در حال اجرا |
| Native Executable (.exe) | فایل اجرایی بومی | فایل باینری کامپایلشده سیستمعامل برای نصب و اجرای مستقیم نرمافزار |
۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
راهنمای ایجنت نویسنده: تمام تصاویر باید در پوشهٔ
images/ذخیره شده و در جدول تکخانهای وسطچین درج شوند:
- تصویر کاور درس:
images/cover.png- موضوع: پنجره نرمافزار دسکتاپ نئونی با آیکونهای ویندوز، اپل و لینوکس با لوگوی سبکبال تاوری و مصرف اندک رم.
- مقایسه ساختاری معماری Electron در برابر Tauri:
images/electron-vs-tauri-architecture.png- موضوع: اینفوگرافیک مقایسهای: الکترون با جعبه سنگین کرومیوم + نودجیاس در چپ در برابر تاوری با لایه سبک وبویو سیستمعامل و هسته کممصرف راست در راست.
- نمودار مصرف حافظه رم و اندازه فایل نصبی:
images/tauri-vs-electron-ram-size.png- موضوع: نمودار میلهای مقایسهای: مصرف رم (الکترون ۳۵۰ مگابایت vs تاوری ۳۵ مگابایت) و حجم فایل نصبی (الکترون ۹۰ مگابایت vs تاوری ۵ مگابایت).
- نرمافزار دسکتاپ پورتفولیو در حال اجرا با System Tray:
images/tauri-desktop-portfolio-window.png- موضوع: اسکرینشات از دسکتاپ ویندوز با پنجره شیک پورتفولیو و منوی کوچک کلیک راست آیکون سایت در کنار ساعت ویندوز.
۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (README.md)
- تیتر اصلی:
# ساخت اپلیکیشن دسکتاپ چندسکویی؛ انقلاب Tauri سبک در برابر غول Electron - مقدمه: سایت شما روی وب زنده است، PWA شده و فایل اندروید هم دارد؛ حال وقت آن است که یک فایل
.exeشکیل بسازید و روی دسکتاپ ویندوز و مک بنشینید! - جدول کاور درس
- چرا اپلیکیشن دسکتاپ هنوز پادشاه تمرکز کاربران است؟
- فرار از حواسپرتی تبهای بیشمار مرورگر و حضور دائمی در کنار ساعت و تسکبار.
- دوئل بزرگ قرن: الکترون (Electron) در برابر تاوری (Tauri):
- چرا الکترون با وجود شهرتش سنگین است و چگونه تاوری دنیای توسعه دسکتاپ را شگفتزده کرد؟
- پیشنیازهای اجرای تاوری در سیستمعاملها:
- ویندوز، مک و لینوکس (وجود پیشفرض WebView2 در ویندوز ۱۰ و ۱۱).
- کارگاه عملی: ساخت نرمافزار دسکتاپ پورتفولیو در ۴ گام ساده:
- گام ۱: نصب ابزار خط فرمان با
npm install -D @tauri-apps/cli. - گام ۲: اجرای دستور جادویی
npx tauri init. - گام ۳: تنظیمات نام برنامه و پنجره در
tauri.conf.json. - گام ۴: ران زنده با
npx tauri devو تماشای پنجره واقعی دسکتاپ.
- گام ۱: نصب ابزار خط فرمان با
- بیلد فایل نصبی نصبی با پسوند
.exeو.dmg:- اجرای دستور
npx tauri buildو دریافت بسته نصبی سبک ۵ مگابایتی.
- اجرای دستور
- دستورات چندسکویی برای راهاندازی تاوری:
- منوی کشویی سهگانه برای ویندوز، مک و لینوکس:
- Windows (PowerShell):
npm install -D @tauri-apps/cli npx tauri init npx tauri dev - macOS (Terminal):
npm install -D @tauri-apps/cli npx tauri init npx tauri dev - Linux (Bash):
npm install -D @tauri-apps/cli npx tauri init npx tauri dev
- Windows (PowerShell):
- منوی کشویی سهگانه برای ویندوز، مک و لینوکس:
- باکس نکته Quera (
<details class="violet">): فعالسازی ویژگی System Tray در تاوری برای کوچک شدن برنامه در کنار ساعت سیستم به جای بسته شدن کامل پنجره. - باکس هشدار Quera (
<details class="red">): عدم وجود ماژولهای نودجیاس در مرورگر داخلی تاوری؛ برای کارهای محلی از افزونههای استاندارد@tauri-apps/pluginاستفاده کنید. - باکس رضایتبخش Quera (
<details class="green">): دابل کلیک روی فایل.exeساختهشده و باز شدن فوری برنامه پورتفولیو در کمتر از ۲۰۰ میلیثانیه! - جمعبندی فصل پانزدهم و ورود به فینال دوره: جشن پایان فاز تکامل چندسکویی و هوشمندسازی محصول؛ ورود به فصل شانزدهم و پایانی: ادامه راه (فرهنگ مهندسی ایجنتیک، ارکستراسیون سیستمها و آینده بازار کار).
۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- تفاوت معماری Electron و Tauri با اعداد و ارقام مصرف منابع تبیین شود.
- مراحل گامبهگام راهاندازی Tauri در پروژه Next.js ارائه گردد.
- نحوه تولید فایل نصبی نهایی (.exe / .dmg) آموزش داده شود.
- دستورات خط فرمان در تبهای چندسکویی برای ویندوز، مک و لینوکس درج شود.