اطلاع از تاریخ انتشار و بررسی جدیدترین قابلیتهای Vue 3
۳۰ مرداد ۱۳۹۹
احتمالا میدانید که نسخه جدیدی از Vue در راه است. این اطلاعیه را Evan you، پاییز سال 2018 در لندن منتشر کرد. تا زمان انتشار نسخه بعدی Vue که آن را Vue 3 مینامند، در این مقاله تمام اطلاعات مورد نیاز، منابع مفید و باارزش را برای شما جمعآوری کردهایم.
تاریخ انتشار Vue 3
انتشار نسخه رسمی این فریمورک با توجه به نقشهراه برای Q3 2020 یا بهطور دقیقتر چهارشنبه 11 تیر الی چهارشنبه 9 مهر برنامهریزی شده است. بااینحال، این نسخه در مرحله RC (release candidate) قرار دارد (اطلاعیه رسمی RC). به این معنی که APIها و پیادهسازیشان، در وضعیت پایداری قرار دارد و تغییرهای بیشتری ایجاد نمیشوند. اما در حال حاضر تیم توسعه این فریمورک، قبل از انتشار رسمی نسخه جدید، بر روی بعضی از موارد مانند رفع برخی مشکلهای کوچک کار میکنند.
همچنین باید افزود که مستندات Vue 3 همراه با یک راهنما، که تغییرها را برای شما روشن میکنند، منتشر شده است. البته هر دو، نسخه بتا هستند اما مستندات کاملی را در اختیار شما قرار میدهند و شما میتوانید بدون هیچ مشکلی، آزمایش نسخه جدید را شروع کنید. اگر در این نسخه از Vue مشکلی پیدا کردید، از طریق این لینک میتوانید مشکل را اعلام کنید.
برای اینکه کار را آسانتر کرده و سریعتر آزمایش نسخه جدید را شروع کنید، مهمترین ابزار مورد نیاز را در لیست زیر نام میبریم. بهخاطر داشته باشیم که تمام این ابزارها WIP (Work-in-Progress) هستند.
- نسخهی بتا Vue Devtools
- نسخهی رسمی Vue 3 Router
- افزونه Vue CLI برای آزمایش نسخهی بعد
- ابزار تست Vue 3
- نسخهی آلفا Vuex 4 که با Vue 3 سازگاری دارد، درحالیکه همان APIهای Vuex 3 را ارئه میدهد.
اگر میخواهید عمیقتر بدانید، این لینک به شما کمک میکند.
ویژگیها و تغییرهای Vue 3
همانطور که Evan You بیان کرده، نسخه 3 این فریمورک، سریعتر و کم حجمتر شده، قابلیت نگهداری بیشتری دارد و برای استفاده از قابلیتهای Native آسانتر شده است.
Composition API
یکی از مهمترین تغییرهای بهوجود آمده، یک API جدید است که به شما اجازه میدهد که کامپوننتهایی بر اساس توابع (function-base) بنویسید، این قابلیت الهام گرفته از React Hooks است. همچنین این قابلیت به شما اجازه میدهد که منطق برنامهتان را در یک “composition functions” قرار دهید و در کامپوننتهای دیگر مجددا از آن استفاده کنید. برای اطلاعات بیشتر از منابع API میتوانید Request for Comments (RFC) را بخوانید (این API از “Function API” به “Composition API” تغییر نام پیدا کرده است، بنابراین در خواندن متنها گمراه نشوید).
با استفاده از این قابلیت شیوه استفاده از Vue تغییر میکند. بااینحال، در برنامههای Vue 2.x اختلالی ایجاد نمیشود زیرا بهعنوان یک API جدید بهطور 100 درصدی با سینتکس فعلی سازگار است و به این زودیها منسوخ نمیشود.
به احتمال زیاد با این تغییر، انعطافپذیری زیادی برای توسعهدهندگان به ارمغان میآید و در نتیجه کدهای بهتری ایجاد میشوند.
اگر میخواهید Composition API را امتحان کنید، افزونه آن برای Vue 2.x در دسترس است و یک مرجع کامل برای استفاده از آن وجود دارد.
سایر تغییرهای Vue 3:
- بازنویسی DOM مجازی برای عملکرد بهتر، و پشتیبانی بهتر از TypeScript،
- Native portal، که اکنون Teleport نامیده میشود،
- Fragments (المنتهای مجازی که در ساختار درختی DOM، ارائه نمیشوند)،
- Global mounting،
- توقف رندر بعضی از کامپوننتها با ایجاد شرط،
- و …
برای اطلاعات بیشتر درمورد بازنویسی این فریمورک میتوانید به مقالهای که توسط Evan You در این مورد نوشته شده است، مراجعه کنید.
ارتقا برنامهها از Vue 2 به Vue 3
بنابراین با آمدن نسخه جدید این فریمورک، چه اتفاقی برای نسخه قبل میافتد؟ چگونه میتوانیم برنامههایمان را به نسخه جدید، ارتقا دهیم؟
یک بهروزرسانی برای آخرین نسخه Vue 2 عرضه میشود که با Vue 3 سازگار است و در آن برای قابلیتهایی که در نسخههای بعد منسوخ میشوند، هشدار قرار میدهند. این نسخه بهصورت LTS (Long-term support) به مدت 18 ماه در دسترس قرار میگیرد. که به این معناست، Vue 2 بهروزرسانیهای امنیتی را دریافت میکند و برای استفاده ایمن است.
برای ارتقا از نسخه 2 به 3، یک راهنما در حالت بتا قرار دارد که با Vue 3 سازگار است. همچنین ابزار خط فرمان (command line) برای ارتقا برنامه، در دسترس است که به شما در ارتقا خودکار برنامهتان در صورت توان کمک میکند، همچنین در قسمتهایی که به تغییرهای دستی نیاز است، شما را مطلع میسازد.
آیا هنوز هم میتوان از Vue 2 برای انجام پروژهها استفاده کرد یا باید منتظر Vue 3 بمانیم؟
اگر شما تصمیم دارید که یک پروژه جدید را شروع کنید، توصیه رسمی این است که از Vue 2 استفاده کنید. در صورت انجام اینکار باید مراقب تغییرها باشید و همچنین از استفاده از کتابخانههای شخص ثالثی که احتمال دارد بهسرعت بهروزرسانی نشوند هم خودداری کنید و از قابلیتهای حذفشده نیز استفاده نکنید.
اگر میتوانید تا Q3 2020 صبر کنید، اینکار را انجام دهید و سپس توسعه برنامههایتان را با Vue 3 شروع کنید.
اگر سوالهای بیشتری دارید که در این قسمت پاسخ داده نشده است، میتوانید به بخش پرسش و پاسخهای موجود در نقشهراه Vue 3 مراجعه کنید.
آیا یادگیری Vue 2 را شروع کنیم یا تا زمان انتشار Vue 3 منتظر بمانیم؟
اگر شما تازه میخواهید با فریمورک Vue آشنا شوید و با آن کار کنید، از منابع موجود Vue 2 دریغ نکنید. بیشتر مفاهیم کلیدی فریمورک یکسان باقی میماند و دانشتان هنگام انتشار نسخه 3 این فریمورک، هنوز هم ارزشمند است.
بسیاری از تغییرهای Vue 3، مانند بازنویسی DOM مجازی و کدهای پایه با TypeScript، باعث میشوند عملکرد Vue سریعتر شود اما در صورتی که تمایل نداشته باشید، الزامی به استفاده از TypeScript نیست.
زمانی که صحبت از مستندسازی میشود، تیم توسعه Vue عملکرد عالی از خود بهنمایش میگذارند و در حال حاضر، آنها نسخه بتای Vue 3 را قرار دادهاند و مطمئن هستیم در سازگاری با سینتکس جدید هیچ مشکلی برای شما رخ نخواهد داد.