
Deno Desktop הופכת פרויקטי Deno לאפליקציות שולחן עבודה עצמאיות
ב-Deno 2.9 נוספה הפקודה deno desktop, שמהדרת פרויקטי Deno לקבצים בינאריים לשולחן העבודה. התיעוד מציג אותה כחלופה ל-Electron ול-Tauri, עם קבצים קטנים ועדכון אוטומטי מובנה.
Deno הציגה את deno desktop — פקודה שהופכת פרויקט Deno, מקובץ TypeScript בודד ועד אפליקציית Next.js, לתוכנת שולחן עבודה עצמאית. התוצאה היא קובץ בינארי להפצה שכולל את קוד הפרויקט, את סביבת ההרצה של Deno ומנוע רינדור וובי בחבילה אחת לכל פלטפורמה. התכונה זמינה החל מ-Deno 2.9.0.
מול Electron ו-Tauri
התיעוד מציג את הכלי כמענה לפשרות של סביבות ווביות קיימות — Electron, Tauri ו-Electrobun: קבצים בינאריים גדולים, תמיכה חסרה בפלטפורמות, גישה מוגבלת למערכת האקולוגית של JavaScript, היעדר מנגנון עדכון מובנה והיעדר אינטגרציה עם פריימוורקים. התשובה של Deno ממוקדת: מנוע ה-WebView המוגדר כברירת מחדל משתמש ב-webview של מערכת ההפעלה כדי לשמור על קבצים קטנים, בעוד כל מערכת החבילות של npm נגישה דרך שכבת התאימות ל-Node. מי שזקוק לרינדור זהה ב-macOS, ב-Windows וב-Linux יכול לבחור במנוע Chromium מובנה המבוסס על CEF.
זיהוי פריימוורקים ותקשורת בתוך התהליך
כשמצביעים על פרויקט Next.js, Astro, Fresh, Remix, React Router, Nuxt, SvelteKit, SolidStart, TanStack Start או Vite SSR, הפקודה מריצה את שרת הייצור במצב release או את שרת הפיתוח עם טעינה חמה תחת --hmr; רוב הפריימוורקים אינם דורשים מתאם מיוחד. התקשורת בין הצד האחורי לממשק עוברת בערוצים בתוך התהליך ולא ב-IPC מבוסס סוקטים: הערכים עדיין מקודדים במעבר, אך אין סבב בין-תהליכי בין קוד Deno ל-webview. מאותו מחשב אפשר לבנות עבור macOS, Windows ו-Linux, והמנועים מורדים לפי הצורך ולא נבנים מקומית.
עדכונים ודוגמה מלאה
העדכון האוטומטי מובנה: מפרסמים מניפסט latest.json אחד וטלאי bsdiff, והסביבה בודקת, מחילה ובמקרה של כשל בהרצה חוזרת אוטומטית לגרסה הקודמת. אפליקציה מינימלית היא קובץ אחד שקורא ל-Deno.serve(); הקובץ המהודר פותח חלון שמצביע לשרת ה-HTTP המקומי הזה, ו-Deno נקשר לכתובת שאליה מנווט ה-webview, כך שאין צורך להגדיר פורט או שם מארח. כדוגמה מלאה מזכיר התיעוד את denidian — אפליקציית הערות בסגנון Obsidian עם קובצי Markdown, קישורי ויקי ותצוגת גרף, שכוללת ניהול חלונות דרך Deno.BrowserWindow, תפריטים, פיתוח עם --hmr ואריזה להפצה.
התיעוד מכסה גם הגדרה דרך בלוק desktop ב-deno.json, את המנועים CEF, webview ו-raw, הגשת HTTP, דרישות פריימוורקים, מחזור חיי חלונות ואירועים, רינדור WebGPU, קישורים, תפריטים, שילוב ב-tray וב-dock, דיאלוגים והתראות מקוריות, כלי מפתחים, דיווח שגיאות, קומפילציה חוצת פלטפורמות ומתקינים.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.