Files

13 KiB
Raw Blame History

مشخصات درس‌نامه: ساخت اپلیکیشن دسکتاپ چندسکویی؛ انقلاب 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):

  1. فراتر از مرورگر: حضور ماندگار روی دسکتاپ ویندوز، مک و لینوکس:
    • چرا وقتی می‌توانید برای پروژه‌تان یک برنامه دسکتاپ سبک با آیکون اختصاصی در تسک‌بار بسازید، نباید به یک تب در میان صدها تب باز مرورگر کاربر محدود بمانید؟
  2. کالبدشکافی الکترون (Electron)؛ پیشگام باسابقه اما سنگین:
    • نرم‌افزارهای موفقی مثل VS Code، Slack، Discord و Spotify چگونه با الکترون ساخته شدند؟
    • نقطه ضعف بزرگ الکترون: همراه بردن یک مرورگر کروم کامل در دل فایل نصبی! (حجم فایل نصبی بالای ۸۰ مگابایت و مصرف سنگین حافظه رم).
  3. انقلاب تاوری (Tauri)؛ سبک، سریع و کم‌مصرف:
    • تاوری چگونه این مشکل را حل کرد؟ به جای نصب کروم جدید، از وب‌ویو پیش‌فرض خود ویندوز (Edge WebView2) و مک (WebKit) استفاده می‌کند.
    • نتیجه شگفت‌انگیز: فایل نصبی فوق‌العاده کوچک (حدود ۵ مگابایت) و مصرف رم تنها در حد ۳۰ تا ۵۰ مگابایت!
  4. کارگاه عملی: بسته‌بندی پورتفولیو با Tauri در ۴ گام:
    • گام ۱: نصب Tauri CLI در پروژه: npm install -D @tauri-apps/cli.
    • گام ۲: مقداردهی اولیه پروژه با npx tauri init.
    • گام ۳: تنظیمات عنوان پنجره، ابعاد و آیکون در فایل src-tauri/tauri.conf.json.
    • گام ۴: اجرای زنده با npx tauri dev و مشاهده باز شدن پنجره نرم‌افزار روی ویندوز/مک.
  5. ساخت فایل خروجی نصبی نهایی (Production Build):
    • اجرای دستور npx tauri build و تحویل فایل .exe در پوشه src-tauri/target/release/bundle.
  6. قابلیت‌های جذاب دسکتاپ: آیکون کنار ساعت (System Tray):
    • دسترسی سریع به پورتفولیو و پنل ادمین با کلیک راست روی آیکون در نوار وظیفه ویندوز.
  7. دستورات چندسکویی برای نصب و اجرای تاوری:
    • دستورات در منوهای کشویی ویندوز، مک و لینوکس.
  8. کال‌اوت‌های آموزشی و هشدار کوئرا:
    • کال‌اوت بنفش (<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/ ذخیره شده و در جدول تک‌خانه‌ای وسط‌چین درج شوند:

  1. تصویر کاور درس: images/cover.png
    • موضوع: پنجره نرم‌افزار دسکتاپ نئونی با آیکون‌های ویندوز، اپل و لینوکس با لوگوی سبک‌بال تاوری و مصرف اندک رم.
  2. مقایسه ساختاری معماری Electron در برابر Tauri: images/electron-vs-tauri-architecture.png
    • موضوع: اینفوگرافیک مقایسه‌ای: الکترون با جعبه سنگین کرومیوم + نودجی‌اس در چپ در برابر تاوری با لایه سبک وب‌ویو سیستم‌عامل و هسته کم‌مصرف راست در راست.
  3. نمودار مصرف حافظه رم و اندازه فایل نصبی: images/tauri-vs-electron-ram-size.png
    • موضوع: نمودار میله‌ای مقایسه‌ای: مصرف رم (الکترون ۳۵۰ مگابایت vs تاوری ۳۵ مگابایت) و حجم فایل نصبی (الکترون ۹۰ مگابایت vs تاوری ۵ مگابایت).
  4. نرم‌افزار دسکتاپ پورتفولیو در حال اجرا با System Tray: images/tauri-desktop-portfolio-window.png
    • موضوع: اسکرین‌شات از دسکتاپ ویندوز با پنجره شیک پورتفولیو و منوی کوچک کلیک راست آیکون سایت در کنار ساعت ویندوز.

۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (README.md)

  1. تیتر اصلی: # ساخت اپلیکیشن دسکتاپ چندسکویی؛ انقلاب Tauri سبک در برابر غول Electron
  2. مقدمه: سایت شما روی وب زنده است، PWA شده و فایل اندروید هم دارد؛ حال وقت آن است که یک فایل .exe شکیل بسازید و روی دسکتاپ ویندوز و مک بنشینید!
  3. جدول کاور درس
  4. چرا اپلیکیشن دسکتاپ هنوز پادشاه تمرکز کاربران است؟
    • فرار از حواس‌پرتی تب‌های بی‌شمار مرورگر و حضور دائمی در کنار ساعت و تسک‌بار.
  5. دوئل بزرگ قرن: الکترون (Electron) در برابر تاوری (Tauri):
    • چرا الکترون با وجود شهرتش سنگین است و چگونه تاوری دنیای توسعه دسکتاپ را شگفت‌زده کرد؟
  6. پیش‌نیازهای اجرای تاوری در سیستم‌عامل‌ها:
    • ویندوز، مک و لینوکس (وجود پیش‌فرض WebView2 در ویندوز ۱۰ و ۱۱).
  7. کارگاه عملی: ساخت نرم‌افزار دسکتاپ پورتفولیو در ۴ گام ساده:
    • گام ۱: نصب ابزار خط فرمان با npm install -D @tauri-apps/cli.
    • گام ۲: اجرای دستور جادویی npx tauri init.
    • گام ۳: تنظیمات نام برنامه و پنجره در tauri.conf.json.
    • گام ۴: ران زنده با npx tauri dev و تماشای پنجره واقعی دسکتاپ.
  8. بیلد فایل نصبی نصبی با پسوند .exe و .dmg:
    • اجرای دستور npx tauri build و دریافت بسته نصبی سبک ۵ مگابایتی.
  9. دستورات چندسکویی برای راه‌اندازی تاوری:
    • منوی کشویی سه‌گانه برای ویندوز، مک و لینوکس:
      • 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
        
  10. باکس نکته Quera (<details class="violet">): فعال‌سازی ویژگی System Tray در تاوری برای کوچک شدن برنامه در کنار ساعت سیستم به جای بسته شدن کامل پنجره.
  11. باکس هشدار Quera (<details class="red">): عدم وجود ماژول‌های نودجی‌اس در مرورگر داخلی تاوری؛ برای کارهای محلی از افزونه‌های استاندارد @tauri-apps/plugin استفاده کنید.
  12. باکس رضایت‌بخش Quera (<details class="green">): دابل کلیک روی فایل .exe ساخته‌شده و باز شدن فوری برنامه پورتفولیو در کمتر از ۲۰۰ میلی‌ثانیه!
  13. جمع‌بندی فصل پانزدهم و ورود به فینال دوره: جشن پایان فاز تکامل چندسکویی و هوشمندسازی محصول؛ ورود به فصل شانزدهم و پایانی: ادامه راه (فرهنگ مهندسی ایجنتیک، ارکستراسیون سیستم‌ها و آینده بازار کار).

۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)

  • تفاوت معماری Electron و Tauri با اعداد و ارقام مصرف منابع تبیین شود.
  • مراحل گام‌به‌گام راه‌اندازی Tauri در پروژه Next.js ارائه گردد.
  • نحوه تولید فایل نصبی نهایی (.exe / .dmg) آموزش داده شود.
  • دستورات خط فرمان در تب‌های چندسکویی برای ویندوز، مک و لینوکس درج شود.