shadcn/ui حالا بهصورت پیشفرض روی Base UI میره
خلاصهٔ کاملتر
تیم shadcn/ui اعلام کرده که از امروز Base UI بهصورت پیشفرض کتابخانهٔ کامپوننتشونه. یه کم تاریخچه: وقتی shadcn/ui تو ژانویهٔ ۲۰۲۳ منتشر شد، روی Radix ساخته شده بود، چون اون موقع هیچچیز دیگهای بهپاش نمیرسید؛ کامپوننتهای بیاستایل، APIهای خوب و دسترسیپذیری عالی. حالا همون آدمهایی که Radix رو ساختن، Base UI رو ساختن و تجربهٔ بار اول رو توش به کار بردن.
نویسنده میگه پارسال که Base UI نسخهٔ بتا داد، خیلیها پرسیدن آیا Radix رو باهاش عوض میکنن، ولی جوابش این بود که «بدترین کاری که برای اپ محصولت میتونی بکنی اینه که کتابخانهٔ کامپوننت رو عوض کنی». برای همین بهجای جایگزینی، کار همیشگی shadcn رو کردن: هر کامپوننت رو برای Base UI هم بازنویسی کردن، همون انتزاع رو نگه داشتن و انتخاب رو گذاشتن دست کاربر.
دلیل رسمیشدن این تصمیم چند چیزه: Base UI حالا پایداره و روی نسخهٔ ۱٫۶٫۰ با بیش از ۶ میلیون دانلود هفتگیه، تیمش مرتب کامپوننتهای جدید و مفید اضافه میکنه، خود تیم shadcn تو پروژههای تازهشون ازش استفاده میکنن، و مهمتر از همه پروژههایی که با shadcn create ساخته میشن با نسبت دو به یک Base UI رو به Radix ترجیح میدن. به گفتهٔ تیم، جامعه خودش این تصمیم رو گرفته و اونا فقط رسمیش کردن.
حالا چی عوض شده؟ پروژههای جدید با shadcn init پیشفرض روی Base UI میرن، ابزار shadcn/create هم اول Base UI رو نشون میده و صفحههای مستندات هم روی تب Base UI باز میشن (تب Radix یه کلیک اونطرفتره). کسی هم که برای پروژهٔ جدیدش Radix میخواد، فقط کافیه فلگ -b radix رو اضافه کنه، مخصوصاً تو اسکریپتها و CI که غیرتعاملی اجرا میشن.
نکتهٔ مهم برای پروژههای موجود اینه که Radix منسوخ نشده؛ همچنان پشتیبانی میشه و هر آپدیت و کامپوننت جدید برای هر دو کتابخانه میاد (مگه کامپوننتی که فقط تو Base UI باشه). نویسنده میگه لازم نیست مهاجرت کنی و اگه اپت کار میکنه، همون رو نگه دار.
برای کسایی که با اینحال میخوان مهاجرت کنن، بهجای codemod یه skill ساختن. دلیلش اینه که کد مال خودته؛ variant اضافه کردی، کلاسها رو عوض کردی و prop تازه بهش دادی، و یه codemod روی کامپوننتهایی که دستکاری کردی میشکنه. این skill بهجاش دانش تغییرات رو داره؛ هر تغییر نام و prop و رفتار دستی بررسی شده. کارهای مکانیکی مثل تبدیل asChild به render همهجا انجام میشن، ولی تغییرات رفتاری فقط علامتگذاری میشن نه اینکه بیسروصدا اعمال بشن؛ تصمیم با خودته. مهاجرت هم تدریجیه: یه کامپوننت هر بار، هر دو کتابخانه کنار هم کار میکنن، و میتونی وسط کار متوقف شی و بعداً ادامه بدی.
نکات کلیدی:
- Base UI حالا کتابخانهٔ پیشفرض کامپوننتهای shadcn/ui هست
- Base UI رو همون سازندههای Radix ساختن؛ نسخهٔ ۱٫۶٫۰ با بیش از ۶ میلیون دانلود هفتگی
- Radix منسوخ نشده و همهٔ آپدیتها برای هر دو کتابخانه میان
- برای موندن روی Radix کافیه فلگ -b radix رو اضافه کنی
- برای مهاجرت یه skill تدریجی هست که کامپوننتبهکامپوننت و بدون خرابکردن پروژه کار میکنه




