lorem impsum i guess :D
اشتباه اکثریت در مورد انگولار
انگولار قطعا یکی از معروف ترین فریمورک های موجود در زمینه ی توسعه ی فرانت اند و برنامه های SPA هستش و فکر میکنم رویه این قضیه هر چند خوشمون بیاد ازش یا نیاد و طرفدار فریمورک های دیگه باشیم یا نباشیم به اتفاق قبول داریم .
اخیرا با نوشتن انگولار در رزومه توسط افرادی که مصاحبه می شدم ، سوالی به طور مکرر پرسیده می شد که یا به نظره من اشتباه تکنیکال بود یا عدم اطلاع فرد سوال کننده از انگولار و سیاستی که گوگل برای اون در نظر گرفته هستش.
متن رزومه : آشنا یا مسلط یا هر چی به انگولار
**جلسه ی مصاحبه**
مصاحبه کننده ی محترم : شما نوشتی انگولار ولی نسخه شو ننوشتید چرا ؟ انگولار 2 یا 3 یا 4 یا ... ؟
زمانی که این سوال از من پرسیده میشه این حباب در ذهنم شکل میگیره که سوال کننده هیچ تحقیقی در مورد انگولار نکرده و اطلاعی از اون به طور کل نداره یا آشنایی با نسخه ی اول داره و فقط میدونه که نسخه ی دوم یه بازنویسیه کامل هستش ( اگر این فرض رو هم بذاریم که دلیل این بازنویسی رو هم میدونه )
یا بعضا با این نظر رو به رو شدم :
مصاحبه کننده ی محترم : نسخه ی انگولار رو ننوشتید ... البته باید بگم انگولار مسخره کرده خودشو هر هفته داره یه نسخه میده ، چطور میشه هر هفته یه نسخه ی جدید رو یاد گرفت ....
اما ایراد این سوال در کجا هست ؟
پرسیدن این سوال تا مدتی پس از عرضه ی نسخه ی دوم درست بود ولی با عوض شدن سیاست تیم توسعه دهنده در خصوص نسخه بندی انگولار کمی به نظر من بد سلیقگی هستش و عدم اطلاع رو میرسونه
اما روش نسخه بندی تیم انگولار چیست ؟
با عرضه ی نسخه ی دوم تصمیم تیم بر این هست که از روش Semantic Versioning استفاده کنن به این معنا که ویژگی های جدید به انگولار رو بتونن اضافه کنن و همچنین باعث بازنویسی های کامل مثه نسخه ی قبلی نشن .
با این روش آپدیت هایی که پچ ریلیز هستن (2.1.5) باعث خراب شدن برنامه ی شما نخواهند شد و حالت باگ فیکس دارند ، آپدیت های جزئی (2.2.0) شامل اضافات مشخصی هستند که میتونید از بک لاگ اون ریلیز متوجه اضافات بشید.
اما ریلیز ها و آپدیت های بزرگ (3.0.0) شامل تغییراتی هستند که وابسته به برنامه ی انگولاری شما ممکن هست باعث بِرِک شدن برنامه ی ما بشن.
با استفاده از این روش در صورتی که منظور ما نسخه ی جدید انگولار هست به نظر من استفاده از نسخه ی اون بی معنی هست همونطوری که تیم انگولار نیز فقط ازش به عنوان انگولار یاد میکنه نه انگولار 5 یا انگولار 6 و اگر منظور ما از پرسیدن نسخه اون قابلیت خاصی هست که در ریلیز مشخصی ارائه شده بهتر هست از همون قابلیت سوال کنیم ، آیا با API Drag & Drop کار کردید ؟یا ....
علاوه بر این روش نیز تیم انگولار یک دوره ی زمانی برای عرضه ی نسخه های جدید نیز در نظر گرفته تا افرادی که علاقه مندن با تغییرات جلوتر آشنا بشن و برنامه شون رو در صورتی که علاقه مندن آپدیت کنن و به نسخه ی جدیدتر ببرن .
طبق گفته ی خودشون هم باید اینطور انتظار داشت که هر هفته یک پَچ ریلیز دارند و به طور میانگین درهر شِش ماه 3 ریلیز جزئی ( minor) و یک ریلیز بزرگ ( major) خواهند داشت.
همچنین تیم انگولار نیز برای ریلیز های جزئی و بزرگ نیز آپدیت های بِتا و RC ارائه میده تا علاقه مندان بتونن خودشون رو زودتر هماهنگ کنن یا اگر فیچری هست که ما همین الان بهش احتیاج داریم بتونیم سریع تر بهش دسترسی پیدا کنیم ( قطعا با مشکلاتش هم دست و پنجه باید نرم کنیم :D)
پس زمانی که مصاحبه کننده میپرسه نسخه ی 4 رو بلدی یا نسخه ی 5 در صورتی که فکر می کنیم بهش بر نمیخوره گوش زد کنیم که این نسخه بندی مانند نسخه بندی انگولار 1 و 2 نیستش ....
پ.ن : روش نسخه بندی SemVer فکر میکنم تقریبا توسط همه ی کتابخونه ها ، فریمورک ها و ... که داخل npm هاست میشن استفاده میشه .
مطلبی دیگر از این انتشارات
ویژگی های جدید Angular 9… پروژه Ivy رسید!
مطلبی دیگر از این انتشارات
آیا استفاده از SSR برای داشتن SEO بهتر در وب اپلیکیشن ها تنها راه ممکنه؟
مطلبی دیگر از این انتشارات
چگونه در انگولار نتیجه درخواست HTTP را Cache کنیم؟