با ظهور اجزای سرور React و اقدامات سرور نوشتن برنامه های وب آسان تر از همیشه شده است. سادگی زمانی که یک توسعهدهنده همه APIهای سرور را دقیقاً در داخل برنامه وب، به صورت بومی، با انواع و پشتیبانی کامل از چارچوب Next.js برای مثال (و البته سایر چارچوبهای RSC نیز) داشته باشد، شگفتانگیز است.
در عین حال، Electron یک استاندارد واقعی برای برنامههای دسکتاپ مدرن است که با استفاده از فناوریهای وب نوشته شدهاند، بهویژه زمانی که برنامه باید دارای دسترسی به سیستم فایل و سایر API سیستم باشد، در حالی که در JS نوشته میشود (اگر شما Rust یا Tauri را میشناسید، در اینجا یک جایزه افتخاری دریافت میکند. اگر فقط به یک پوسته WebView2 ساده نیاز دارید).
از خودم پرسیدم چرا بهترین های هر دو دنیا را ترکیب نکنم و برنامه معمول Next.js را درست در داخل Electron اجرا نکنم و از تمام مزایایی که با React Server Components ارائه می شود لذت ببرم؟
نسخه ی نمایشی
من تمام گزینه های موجود را بررسی کرده ام و گزینه مناسبی پیدا نکرده ام، بنابراین یک lib کوچک نوشتم next-electron-rsc
که می تواند شکاف بین Next.js و Electron را بدون اجرای سرور یا باز کردن هیچ پورتی پر کند.
تنها چیزی که برای استفاده از lib نیاز دارید این است که موارد زیر را به خود اضافه کنید main.js
در الکترون:
import { app, protocol } from 'electron';
import { createHandler } from 'next-electron-rsc';
const appPath = app.getAppPath();
const isDev = process.env.NODE_ENV ===...