Ish stoli ilovalarini yaratish uchun Deno Desktop qo'llab-quvvatlashiga ega Deno 2.9 platformasi

Chromium asosidagi brauzerlarda ishlatiladigan V8 dvigatelidan foydalangan holda JavaScript va TypeScriptda yozilgan server tomonidagi va ish stoli ilovalarini mustaqil ravishda bajarish uchun mo'ljallangan Deno 2.9 platformasi chiqarildi. Loyiha Node.js yaratuvchisi Rayan Dal tomonidan yanada xavfsiz muhitni ta'minlash va Node.js arxitekturasidagi kontseptual xatolarni bartaraf etish maqsadida ishlab chiqilmoqda. Xavfsizlikni oshirish uchun V8 freymvorki Rust tilida yozilgan va Tokio platformasi bloklamaydigan so'rovlarni qayta ishlash uchun ishlatiladi. Loyiha kodi MIT litsenziyasi ostida tarqatiladi. Qurilishlar tayyorlanmoqda... Linux, Windows и macOS.

Yangi versiya eksperimental Deno Desktop asboblar to'plamini joriy etishi bilan ajralib turadi, bu Electron platformasiga o'xshash veb-texnologiyalar yordamida yaratilgan maxsus GUI ilovalarini yaratish imkonini beradi. Ilova mantig'i va interfeysi standart veb-freymvorklar yordamida JavaScript yoki TypeScriptda aniqlanadi va ilova brauzerga asoslangan dvigatel yordamida bajariladi. Ilova mustaqil bajariladigan fayl sifatida yetkazib beriladi va klassik GUI dasturlariga o'xshash foydalanuvchi interfeysini taqdim etadi.

Deno Desktop ikkita brauzer dvigatelida ishlash uchun orqa panellarni taklif qiladi: operatsion tizimning WebView va dasturga o'rnatilgan CEF (Chromium Embedded Framework). WebView asosidagi orqa panel tizimning WebView2 brauzer dvigateli ustida ishlash orqali kichikroq bajariladigan fayl o'lchamlarini ta'minlaydi. Windows va WebKit ichida macOS и Linux, va CEF orqa tomoni platformalarda bir xil interfeys renderlashiga erishish imkonini beradi Linux, macOS и Windows, lekin bajariladigan fayllar hajmining sezilarli darajada oshishi evaziga.

Sinov dasturining bajariladigan fayl hajmi WebView yordamida 40 MB va CEF yordamida 150 MB deb baholanmoqda. Taqqoslash uchun, bu ko'rsatkich Electron uchun 100 MB, Electrobun uchun 61 MB va Tauri uchun 2-10 MB ni tashkil qiladi (Electron o'rnatilgan CEF dan foydalanadi, Electrobun va Tauri esa WebView tizimidan foydalanadi). Ilovalar o'rtasida umumiy CEF dvigatelini ulashish mexanizmi ishlab chiqilmoqda, bu bajariladigan fayllar hajmini kamaytiradi.

Deno Desktop Node.js, NPM ekotizimi va Next.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start va Vite SSR kabi veb-freymvorklar bilan to'liq mos keladi. Mahalliy ish stoli API-lariga kirish uchun API taqdim etiladi. Masalan, siz oynalarning o'lchamini, joylashishini va ko'rinishini boshqarishingiz, menyular yaratishingiz, maxsus ishlov beruvchilarni biriktirishingiz, tizim tepsisi va panellari uchun piktogrammalar o'rnatishingiz va mahalliy OS dialoglarini ko'rsatishingiz mumkin. Veb-ilovalar kodini o'zgartirmasdan ish stoli dasturlari sifatida yaratilishi mumkin va ishlatilgan veb-freymvorklar avtomatik ravishda aniqlanishi va bitta tizimda o'zaro kompilyatsiya qilinishi mumkin. Linux x64/arm64, Windows x64 va macOS x64/arm64. Uchun Linux Paketlar AppImage, deb va rpm formatlarida yaratilishi mumkin.

Electron, Electrobun va Tauri'dan farqli o'laroq, Deno Desktop soketga asoslangan IPC bilan ko'p jarayonli ijro modelidan foydalanmaydi. Buning o'rniga, u CEF uchun ko'p oqimli modeldan yoki WebView uchun jarayonlar guruhiga asoslangan modeldan foydalanadi, bunda orqa tomon va GUI kodi o'rtasida jarayon ichidagi kanallar orqali aloqa mavjud. Unda o'rnatilgan yangilanish tekshiruvi va avtomatik o'rnatish mexanizmi mavjud bo'lib, u o'tkazish qobiliyatini tejash uchun faqat oldingi versiyadan beri o'zgargan ma'lumotlarni yuklab oladi (bsdiff asosidagi ikkilik yamoqlardan foydalangan holda) va yangi versiyani ishga tushirishda nosozlik yuzaga kelgan taqdirda oldingi versiyaga qaytishni qo'llab-quvvatlaydi.

Deno 2.9 dagi boshqa yangi xususiyatlar quyidagilarni o'z ichiga oladi:

  • npm, pnpm, yarn va Bun dan Deno ga o'tishni soddalashtirish uchun "deno install" buyrug'ida blokirovka fayllarini to'g'ridan-to'g'ri o'qishni qo'llab-quvvatlash.
  • CSS modullarini import qilishni qo'llab-quvvatlash.
  • Node.js 26 platformasi bilan moslikni amalga oshirish.
  • "deno link", "deno unlink" va "deno list" kabi yangi buyruqlar.
  • Resurslarda qulflarni o'rnatish uchun Web Locks API-ni qo'llab-quvvatlash.
  • Bogʻliqlikning buzilishiga olib keladigan hujumlardan himoya qilish uchun yangi qaramlik versiyalarini oʻrnatishdan oldin standart 24 soatlik kechikishni (min-release-age=24h) yoqing.
  • HTTP bilan ishlashda ishga tushirish vaqti qisqartirildi (~2x), xotira sarfi kamaydi (~2.2x) va o'tkazish qobiliyati oshdi (~1.2x).



    Manba: opennet.ru
DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster