
تاریخچه Angular و مقایسه نسخه های مختلف آن.
آشنایی با فریم ورک Angular و بررسی نسخه های 1 تا 6 این فریم ورک
مقایسه ویژگی های نسخه های مختلف فریم ورک ANGULAR
مقدمه (نمای کلی):
Angular پلتفرمی برای ایجاد اپلیکیشن های تحت وب، موبایل و دسکتاپ است.
Angular از قابلیتهای قالبهای اعلامی، تزریق وابستگی، ابزارهای انتها به انتها و بهترین شیوههای یکپارچه برای حل مشکلات توسعهدهندگان استفاده کرده است.
گوگل ورژن های زیر را برای این فرم ورک جاوا اسکریپتی سمت کاربر (client-side) ارائه کرده است:
انگیولار جیاس ۱٫x (Angular JS 1.x):
- معمولا AngularJS به نام های Angular.js و یا Angular 1.x نیز شناخته می شود.
- انگیولار یک فریم ورک front-end جاوااسکریپتی است برای ایجاد وب اپلیکیشن.
- شرکت گوگل مسئولیت توسعه و پشتیبانی این فریم ورک قدرتمند را برعهده دارد.
- هدف انگیولار تسهیل فرآیند توسعه و تست اپلیکیشن های تک صفحه ای (SPA: Single Page Applications) می باشد که می تواند دارای معماری MVC (Model-View-Controller) یا MVVM (Model-View-ViewModel) باشد.
ویژگیهای انگیولار ۱ (AngularJS 1.x):
- اولین نسخه انگیولار در ماه اکتبر سال ۲۰۱۰ (Oct 2010) ارائه شد.
- آخرین نسخه Angular 1.x در سال ۲۰۱۷ ارائه شد که ورژن Angular 1.6.9 می باشد.
- زبان توسعه انگیولار جاوا اسکریپت (Javascript) می باشد.
- وب سایت رسمی AngularJS یا Angular 1.x “Angularjs.org” می باشد.
» مطالعه مقاله “آموزش مقدماتی انگیولار ۱ – ANGULARJS“
انگیولار ۲ (Angular 2):
ورژن ۲ انگیولار یعنی ANGULAR 2 بطور کلی با نسخه اول این فریم ورک تفاوت دارد و نحوه توسعه آن کاملا با ANGULAR 1.X فرق دارد.
مشخصات انگیولار ۲ (ANGULAR2):
- زبان توسعه فریم ورک Angular 2 تایپ اسکریپت (Type Script) می باشد.
- انگیولار ۱ برای موبایل ایجاد نشده بود اما انگیولار ۲ برای دستگاه های موبایل تولید شده است.
- Angular 2 در ماه سپتامبر سال ۲۰۱۶ (Sep 2016) ارائه شده است.
- برای توسعه اپلیکیشن توسط انگیولار۲ می توان از زبان های برنامه نویسی اکما-اسکریپت۵ (ES5) ، اکما-اسکریپت۶ (ES6) ، تایپ اسکریپت (TypeScript) و یا دارت (Dart) استفاده کرد.
- وب سایت رسمی انگیولار ۲ Angular.io می باشد.
انگیولار ۳ (Angular 3):
ورژن سوم انگیولار (Angular 3) ارائه نشد! دلایل این پرش در ورژن های ارائه شده در انگیولار ناهماهنگی بین ورژن کتابخانه های angular/core@ و angular/compiler@ و angular/router@ می باشد.
دلایل عدم ارائه Angular 3:
ورژن core و router انگیولار ۲ بصورت زیر می باشد:
angular/core v2.3.0@
angular/compiler v2.3.0@
angular/compiler-cli v2.3.0@
angular/http v2.3.0@
angular/router v3.3.0@
همانطور که در لیست بالا مشاهده می کنید، ورژن روتر (router) در ANGULAR2 “3.3.0” می باشد. اگر گوگل می خواست ورژن ۳ انگیولار را ارائه دهد، باید نسخه ROUTER آنرا برابر ۴ قرار میداد که این تناقض در اعداد باعث سردرگمی و گیج شدن کاربران می شد. بنابراین گوگل تصمیم گرفت از ارائه نسخه ۳ انگیولار (ANGULAR3) صرف نظر کند و سراغ ورژن ۴ برود.
همچنین بخوانید : معرفی فریم ورک جاوا اسکریپت انگولار ۶
انگیولار ۴ (Angular 4):
انگیولار ۴ در ماه مارس ۲۰۱۷ میلادی ارائه شد.
تفاوت انگولار ۴ با انگولار ۲:
انگیولار ۴ هیچ تغییر عمده ای نسبت به ورژن دوم انگیولار (Angular2) ندارد و با تمام اپلیکیشن های نوشته شده با ANGULAR2 مطابقت دارد.
هدف گوگل از ارائه نسخه چهارم انگیولار (ANGULAR 4) سریع سازی اپلیکیشن های انگیولار۴ و فشرده سازی کدهای آن می باشد.
در بسیاری از موارد، تا ۶۰ درصد از حجم کدهای تولید شده در کامپوننت های انگیولار۴ (نسبت به angular2) کاهش یافته است.
انگولار ۴ نسبت به انگولار ۲ پیغام های مناسب تری بهنگام رفع خطای کدنویسی به توسعه دهنده ارائه می دهد.
تفاوت دیگر ANGULAR4 نسبت به ANGULAR2 اینست که انیمیشن ها از angular/core@ بیرون کشیده شده است. در ورژن ۴ هر زمان که به Animations احتیاج داشتید می توانید دستور {BrowserAnimationsModule} را از angular/platform-browser/animations@ به NgModule ایمپورت (import) کنید.
در انگیولار ۴ علاوه بر دستور *ngif دستور *ngelse نیز وجود دارد.
در ANGULAR 4 دیگر نیازی به تعریف pattern برای اعتبارسنجی آدرس ایمیل نمی باشد.
در انگیولار ۴ می توان از کدنویسی typescript 1.8 به بالا (Typescript 2.2) استفاده کرد.
انگیولار ۵ (Angular 5):
ANGULAR 5 در نوامبر ۲۰۱۷ (Nov 2017) توسط گوگل ارائه شده است.
برای مشاهده لیست کامل تغییرات نسخه ۵ انگیولار نسبت به نسخه های قبلی، ChangeLog انگیولار را در github مطالعه نمائید.
موارد بهبودیافته در انگولار ۵:
چند مورد از موارد بهبود یافته ANGULAR5 بصورت زیر است:
- Build Optimizer
- Compiler Improvements
- Universal State Transfer API and DOM Support
- Internationalized Number, Date, and Currency Pipes
تغییرات در HttpClient:
angular/http@ در ANGULAR 5 حذف شده است و با کتابخانه angular/common/http@ جایگزین شده است.
تغییرات در HttpModule:
HttpModule دیگر در انگولار ۵ استفاده نمی شود زیرا با HttpClientModule از کتابخانه angular/common/http@ جایگزین شده است.
انگیولار ۶ (Angular 6):
ورژن بتای انگیولار ۶ (Angular 6.0.0-beta.7) بتازگی ارائه شده است. هم اکنون که در حال نگارش این مقاله هستم، نسخه پایدار (stable) انگیولار ۶ نیز ارائه شده است (هفته اول آپریل ۲۰۱۸ نسخه ANGULAR 6 Stable ارائه شده است)
در ANGULAR 6 از موارد زیر پشتیبانی می شود:
- TypeScript 2.6.x
- ویژگی های جدید فرم ها
- Router: Added navigationSource and restoredState to NavigationStart event
- Optional generic type for ElementRef
نتیجه گیری:
همانطور که از روند توسعه ورژن های مختلف Angular ملاحظه کردید، هرچه ورژن های انگولار آپدیت می شد، ویژگی های بهتری به آن اضافه می شود، کدنویسی آن ساده تر می شود و سرعت و کارایی نیز بهبود می یابد.
تغیره عمده انگیولار یک نسبت به سایر نسخه ها استفاده از Type Script شیء گرا بجای جاوا اسکریپت می باشد.
تیم توسعه ANGULAR تقریبا هر ۶ ماه یکبار، نسخه جدیدی از این فریم ورک قدرتمند و پرطرفدار ارائه می دهد.