اشکان
اشکان
خواندن ۴ دقیقه·۳ سال پیش

 وب پک قسمت ششم... مرگ وب پک به دست ویت


سلام من اشکان هستم و بعد از یک وققه طولانی تصمیم گرفتم با نوشتن مطلبی در ادامه مطالب آموزش وب پک شاید دوباره نوشتن و ساخت ویدیو رو شروع کنم.

قصه از اینجا شروع شد که یکی از دوستان سری آموزش وب پک ۵ رو خونده بود و باعث شد که توجه من به ویرگول جلب بشه و این سوال برام پیش بیاد که "مگه کسی هنوز از وب پک استفاده میکنه؟"

خوب البته که وب پک زمانی تنها گزینه پیش روی ما برای ساخت پروژه ها و برنامه نویسی بود، با بیش از ۷۴ میلیون دانلود در ماه! و البته بسیار کند و تنظیم کردنش به معنای حقیقی کلمه دردناک بود، بعدها باندلرهای دیگه ای هم مثل parcel و... اومدن که هرکدوم قصدشون این بود که کار کاربر رو کمی آسونتر کنند اما امروز ما گزینه ای پیش رومون داریم که استفاده از وب پک رو کاملا غیر ضروری میکنه. در واقع این روزها هدف فریم ورک ها و پلتفرم ها و همه ابزارها اینه که کار برنامه نویس اونقدری آسون بشه که درگیر ستاپ و تنظیمات اولیه نشه و در واقع حتی کدهای بویلرپلیت هم اونقدر زیاد شدن که برای هر زبان برنامه نویسی و تقریبا هر نوع پروژه ای میشه کد استارتری رو پیدا کرد که نخوایم چرخ رو از اول اختراع کنیم.

در مورد وب پک اما نکته اینه که ما واقعا زمانی گزینه دیگه ای پیش رو نداشتیم! مجبور بودیم که با وب پک کدمون رو باندل کنیم و از قابلیت HMR یا Hot Module Reloading جذابش استفاده کنیم(قابلیتی که اجازه میداد بلافاصله بعد از سیو کردن یا آپدیت کردن پروژه بروزر ریفرش بشه و تغییری که دادیم رُ سریعا ببینیم) و عجب پروسه سخت و عجیبی بود برای اینکه ساده ترین کارها رو بتونیم فقط ستاپ کنیم ساعت ها وقت بگذاریم که محیطی رو به وجود بیاریم که بشه یک برنامه ساده بنویسیم.

خوب خبر خوب اینه که دیگه نیازی به وب پک ندارید نه تنها شما بلکه فریمورک ها و لایبراری هایی که توی هسته خودشون از وب پک استفاده میکردند همه یا تغییرش دادند یا مشغول برنامه ریزی برای فرار از دست این موجود دست و پا گیر هستند.

اما یک تاریخچه جزیی...
یک آقای چینی به نام Evan You که سابقا کارمند گوگل هم بوده یک فریمورک سمت کاربر یا اصطلاحا Front-end به نام Vue طراحی میکنه که هسته اون مثل ری اکت قدرت گرفته از وب پک بود. اسم ویو هم یک کلمه فرانسویه که معنیش میشه View یا منظره. ایشون مدتی قبل، از دست وب پک عاصی میشه و تصمیم میگیره یک باندلر جدید بنویسه که هم کاربری اون آسون باشه و هم سرعتش بالاتر باشه بنابر این میاد یک ابزاری میسازه که خیلی سریع بوده و به تبعیت از Vue اسمش رو از کلمه فرانسوی دیگه ای عاریه میگیره که معنی سریع و چابک میده یعنی Vite. خیلی وسوسه انگیزه که این کلمه رو وایت تلفظ کنیم اما تلفظ صحیح و فرانسوی اون ویت هست /vit/.
البته  CLI ویو هنوز یه ویت مهاجرت نکرده و قطعا این اتفاق کمی زمانبر ولی غیر قابل اجتنابه اما بیاید کمی با هم مقایسه کنیم سرعت ویت و وب پک رو برای ایجاد پروژه های مختلف فارغ از اینکه تمام دردسرهایی که شما با استفاده از وب پک درگیرشون می شدید از دوشتون برداشته شده و همه چیز به صورت اتوماتیک توسط ویت هندل میشه فقط قصد داریم سرعت بیلد یک پروژه، سرعت بالا اومدن سرور در محیط دولوپمنت و زمان لود صفحه در محیط دولوپمنت رو بین ویت و وب پک مقایسه کنیم:
برای ساخت یک پروژه Vue:

میخواید براتون جذاب تر کنم قضیه رُ؟ ویت به قول معروف اوت آو د باکس (یعنی همینطور از سر خوش) تایپ اسکریپت رو ساپورت میکنه و بله  JSX  رو هم میفهمه... یعنی شما یک فایل tsx بنویسید و ویت خودش براتون در عرض چند میلی ثانیه پارسش میکنه.

توی هسته خودش ویت از ۲ تا ابزار مهم استفاده میکنه: یکی ESBuild در حین دولوپمنت و یکی هم Rollup زمان باندل نهایی (پروداکشن).


و اینکه ویت ۲ تا کمبود داره در حال حاضر اول اینکه پشتیبانی ویت از SSR فعلا در فاز آزمایشیه و استفاده از SSR ویت برای پروداکشن فعلا توصیه نمیشه و دوم اینکه اگرچه ویت، تایپ اسکریپت رو پارس میکنه اما تایپ چک نمیکنه و شما برای این کار باید به قابلیت های ادیتورتون تکیه کنید که اکثر اونها بخصوص وی اس کد بصورت پیشفرض این کار رو براتون انجام میدن.

در نهایت اینکه اگر پروژه فعلی شما برای وب پک کانفیگ شده پس دست بهش نزنید و با اون ادامه بدید اما اگر میخواید یک پروژه جدید بنویسید حتما ویت رو امتحان کنید.

دوست دارید با هم از ویت استفاده کنیم؟ کامنت بگذارید و بگید که چه نوع پروژه ای با ویت بسازیم؟ مثلا ری اکت یا ویو یا threejs یا هرچی. بر اساس کامنت شما من ویدیو ساخت پروژه با ویت رو همین روزها می سازم.

مثل همیشه ممنون از همراهی شما.



wbepackvitebundlerویتوب پک
فول ستک اگه آدمیزاد بود
شاید از این پست‌ها خوشتان بیاید