تیم توسعه Angular تغییر به سمت یک مدل استفاده مجدد سادهتر را برای بهبود تجربه توسعهدهنده در نظر میگیرد.
توسعه دهندگان Angular، چارچوب وب محبوب مبتنی بر TypeScript، در نظر دارند NgModules را اختیاری کنند. هدف این است که Angular را به سمت یک مدل استفاده مجدد سادهتر برای بهبود تجربه توسعهدهنده سوق دهیم.
یک پیشنهاد RFC (درخواست نظر) در GitHub با عنوان “قطعات، دستورالعملها و بخشهای مستقل لولهها — اختیاری کردن NGModules Angular،» به دنبال تأیید اعتبار طراحی مورد نظر با جامعه، درخواست بازخورد و فعال کردن آزمایش از طریق یک نمونه اولیه غیر آماده برای تولید است. RFC در ۸ اکتبر پست شد و قرار است زودتر از ۸ نوامبر بسته شود.
یک مفهوم اصلی Angular، NgModules محفظههایی از عملکرد هستند که برای مدیریت وابستگیها در چارچوب استفاده میشوند. هنگامی که یک مؤلفه نیاز به استفاده از مؤلفه، دستورالعمل، لوله یا ارائه دهنده دیگری دارد، وابستگی مستقیماً ارجاع داده نمی شود. در عوض، یک NgModule وارد میشود که شامل اجزا، دستورالعملها و لولههای صادر شده، همراه با ارائهدهندگان پیکربندی شده است. در نتیجه، توسعه دهندگان باید یک NgModule ایجاد کنند تا حتی ساده ترین برنامه Hello, World را بوت استرپ کند.
RFC استدلال میکند که داشتن Angular به صورت مفهومی حول NgModule بر تجربه توسعهدهنده تأثیر منفی میگذارد. RFC دلایل متعددی را ذکر می کند:
- تألیف مؤلفهها بیشتر از کدنویسی یک کلاس یا الگو درگیر است.
- APIهای مربوط به بارگیری و رندرینگ به طور غیرضروری پیچیده هستند و به راحتی قابل سوء استفاده هستند.
- خواندن کد جزء برای درک رفتار جزء کافی نیست.
- ابزارهای زاویهای باید با وابستگیهای «ضمنی» مؤلفهها در زمینه NgModule خود سروکار داشته باشند.
RFC حرکت Angular را در جهتی میطلبد که اجزاء، دستورالعملها و لولهها نقش محوریتری داشته باشند، مستقل باشند و بتوانند بهطور ایمن وارد شده و مستقیماً مورد استفاده قرار گیرند. این طرح «مدل ذهنی» Angular را ساده میکند، APIهای جدید را برای استفاده از مؤلفهها و دستورالعملها (مانند یک API برای بارگذاری تنبل ریز) امکانپذیر میکند و توانایی ابزارهای Angular را برای پردازش مؤثر کد بهبود میبخشد. بنابراین استفاده از Angular سادهتر، استدلال کردن آسانتر، پرمخاطبتر، و کامپایل سریعتر خواهد بود.
مفهوم NgModule از Angular حذف نمیشود، اما برای کارهای توسعه معمولی اختیاری میشود. در برخی موارد، تیم توسعه Angular می تواند حذف NgModules را به طور کلی در نظر بگیرد. در همین حال، این پیشنهاد تاکید می کند که NgModules نه از بین می رود و نه منسوخ می شود. توسعه دهندگان همچنان می توانند آنها را ایجاد کرده و از آنها استفاده کنند.
در حالی که تیم توسعه در مورد تغییر NgModule فکر می کند، خود Angular به حرکت خود ادامه می دهد. Angular 13 هفته آینده قرار است و انتقال به موتور کامپایل و رندر Ivy را تکمیل می کند. Angular 12 که در ۲۴ ژوئن منتشر شد، همچنین بر روی آیوی تمرکز داشت.
پست های مرتبط
پیشنهاد Angular NgModules را اختیاری می کند
پیشنهاد Angular NgModules را اختیاری می کند
پیشنهاد Angular NgModules را اختیاری می کند