مجید خالقیان
مجید خالقیان
خواندن ۴ دقیقه·۳ سال پیش

تیم Angular گام‌های درستی برداشت ولی Vue.js با الهام گیری از AngularJS محبوب تر شد!!

حتما می‌دانید که بستر توسعه‌ای که امروز با نام Angular می‌شناسیم، پیش از این با نام AngularJS شناخته می‌شد که اساسا یک Framework دیگر بود و برای نسخه جدید، صرفا از برند آن استفاده کردند و با نام Angular 2 معرفی شد.

هنگامی که Angular 2 معرفی شد همه با یک چیز جدید که شباهت اندکی به نسخه قبلی داشت مواجه شدند. یادگیری آن برای بسیاری دشوار به نظر می‌رسید و خیلی‌ها تصمیم گرفتند به دیگر کتابخانه‌ها و چهارچوب‌ها مراجعه کنند.

واقعیت آنکه در نگاه اول VueJs بسیار شبیه تر به AngularJS است تا Angular کنونی و شاید بسیاری از توسعه دهندگانی که به AngularJS عادت کرده بودند به مرور به سمت VueJs رفتند.

در راهنماهای مربوط به نسخه‌های قبلی سایت رسمی VueJs به الهام بخش بودن AngularJS اشاره کرده و نوشته بود:

Some of Vue’s syntax will look very similar to AngularJS (e.g. v-if vs ng-if). This is because there were a lot of things that AngularJS got right and these were an inspiration for Vue very early in its development. There are also many pains that come with AngularJS however, where Vue has attempted to offer a significant improvement (1).

این در حالی است که امروز باید گفت VueJs بسیار بسیار محبوب شده است و بر اساس برخی از آمارها محبوب ترین Framework در حوزه Front End است. شاید چند سال پیش کمتر کسی تصور می‌کرد که VueJS بتواند از ReactJS و Angular محبوب تر شود ولی بر اساس برخی از آمارها این اتفاق افتاده است.

سوال آنجاست که چطور VueJs با فلسفه AngularJS توانست تا این حد محبوب شود ولی خود Angular نتوانست به این جایگاه برسد.

به نظر من Angular در میان همه کتابخانه‌ها و چهارچوب های سمت کاربر، راه درست تری را انتخاب کرده است. تبدیل شدن به یک بستر توسعه که بسیاری از مشکلاتی که در حوزه برنامه نویسی سمت کاربر بود را رفع کرده است. این بستر می‌تواند در برابر این سرعت عجیب و فزاینده به روز شدن این حوزه همواره به روز بماند. بوسیله Angular ما می‌توانیم همیشه با به روزترین تکنولوژی‌ها، توسعه‌ای که در سال‌های قبل شروع کردیم را ادامه دهیم. برای همین همانطور که سایت Angular ادعا کرده است به راستی Angular یک Development Platform است (۲).

ولی این ایده که امروز تقریبا به نتیجه رسیده است، قطعا نیاز به ایجاد یک تحول عظیم داشت و شروع این تحول عظیم باعث ریزش شدید استفاده کنندگان از این Angular شد.

همانطور که پیش از این هم ذکر شد، هنگامی که AngularJS تبدیل به Angular 2 شد همه با یک چیز جدید که شباهت اندکی به نسخه قبلی داشت مواجه شدند. یادگیری آن برای بسیاری دشوار به نظر می‌رسید.

جدا از این در ابتدا ورژن‌هایی که پس از AngularJS می‌آمدند، مدام تغییر می‌کردند و همین خاطره بدی در ذهن‌ها به جای گذاشته است.

خوشبختانه آن مشکلات سابق در ورژن‌های جدید Angular وجود ندارد. نه تغییرات زیاد است و نه خروجی‌ها سنگین است و به نظر من دیگر یادگیری آن هم دشوار نیست و حتی با توجه به Angular CLI کار کردن با آن بسیار ساده شده است.

تقریبا هر چیزی که به عنوان نقاط ضعف Angular می‌گویند مربوط به ورژن‌های قدیمی آن است و در ورژن های جدیدتر حل شدند.

درست است که تیم Angular گام های بزرگی برداشتند، کاری کردند کارستان، ولی با همه این تلاش‌ها نتوانستند اعتماد بسیاری از برنامه نویسان را جذب کنند.

به جای آن VueJs با الهام گیری از AngularJS و ارائه یک چهارچوب جذاب و ساده توانست مخاطبان بسیاری را جذب کند تا جایی که اگر پیش از این بسیاری از افراد VueJs را صرفا برای کارهای استارتاپی و دم دستی انتخاب می‌کردند امروز پروژه‌های مهمی را با آن انجام می‌دهند. حتی برخی از برنامه نویسان ویژگی‌هایی را در VueJS دیدند که ReactJS را هم کنار گذاشتند!

قطعا برای شخص من به عنوان کسی که چند سال است Angular کار می‌کند این موضوع جذاب نیست. برخی از مقالاتی که در سایت‌های گوناگون می‌خوانم برای محبوب تر شدن Angular امیدی ندارند. چرا که معتقدند Angular هر چه می‌خواست انجام دهد تا الان انجام داده است.

ولی من تصور می‌کنم اگر تیم Angular بتواند تفهیم کند که خاطرات تلخ گذشته برای گذشته بوده است و ما امروز با یک بستر مدرن و تمیز روبرو هستیم که کیفیت بالایی دارد می‌تواند به نتایج مثبتی برسد.

شاید در آینده با فراگیر شدن اینترنت‌های پرسرعت (مانند 5G) و همچنین قوی تر شدن سخت افزارها و استفاده بیش از پیش از اپلیکیشن های تحت وب،‌ ارزش Angular بیشتر آشکار شود و در نتیجه محبوبیت آن بیشتر شود.

باید دید چه پیش می آید…

1- https://vuejs.org/v2/guide/comparison.html

2- https://angular.io/guide/what-is-angular

angularjavascriptvue
Full-Stack Developer
شاید از این پست‌ها خوشتان بیاید