Liminal: IDE لاراول توی مرورگر!
خلاصهٔ کاملتر
Liminal یه IDE لاراول کاملاً مبتنی بر مرورگره که توسط Andrew Schmelyun ساخته شده. ایده اصلیش اینه که PHP 8.4 رو از طریق WebAssembly مستقیم داخل مرورگر اجرا کنه — یعنی نه سرور نیاز داری، نه چیزی نصب میکنی، نه فایلی آپلود میکنی. فقط یه تب مرورگر باز میکنی و شروع میکنی به نوشتن و اجرای اپلیکیشن لاراول.
وقتی صفحه لود میشه، ابزار یه فایل app.zip دانلود میکنه و اون رو توی یه فایلسیستم مجازی در حافظه مرورگر اکسترکت میکنه. از اون لحظه به بعد، همه چیز — از routing گرفته تا کوئریهای دیتابیس و اجرای دستورات Artisan — کاملاً client-side انجام میشه. هیچ بکاندی وجود نداره و خود سایت هم به عنوان یه static site روی Cloudflare Pages دیپلوی شده.
یکی از جذابترین بخشهای Liminal اینه که همه چیزی که تایپ میکنی یا میسازی کاملاً داخل مرورگر خودت میمونه و هیچوقت به جایی ارسال نمیشه. این موضوع از نظر حریم خصوصی خیلی مهمه، مخصوصاً وقتی داری روی کدهای حساس کار میکنی.
از نظر امکانات، Liminal یه مجموعه خوب داره: میتونی روتهای لاراول رو مستقیم توی مرورگر پیشنمایش ببینی و Tailwind CSS نسخه ۴ هم به صورت خودکار تزریق میشه. ویرایشگر کد با CodeMirror 6 ساخته شده و از Syntax Highlighting برای PHP، Blade، JS/TS، JSON و CSS پشتیبانی میکنه. یه ترمینال هم داری که میتونی دستورات Artisan رو مستقیم توش اجرا کنی.
یه ویژگی خیلی باحال دیگهای هم داره: یه دستیار هوش مصنوعی مبتنی بر OpenAI که میتونه فایلها رو بخونه، ویرایش کنه و دستورات Artisan رو اجرا کنه تا فیچرهای جدید بسازه. علاوه بر اون، میتونی پروژه رو از GitHub ایمپورت کنی، به عنوان zip اکسپورت کنی، با فولدر لوکال سینک کنی (از طریق File System Access API در Chrome و Edge) و حتی تغییراتت رو از طریق یه URL به اشتراک بذاری.
استک فنی پروژه هم جالبه: Vue 3 با TypeScript و Vite برای فرانتاند، Tailwind CSS v4، CodeMirror 6 برای ویرایشگر، و البته پکیج php-wasm/web-8-4 که PHP 8.4 رو به WebAssembly کامپایل میکنه. این پروژه نیاز به هدرهای خاص SharedArrayBuffer داره تا WASM runtime درست کار کنه.
محدودیتهایی هم وجود داره که باید بدونی: از PHP نمیتونی به شبکه دسترسی داشته باشی (مثلاً curl یا file_get_contents روی HTTP کار نمیکنن)، دایرکتوری vendor از قبل توی app.zip بستهبندی شده و قابل تغییر نیست، فقط SQLite ساپورت میشه (نه MySQL یا Postgres) و سرعت اجرا نسبت به PHP بومی کندتره، مخصوصاً بار اول که لود میشه. این پروژه تحت لایسنس MIT منتشر شده ولی از php-wasm استفاده میکنه که GPLv2 هست، پس اگه میخوای ازش در پروژههای مشتق استفاده کنی، این نکته رو در نظر بگیر.
نکات کلیدی:
- PHP 8.4 کاملاً از طریق WebAssembly توی مرورگر اجرا میشه
- هیچ سرور، نصب یا آپلودی لازم نیست
- پشتیبانی از پیشنمایش روت، ترمینال Artisan و ویرایشگر کد با Syntax Highlighting
- دستیار هوش مصنوعی مبتنی بر OpenAI برای ساخت فیچر
- ایمپورت از GitHub، اکسپورت به zip و سینک با فولدر لوکال
- اشتراکگذاری تغییرات از طریق URL اختصاصی
- محدودیت: فقط SQLite، بدون دسترسی شبکه از PHP، کندتر از PHP بومی




