قسمت 23/26: New Control Flow، Angular 17، AnalogJS، “Developer Preview”

ما Alex Rickabaugh را داشتیم که در مورد نیاز به یک سینتکس جریان کنترل جدید صحبت می کرد. Minko Gechev طرح انتشار اجزای مبتنی بر سیگنال در Angular 17 را به عنوان پیشنمایش توسعهدهنده تأیید کرد. براندون رابرتز به روز رسانی در AnalogJS ارائه کرد و ما در نهایت تعریفی برای “پیش نمایش توسعه دهندگان” دریافت کردیم.
https://www.youtube.com/watch?v=LtwMXO-gTys
Alex Rickabaugh: نیاز به یک نحو کنترل جریان
Alex Rickabaugh، سرپرست فناوری فریم ورک Angular، توضیح کاملی در مورد نیاز به یک سینتکس جریان کنترل جدید ارائه کرد.
در حال حاضر از بخشنامه های ساختاری استفاده می کنیم *ngIf
، *ngFor
، و *ngSwitch
برای جریان کنترل
Angular آنها را به صورت اجباری اجرا نمیکند، مانند یک if
بیانیه در جاوا اسکریپت در عوض، آنها به عنوان نوعی ابرداده برای کامپایلر عمل می کنند. کامپایلر کامپوننت را به چند نما تقسیم می کند. View مخفف مجموعه ای از عناصر DOM است که ثابت هستند. دستورالعمل های جریان کنترلی به عنوان معیاری برای ایجاد یک نما عمل می کنند.
علاوه بر این، نسل کامپایلر an <ng-template>
و دستورالعمل های سازه ای را به عنوان یک ویژگی عادی که بر روی آن الزام آور است اعمال می کند.
گرچه رویکرد فعلی دارای مشکلاتی است.
- نحو چندان مناسب توسعهدهندگان نیست،
- بررسی نوع ناقص است. این مورد به ویژه برای
else
بیانیه. - ما باید از یک استفاده کنیم
<ng-container>
، اگر بخواهیم یک دستورالعمل داشته باشیم اما نمی خواهیم یک عنصر DOM جداگانه ایجاد کنیم. همین امر زمانی صادق است که بخواهیم از چندین دستورالعمل استفاده کنیم. ما میتوانیم فقط یکی را برای یک عنصر DOM (یا) اعمال کنیم. - در نهایت، اگر چندین دستورالعمل نیاز به همکاری داشته باشند، ممکن است بسیار سخت شود.
RFC جدید برای جریان کنترل این مشکلات را برطرف خواهد کرد. این یک فرمت از نحو الگو خواهد بود.
به گفته الکس، یکی از نکات منفی رویکرد آینده این است که آنها از امکان نوشتن این نوع عملکردها به تنهایی دور می شوند (او آن را فضای کاربری نامید). جریان کنترل جدید یک ویژگی بومی الگو خواهد بود.
اما نکته اصلی این است که این احتمال وجود دارد *ngIf
، *ngFor
، و *ngSwitch
ممکن است منسوخ شود کی و چگونه، موضوع آینده است. اما Angular می خواهد یک راه برای انجام کارهای مرکزی داشته باشد.
مینکو گچف در Angular Air
Minko Gechev، رهبر محصول Angular، مهمان پادکست Angular Air بود. او برنامه انتشار اجزای مبتنی بر سیگنال در Angular 17 را به عنوان پیش نمایش توسعه دهندگان تأیید کرد. کتابخانه سیگنال که در Angular 16 معرفی شده است، از قبل پایدار خواهد شد.
مؤلفه مبتنی بر سیگنال نوع جدیدی است که بدون zone.js اجرا می شود. توصیه این است که شروع به استفاده از سیگنال ها در بخش های حیاتی برنامه خود کنید.
امکان انتقال خودکار به Signals وجود ندارد.
https://www.youtube.com/watch?v=3_QBBAZXJ-I
براندون رابرتز در AnalogJS
براندون رابرتز وضعیت فعلی Analog.js را خلاصه کرد. این متا فریم ورک ویژگی هایی مانند Vitest، مسیریابی مبتنی بر فایل، مسیرهای API، و رندر سمت سرور و تولید خارج از جعبه را اضافه می کند.
معنی “پیش نمایش توسعه دهنده” و آینده فرم ها
در جدیدترین ضبطهای ng-conf، دو بینش جدید دریافت کردیم.
ویژگی علامت گذاری شده به عنوان “پیش نمایش توسعه دهنده” نسخه بتا نیست. کاملاً کاربردی و از پیش پایدار است، اما ممکن است API تغییر کند.
دوم، بازنگری فرم ها یک هدف میان مدت است. در حال حاضر، تیم Angular هنوز نمی داند به کدام سمت خواهد رفت. حتی ممکن است Reactive و Template دوباره با هم ترکیب شوند.