TSRX: جانشین JSX برای دوران هوش مصنوعی
خلاصهٔ کاملتر
TSRX که مخفف TypeScript Render Extensionsه، یه افزونه زبانی جدیده که میخواد روش نوشتن کامپوننتهای UI توی TypeScript رو متحول کنه. سازندهاش میگه TSRX یه جور جانشین معنوی برای JSXه، ولی با رویکردی تازهتر و مناسبتر برای دوران هوش مصنوعی.
مشکل اصلی که TSRX سعی میکنه حل کنه اینه که توی روشهای فعلی، ساختار UI، استایلها، کنترل فلو و منطق کامپوننت اغلب توی فایلهای مختلف پخش میشن یا حداقل از هم دور میافتن. این باعث میشه خوندن کد سختتر بشه، ریفکتور کردن دردسر داشته باشه و آنبوردینگ برای آدمهای جدید طولانیتر بشه.
توی TSRX، همه چیز کنار همه چیز دیگهای قرار میگیره. میشه متغیرهای محلی رو مستقیماً وسط template تعریف کرد، حلقههای for و شرطهای if رو بدون هیچ workaround خاصی نوشت، و استایلهای scoped رو هم همونجا کنار markup داشت. نتیجه اینه که کد خیلی نزدیکتر به چیزی میشه که واقعاً روی صفحه رندر میشه.
یکی از جذابترین ویژگیهای TSRX اینه که اشتباهات رایج فریمورکها رو توی مرحله کامپایل برطرف میکنه. مثلاً توی React، نمیشه Hook رو بهصورت شرطی صدا زد — ولی توی TSRX میشه! کامپایلر بهطور خودکار شاخه شرطی رو به یه کامپوننت مجزا تبدیل میکنه تا قوانین هوکها رعایت بشن. توی Solid هم، دیگه نیازی نیست برای حفظ ریکتیویتی همیشه بهشکل props.count بنویسی — TSRX با یه syntax خاص این مشکل رو پشت صحنه حل میکنه.
یه نکته جالب که تیم TSRX بهش اشاره میکنه اینه که این رویکرد برای مدلهای زبانی (LLM) هم مفیده. تحقیقات نشون داده که مدلهای زبانی وقتی اطلاعات مرتبط کنار هم باشن، بهتر کار میکنن تا اینکه پخش و پراکنده باشن. پس کدی که بهشکل TSRX نوشته شده هم برای آدمها راحتتره، هم برای ابزارهای AI که روی کد کار میکنن.
از نظر پشتیبانی فریمورکها، TSRX الان میتونه به React، Preact، Solid، Vue و Ripple کامپایل بشه. معماریش هم بهگونهای طراحی شده که اضافه کردن target جدید بهصورت یه پلاگین مستقل امکانپذیره و نیازی به تغییر خود زبان نداره.
از نظر ابزارها، TSRX یه Language Server داره که دیاگنوستیک، ناوبری و autocomplete رو توی ادیتور فراهم میکنه. پلاگینهایی هم برای Prettier و ESLint داره. از VS Code، Zed، Neovim، IntelliJ و Sublime Text پشتیبانی میکنه. مهمتر از همه، نیازی به rewrite کامل کدبیس نیست — میشه تدریجی ازش استفاده کرد و فایلهای tsrx رو از فایلهای JS، TS و TSX معمولی import کرد.
TSRX الان توی مرحله alphaه و تحت لایسنس MIT منتشر شده. سازندهاش Dominic Gannawayه و فعالانه روی توسعهاش کار میکنه.
نکات کلیدی:
- TSRX یه افزونه زبانی برای TypeScriptه که نوشتن کامپوننت UI رو خواناتر میکنه
- ساختار، استایل، کنترل فلو و منطق همه کنار هم توی یه فایل قرار میگیرن
- به React، Preact، Solid، Vue و Ripple کامپایل میشه
- اشتباهات رایج فریمورکها (مثل قوانین Hook در React) رو کامپایلر خودکار رفع میکنه
- Language Server، پلاگین Prettier و ESLint داره
- با کدبیسهای TypeScript موجود سازگاره و نیاز به rewrite کامل نداره
- الان در مرحله alphaه و زیر لایسنس MIT منتشر شده




