ویژگی های جدید آنگولار ۸ : چطور با آنها اپلیکیشن خود را ارتقا میدهید؟
در حال حاضر آنگولار 8 آخرین نسخه محبوبترین فریمورک گوگل در دسترس شما قرار دارد. بروزرسانی های جدیدی که در این نسخه ارائه شده است، تاثیر مثبتی بر سرعت توسعه و عملکرد برنامههای آنگولار خواهد داشت. اما باید بپذیریم که نسخه 8 این فریمورک با موفقیت زیادی همراه نبوده است.
موتور رندرکننده ای که مدتها انتظارش را میکشیدیم هنوز آماده نیست و تنها به عنوان پیشنمایشی در این نسخه در دسترس است. با این حال با انتشار هر نسخه جدیدی از این فریمورک ارتقا پیدا کرده و برنامه های ساخته شده با آن سریعتر و راحت تر اجرا میشوند.
تیم ما از قبل چندین پروژه از از نسخه 7 این فریمورک به نسخه 8 ارتقا داده است و در نتیجه همه پیشرفتهایی که در این نسخه ارائه شده است را آزمایش کرده است. در این مقاله نگاهی سریع به مهمترین تغییراتی که در این فریمورک به وجود آمده است خواهیم داشت و نشان خواهیم داد چطور برنامه شما میتواند از آنها سود ببرد.
بارگذاری Differential
بدون شک، بارگذاری Differential مهمترین بهبود در آخرین نسخه فریمورک آنگولار است. این قابلیت CLI را قادر میسازد که بسته به نوع مرورگری که برنامه خود را بر روی آن اجرا میکنید، دو بسته متفاوت جاوا اسکریپت ایجاد شود.
به صورت پیشفرض، cli اپلیکیشن ها را برای مرورگرهای مدرن و با دوام ایجاد میکند. برای بارگذاری کدهای خود در نسخههای قدیمیتر، باید آن را در فایل های فهرست مرورگرتان مشخص کنید، در اینصورت bundle مربوطه به صورت خودکار تولید خواهد شد. در پایان باید گفت که که مرورگرهای امروزی قادر خواهند بود با بستههای نرمافزاری کوچکتر ، با زمان بارگذاری کمتری کار کنند.
مزایا : اندازه bundle های تولید شده برای مرورگرهای امروزی به میزان ۷ تا ۲۰ درصد کاهش مییابد. به ترتیب به طور قابل ملاحظه ای سرعت بارگذاری برنامه شما افزایش می یابد.
پشتیبانی از Web worker
جاوا اسکریپت یک زبان single-threaded است، بنابراین کدهای مختلف را نمیتوان همان زمان اجرا کرد. خوشبختانه آنگولار وب ورکرهایی دارد که شما را قادر میسازد تا فایلهای بزرگ ( انیمیشنهای ، ویدیوها ، و غیره ) را در thread های پسزمینه انتقال دهید و thread اصلی را همچنان برای ارتباط با کاربران آزاد نگه دارید. وب ورکر ها به طور قابلتوجهی اجرای وظایف سنگین CPU را تسریع میکنند.
در آنگولار ۸ ، میتوانید وب ورکر ها را مستقیما ً با استفاده از CLI تولید کرده و از آنها در برنامه خود استفاده کنید .
مزایا : سرعت توسعه بالاتر , زمان بارگذاری کمتر و تقویت تجربه کاربری.
بروزرسانی های CLI
در نسخه هشتم ، CLI مجهز به API های سازنده جدیدی شده است که به شما این امکان را میدهد که فرآیندهای ساخت و آزمایش را سفارشی سازی کنید. همچنین بهبودهایی هم در AngularFire فراهم آمده است ، کتابخانه ای رسمی از آنگولار که پلتفرم توسعه موبایل (Firebase) را به آنگولار متصل میکند. حالا میتوانید کد خود را مستقیما ً با استفاده از CLI انتشار دهید این کار همه چیز را سریعتر و آسانتر از همیشه میسازد.
ویژگی خوشایند دیگری که توسط cli در دسترس قرار گرفته است، به اشتراک گذاری داده هایی است که به تولید کنندگان آنگولار کمک میکند. این قابلیت به تیم آنگولار اجازه میدهد اطلاعات شناخته نشده ایی مانند سرعت ساخت یا دستوراتی که به طور گسترده استفاده میشوند را برای بهبود های بعدی جمع آوری کنند.
مزایا : افزایش سرعت ساخت، تست، استقرار و درک بهتر از این که چه بهبودهایی باید در آینده انجام شوند.
پیش نمایش Ivy
فریمورک آنگولار از زمان انتشار نسخه 2 تا کنون از لحاظ اندازه و فضایی که اشغال میکند راه دور و درازی را پیموده است، اما هنوز خیلی سنگین است و فضای زیادی از حافظه را در مقایسه با ریکت و ویو جی اس اشغال میکند. موتور رندرکننده Ivy برای حل این مشکل طراحی شدهاست.
Ivy چیست؟ در واقع یک موتور فریمورک است. در حال حاضر آنگولار از از View Engine استفاده میکند که به طور کامل توسط Ivy جایگزین میشود. با وجود این واقعیت که این یک تغییر قابلتوجه است، برنامههای آنگولار مثل همیشه عمل خواهند کرد، اما با بهبودهای زیر را خواهید داشت :
- سادگی در کد نویسی
- برای تمپلت ها قابلیت چک کردن انواع بهبود می یابد
- فایل های bundle کوچکتر (Ivy بعضی فایل های کد را تا 97 درصد کاهش حجم میدهد)
- تست های سریع تر
- کامپایل سریعتر
- نیازمندی های حافظه ای کمتر
- ابزارهای تقویت شده برای پیدا کردن خطاها
با انتشار نسخه هشتم از آنگولار میتوانید یک نسخه نمایشی از Ivy را تست کنید. این پیشنمایش به شما اجازه میدهد، درک کنید که برنامههای موجود شما با موتور جدید چقدر خوب کار میکنند. با این حال، حتی اگر همه چیز خوب پیش برود ، این موتور جدید هنوز برای تولید برنامه توصیه نمیشود.
خبر خوب این است که تیم آنگولار اسکریپت هایی را برای مهاجرت برنامه شما به Ivy آماده کرده است.به محض اینکه زمانش رسید ، کد شما با موتور جدید سازگار خواهد شد. اما چه موقع دقیقا ً این اتفاق خواهد افتاد؟ احتمالا ً، در نسخه 9 آنگولار، اما هنوز کسی مطمئن نیست...
مزایا : وعده های داده شده بر این مضمون است که برنامه های شما سبکتر و سریعتر خواهند شد.
تغییرات و بهبودهای دیگر
- پشتیبانی از TypeScript 3.4 و حتی بالاتر : برنامههای کاربردی جدیدی که از طریق cli ایجاد شدهاند، از آخرین نسخه TypeScript به صورت پیشفرض استفاده میکنند.
- بهینه سازی حجم فایل های PNG : شما میتوانید از pngcrush ، یک خط فرمان متن باز جدید، برای کاهش اندازه فایلهای PNG بدون افت کیفیت استفاده کنید.
- سازگاری با نسخه های قبلی : آنگولار8 دارای سازگاری معکوس است و این بدان معناست که با ارتقا پروژه خود به نسخه جدید، همچنان برنامه شما با نسخه های قدیمی تر سازگاری دارد.
- بهبود مهاجرت از AngularJS : ویژگی های اضافه شده به ngUpgrade مهاجرت اپلیکیشن های بزرگ از AngularJS به نسخه های جدید را آسان کرده است.
- پشتیبانی آزمایشی از Bazel : Bazel یک سیستم ساخت سریع و مقیاس پذیر است که بیش از یک دهه است که توسط گوگل مورد استفاده قرار میگیرد. در واقع، خود آنگولار با استفاده ازBazel ایجاد شده است. در حال حاضر، تیم آنگولار با هدف یکپارچهسازی، این ابزار قدرتمند را در اکوسیستم آنگولار قرار داده است.
آیا باید برنامه های خود را به آنگولار نسخه 8 ارتقا دهید؟
آنگولار نسخه ۷ تا آوریل ۲۰۲۰ پشتیبانی خواهد شد، بنابراین زمان کافی برای ارتقا پروژه خود به نسخه 8 را دارید . اما توصیه میکنیم هر چه زودتر به آخرین نسخه مهاجرت کنید. هرچه زودتر این بهبودها را انجام دهید ، برای برنامه شما بهتر است. علاوه بر این ، مهاجرت به آنگولار ۸ به شما این امکان را میدهد که مطمئن شوید که برنامه شما برای استفاده از موتور جدید آماده است و در آینده ای نزدیک به آن مهاجرت میکند.
برای شروع کار با نسخه جدید تردید نکنید و از مزایای آن مانند افزایش عملکرد و بارگذاری سریعتر بهرهمند شوید.
منبع: لرن سورس