pracht: فریمورک Preact با روتینگ صریح
خلاصهٔ کاملتر
pracht یه فریمورک فرانتاند جدیده که روی Preact ساخته شده و هدفش اینه که بدون پیچیدگیهای اضافه، ابزارهای اصلی لازم برای ساخت اپهای سریع و قابل نگهداری رو در اختیارت بذاره.
یکی از مهمترین ویژگیهای pracht اینه که روتینگ رو بهجای اینکه بر اساس ساختار پوشهها تعریف کنه (مثل Next.js یا Remix)، مستقیم توی یه فایل کد تعریف میکنی. این یعنی میتونی برای هر روت یا گروهی از روتها، shell، میدلور و حالت رندر رو صریحاً مشخص کنی. نتیجه؟ کدی که قابل بررسی، تایپچکشده و کاملاً شفافه.
pracht چهار حالت رندر داره که میتونی بهصورت ترکیبی توی یه اپ ازشون استفاده کنی. SSG برای صفحات استاتیکی مثل بلاگ و مارکتینگ ایدهآله؛ SSR برای صفحاتی که نیاز به اطلاعات شخصیسازیشده دارن؛ ISG برای محتوایی مثل قیمتگذاری که باید بهصورت دورهای آپدیت بشه؛ و SPA برای داشبوردهایی که پشت لاگین هستن و سئو براشون اهمیتی نداره.
بخش دادهلودینگ هم طراحی جالبی داره. لودرها فقط سمت سرور اجرا میشن، یعنی کلیدهای API، اطلاعات دیتابیس و هر چیز حساسی هرگز به مرورگر کاربر نمیرسه. بعد از هیدریشن، ناوبری کلاینتساید فقط دادههای JSON لازم رو میگیره و کل صفحه رو reload نمیکنه.
یکی دیگه از نقاط قوت pracht اینه که کاملاً با Vite یکپارچهست و نیازی به تنظیمات خاص برای استفاده از پلاگینهایی مثل Tailwind، MDX یا ابزارهای بهینهسازی تصویر نداری؛ همه چیز مثل یه پروژه معمولی Vite کار میکنه.
از نظر تایپاسکریپت هم وضع خوبیه. تایپهای بازگشتی لودر بهصورت خودکار به کامپوننتها flow میکنن و نیازی به casting یا تعریف دستی تایپ نیست. یعنی از سرور تا کلاینت، تایپها کامل و اتوماتیک هستن.
برای دیپلوی هم آداپتورهای آماده برای Cloudflare Workers، Vercel Edge Functions و Node.js وجود داره. این آداپتورها نازک و سبک طراحی شدن تا به هیچ پلتفرمی وابسته نشی.
در حال حاضر pracht در نسخه ۰.۱.۰ قرار داره و هنوز در مراحل اولیه توسعهست، ولی ایدهآلهایی که دنبالش هست — صراحت در روتینگ، انعطاف در رندرینگ و سادگی در دیپلوی — میتونه برای تیمهایی که از پیچیدگیهای Next.js خسته شدن جذاب باشه.
نکات کلیدی:
- روتینگ صریح در کد، نه قراردادهای فایلسیستمی
- پشتیبانی از چهار حالت رندر SSG، SSR، ISG و SPA بهصورت ترکیبی در یه اپ
- لودرهای داده فقط سمت سرور اجرا میشن و اطلاعات حساس به کلاینت نمیرسه
- یکپارچگی کامل با Vite و پشتیبانی از پلاگینهای معمول
- تایپهای end-to-end خودکار از سرور به کلاینت
- آداپتورهای سبک برای Cloudflare، Vercel و Node.js بدون vendor lock-in
- ساختهشده روی Preact برای runtime کوچک و سریع




