تغیرات انگولار8 (آخرین ورژن Angular)
فریم ورک Angular8
انگولار۸ آخرین نسخه انگولار که ساعتی قبل منتشر شد. امروز در این مقاله قصد داریم تا به بررسی ورژن هشتم فریم ورک انگولار ( Angular 8 ) بپردازیم و در مورد اتفاقات و تغییراتی که گوگل بر روی این فریم ورک خود پیاده سازی کرده است. مطالبی را به طور خلاصه ارائه دهیم.
این نسخه از فریم ورک انگولار تغییراتی کمی داشته است. که تا حدی ناتمام مانده است و نوید انتشار نسخه ی کامل تر و قدرتمند تری را در نسخه ی نهم انگولار را به ما میدهد؛ اما همین تغییرات کم، حرکت رو به جلو و اهمیت زیادی در ارتقاء angular داشته است.در ادامه به چهار مورد از مهمترین این تغییرات اشاره خواهیم کرد.
مروری کامل بر فریمورک Angular
بهینه تر شدن حجم ANGULAR8
اولین ویژگی کاهش حجم بسته ی Angular در ورژن هشتم است. Angular 8 ( انگولار ۸ ) در مرورگر های جدید بهینه تر اجرا میشود. هفت تا بیست درصد این کاهش حجم به دلیل استفاده از ویژگی های جدید زبان جاوا اسکریپت است که در angular8 از آنها استفاده شده است.
کاهش حجم بسته ی Angular در ورژن هشتم
پیکربندی روت ها با استفاده از DYNAMIC IMPORTS
بخشی از کندی واکنش تا به اینجای کار با فریمورک انگولار، مربوط به استفاده از loadchildren ها در روت ها بوده است. در نسخه های قبلی انگولار، به شکل زیر عمل می کردیم:
{path: 'lazy’, loadChildren: ' ./lazy/lazy.module#LazyModule '}
اما در نسخه ی انگولار ۸، از dynamic imports ها استفاده میکنیم و همین کد را به صورت زیر مینویسم:
{path: `/lazy`, loadChildren: () => import(`./lazy/lazy.module`).then(m => m.LazyModule)}
این کار پشتیبانی بهتری را از سمت ادیتور هایی مانند ویژوال استدیو کد و وب استورم (web stom) خواهد داشت و به سادگی قادر خواهند بود تا درستی این فراخوانی و بارگذاری را متوجه شوند.
IVY در انگولار 8
بزرگترین اتفاق در این ورژن از انگولار، استفاده از Ivy هست.Ivy کامپایلر جدید انگولار ۸ است که به وسیله ی آن رندر سریع تر و بهتری را در انگولار۸ شاهد خواهیم بود. رندر کد ها توسط Ivy بسیار عالی صورت میگیرد و ظرفیت ایجاد کد با حجم بسیار کمتر نسبت به گذشته را دارد. با توجه به اینکه بخش های بسیاری از انگولار دستخوش تغییر و باز نویسی قرار گرفته است. اما تیم توسعه دهنده ی انگولار تمرکز زیادی بر روی همگام بودن و سازگاری این نسخه از Angular8 با نسخه های پیشین داشته است.
به محض سوییچ کردن به استفاده از Ivy اپلیکیشن قبلی شما به بهترین شکل و با کمتری تغییرات کار خود را از سر خواهد گرفت. و شما اهمیت Ivy را در اولین استفاده از آن متوجه خواهید شد. اما به بیان تیم توسعه دهنده ی Angular بهتر است از Ivy استفاده نکنیم و از همان روش قبلی برای رندر کدهایمان بهره ببریم؛ چرا که به زودی تغییراتی ممکن است در آن به وجود بیاید.
Differential Loading در انگولار 8
این فرآیندی است که در آن مرورگر بین جاوا اسکریپت مدرن و قدیمی بر اساس ظرفیت ارائه آن انتخاب می کند. CLI به طور خودکار بسته های تولید چندگانه را برای مرورگر مدرن و قدیمی ایجاد می کند. و بسته مرورگر مدرن همیشه کوچکتر خواهد بود زیرا می تواند از تمام ویژگی های جدید جاوا اسکریپت بدون تبدیل آن به ec5 استفاده کند. بنابراین زمانی که کاربر از برنامه شما بازدید می کند، یک اسکریپت کوچک به طور خودکار مرورگر را شناسایی می کند و بر اساس آن بیلد انتخاب می شود. ما نیازی به پیکربندی چیزی نداریم. اندازه بسته ممکن است بدون تغییر کد به 7 تا 20 درصد کاهش یابد.
Bazel در انگولار 8
Angular پشتیبانی آزمایشی را برای bazel اضافه کرده بود، bazel یک ابزار ساخت است که توسط گوگل استفاده میشد. و اکنون یک منبع باز است که فرآیند ساخت را برای بهینهسازی جریان و سرعت ساخت کلی انجام میدهد اما هنوز کاملاً تمام نشده است، هنوز هم میتوانید فعال کنید.
Lazy Loading در انگولار 8
lazy loading بر اساس مفاهیم Angular Routing است، زیرا با lazy loading فایل های مورد نیاز، به کاهش حجم فایل های بزرگ کمک می کند. در نسخههای قبلی، پیکربندی مسیر از ویژگی @loadChildren استفاده میکند که رشتهای را میپذیرد. و اگر هنگام نوشتن کد، نام ماژول اشتباه یا اشتباه تایپی وجود داشته باشد، Angular آن را اشتباه در نظر نمیگیرد و هر مقداری را که در آنجا بود بهعنوان رشته میپذیرد تا زمانی که ما آن را انجام دهیم. سعی کنید آن را بسازید
تایپ اسکریپت به 3.4.x به روز شد
در جدیدترین نسخه Angular 8، آنها وابستگی های Angular را به روز کرده اند. که شامل ابزارهایی مانند RxJS و TypeScript به نسخه 3.4 (Angular 7 از نسخه 3.2 استفاده می کند) و برنامه های جدید تولید شده از طریق Angular CLI نیز به طور پیش فرض از جدیدترین نسخه TypeScript استفاده می کنند.
بهبود MIGRATION ها در ANGULAR8
اگر تا الان از Angular Js استفاده کرده باشید، حتما با location service$ آشنا شده اید؛ اما اکنون انگولار ۸ locationUpgradeModule را ایجاد کرده است. که یک location service یکپارچه ای را برای ما فراهم میکند. به همین علت مسئولیت location service$ موجود در Angularjs به location service در Angular8 پاس داده میشود. این موضوع روند فعالیت برنامه را هنگام استفاده از ngUpgade را در بخش هایی که نیاز به روتینگ داریم را، هم در angular و هم در angularjs بهبود میبخشد.
ساخت API ها به وسیله CLI
به همان شکل که تاکنون Schematics ها به ما اجازه میدادند تا با دستورات ng new ng generateng ng add و ng update کار کنیم؛ در انگولار ۸ قابلیتی برای ساخت API ها ایجاد شده است که از دستورات Ng build , ng test , ng run استفاده کنیم و کار هایی مانند ساخت و توسعه را در طول فرآیند به بهترین شکل انجام دهیم.
2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
آموزش تصویری رایگانشو از کجا بیارم
به زودی در همین سایت یه آموزش رایگان میذاریم براش