Gridland؛ ساخت اپ ترمینال با React
خلاصهٔ کاملتر
Gridland یه فریمورکه که یه ایدهٔ جالب رو دنبال میکنه: با همون React، اپهای ترمینالی بساز که فقط به ترمینال محدود نمونن. به گفتهٔ سازندهها، اپهایی که با Gridland میسازی هم تو ترمینال اجرا میشن و هم تو مرورگر؛ حتی خودِ سایت پروژه هم با Gridland ساخته شده.
پایهٔ فنیش موتور رندرِ OpenTUI ـه. برای شروع هم با bunx create-gridland my-app یه پروژهٔ جدید میسازی. البته برای اجرا تو حالت توسعه به Bun نیاز داری، ولی نکتهٔ مهم اینه که میتونی خروجی رو به یه فایل اجرایی مستقل کامپایل کنی که دیگه به هیچ رانتایمی نیاز نداره — کاربر لازم نیست Bun یا Node یا npm نصب داشته باشه.
وصلکردنش به پروژههای موجود هم راحته و برای Vite و Next.js پلاگین آماده داره. مثلاً تو Vite کافیه پلاگینش رو اضافه کنی:
// vite.config.ts
import { gridlandWebPlugin } from "@gridland/web/vite-plugin";
export default defineConfig({
plugins: [gridlandWebPlugin()],
});کامپوننتهای آمادهش (مثل chat، spinner و table) از طریق یه رجیستری shadcn توزیع میشن؛ یعنی هر کدوم رو جدا نصب میکنی و کدش مال خودت میشه و کنترلش دستته.
یه قابلیت دیگهش اجرای ایزولهست: میتونی هر اپی رو داخل یه کانتینر Docker جدا اجرا کنی و منبعش هم میتونه یه پکیج npm، یه ریپوی گیتهاب یا یه پوشهٔ محلی باشه. کل مجموعه به چند پکیج تقسیم شده، مثل @gridland/web برای رندرر اصلی و یکپارچگی با React، و @gridland/utils برای هوکهای قابلحمل مثل useKeyboard.
نکات کلیدی:
- ساخت اپهای ترمینالی (TUI) با React که تو ترمینال و مرورگر اجرا میشن
- ساختهشده روی موتور رندر OpenTUI
- کامپایل به فایل اجرایی مستقل، بدون نیاز به هیچ رانتایم
- کامپوننتها از طریق رجیستری shadcn، با مالکیت کد
- اجرای ایزوله داخل کانتینر Docker، با منبع npm/گیتهاب/محلی




