محبوب ترین فریم ورک های Javascript در سال ۲۰۱۷
محبوب ترین فریم ورک های Javascript در سال ۲۰۱۷

فریمورک هایی که در این مقاله بررسی می کنیم همگی رایج و پراستفاده هستند: همگی متن باز، فریم ورک های Javascript ، تحت لیسانس MIT هستند و تلاش می کنند با استفاده از مدل طراحی MVC مشکلات مربوط به ایجاد Single Page Web Applications را برطرف کنند. در همه این فریمورک ها مفاهیم views, events, data models و routing وجود دارند. در این مقاله ابتدا پیش زمینه و تاریخچه ی فریمورک ها را بررسی می کنیم سپس ۳مورد از این فریمورک ها را باهم مقایسه می کنیم. این فریمورک ها از جمله محبوب ترین فریمورک های جاوا اسکریپت در سال ۲۰۱۷ هستند.

فریم ورک های Javascript

محبوب ترین فریمورک های جاوا اسکریپت در سال ۲۰۱۷

  • Node.js
  • React
  • Ember
  • Riot.js
  • Meteor
  • Chart.js
  • WebVr
  • Polymer

React

قصد دارم به این لیست React را هم اضافه کنم. React متن باز بوده و محبوب ترین جاوا اسکریپت فریمورکی است که Facebook، Instagram و شرکت های زیاد دیگری از آن استفاده می کنند. Facebook، Instagram و یک گروه از توسعه دهندگان و شرکت ها، عهده دار نگه داری از React هستند و هدفشان رفع چالش های موجود در توسعه اپلیکیشن های single-page است.

Angular JS

AngularJS  در سال ۲۰۰۹ و به عنوان جز کوچکتری از محصول عظیم تجاری یعنی GetAngular، متولد شد. بلافاصله Misko Hevery یکی از موسسان کمپانی GetAngular یک برنامه تحت وبی که ۱۷ هزار کد خط داشته و توسعه آن ۶ ماه طول کشید را با استفاده از GetAngular تنها در سه هفته بازسازی کرد. کاهش اندازه برنامه و رسیدن به حدود هزار خط کد، دلیلی قانع کننده برای گوگل بود تا اسپانسرینگ این پروژه را شروع کرده و آن را به AngularJS متن بازی که امروز می شناسیم تبدیل کند. درمیان ویژگی های منحصربفرد و خلاقانه انگولار مقیدسازی دوطرفه داده ها(two-way data bindings) ، تزریق وابستگی (dependency injection)،facile-to-test code و همین طور طولانی کردن دستورات HTML  با استفاده از دایرکتیو ها(directives) را می توان نام برد.

HTML برای تعریف اسناد استاتیک بسیار عالیست ولی در ایجاد صفحات پویا در برنامه های تحت وب قدرت بالایی نداشته و دچار مشکل می شود. AngularJS اجازه استفاده از واژگان HTML در برنامه تان را می دهد در نتیجه محیط توسعه سریعتر و خواناتر می شود. فریمورک های دیگر با دو مشکل اصلی HTML یعنی پیچیدگی های مربوط به HTML، CSS و JavaScript.و ضعف در دستکاری و تغییرات DOM روبرو هستند. هیچکدام از این دو مشکل دلیلی برای ناکارآمدی HTML در تولید صفحات پویا نیست.

به وسیله ی AngularJS می توان فریمورک هایی ایجاد کرد که این فریمورک ها برای توسعه اپلیکیشن بسیار مناسب هست. AngularJS قابلیت توسعه نامحدودی دارد و با کتابخانه های دیگر به خوبی کار می کند. تمامی ویژگی ها قابل تغییر یا جایگزینی هستند تا مناسب برای روند توسعه فردی شما(که از سایرین متفاوت است) باشد و بتوانید ویژگی های دلخواه خود را ایجاد کنید.

Backbone.JS

یک فریمورک MVC سبک وزن است که در سال ۲۰۱۰ متولد شده است. فریمورک های full-featured MVC مثل ExtJS پیچیده و کار با آنها سخت می باشد و Backbone.JS به سرعت خود را به عنوان یک جایگزین مناسب مطرح کرد؛ در نتیجه بسیاری از سایت ها مثل Pinterest، Flixster، AirBNB از آن استفاده کردند.

Backbone.js با ارائه مدل های مقیدسازی کلید-مقدار و رویدادهای سفارشی، جمع آوری گسترده API مربوط به توابع enumerable، نماهایی(views) با قابلیت کنترل رویداد اعلانی و استفاده از یک اینترفیس RESTful JSON برای اتصال همه اینها با API هایتان، به برنامه های تحت وب، ساختار ویژه ای داد.

این پروژه در GitHub قرار داده شده و سورس کدهای مشروح آن موجود است همچنین یک مجموعه تست آنلاین مناسب، اپلیکیشن نمونه، لیستی از آموزش ها و یک لیست بالابلند از پروژه های جهانی که از Backbone.JS استفاده کرده اند. Backbone تحت لیسانسMIT software است.

اولین نکته مهمی که وقت کار با برنامه تحت وبی که کدهای جاوا اسکریپت فراوانی دارد، توقف ارتباط داده هایتان با DOM است. تولید یک برنامه جاوا اسکریپت بسیار آسان است البته برنامه ای که ترکیب درهمی از سلکتورهای جی کوئری و callbacks باشد و تمام تلاش صرف هماهنگی داده ها در رابط گرافیکی HTML ، منطق جاوا اسکریپت خود و پایگاه داده ی روی سرور می شود. برای بسیاری از اپلیکیشن های سمت کلاینت، روش های ساخت یافته تر مکمل خوبی خواهد بود.

به کمک Backbone داده های خود را به عنوان مدلهایی نشان دهید که می توانند تولید بشوند، اعتبار آن بررسی شود، ravaged شده و در سرور محفوظ بمانند. هر زمان که یک رویداد مربوط به رابط کاربری رخ دهد و باعث تغییر در ویژگی یک مدل بشود؛ مدل یک رویداد “change” رها می کند؛ چون همه ی نماها حالت مدل را به نمایش می گذارند پس می توانند فراز و نشیب ها را اطلاع دهند. بنابراین می توانند براساس آن پاسخی مناسب دهند و با استفاده از اطلاعات اولیه، خودشان را دوباره بازسازی کنند. در یک برنامه عالی Backbone، لازم نیست کدهای مقیدشده ای تعیین کنیم که برای پیدا کردن یک عنصر با یک شناسه واقعی DOM را بررسی کنند و HTML را به صورت دستی به روز رسانی کنند وقتی مدل تغییر کند نماها به سادگی خودشان را به روز رسانی می کنند.

از نقطه نظر فلسفی، Backbone تلاشی است برای کشف مجموعه حداقلی از data-structuring(مدل ها و منابع داده ای) و رابط های اولیه استفاده کننده(نماها و URLها) که به طور کلی وقتی قابل استفاده هستند که یک برنامه تحت وب با جاوا اسکریپت ایجاد بشود. در یک اکوسیستمی که overarching باشد، همه تصمیم ها گرفته می شود و فریمورک ها معمولی هستند، و سایت شما به تعداد زیادی کتابخانه نیاز دارد تا ظاهر قابل قبولی پیدا کند و حس خوبی برای کاربر ایجاد کند؛ برای اینکه فضایی را برای شما مهیا کند که برنامه تحت وبی تمام و کمالی پیاده سازی کنید، باید دپارتمان Backbone مدام در حال فعالیت و توسعه باشد.

Ember

Ember.js یک JavaScript web application framework متن باز، سمت کلاینت است که مبتنی بر الگوی معماری نرم افزار MVC (مدل – نما – کنترلر) است. به توسعه دهندگان اجازه می دهد تا اپلیکیشن های single-page را با استفاده از ترکیب اصطلاحات رایج ایجاد کنند و همین طور بهترین روش برای یک فریمورکی که مدل اشیا فراوانی ارائه می دهد، مقیدسازی اعلانی داده دوطرفه، ویژگی های محاسبه شده، به روز رسانی خودکار قالب ها با استفاده از کتابخانه های خود قالب ها، HTML Bars ( نسخه پیشین آن Handlebars.js)، و یک روتر برای مدیریت حالت اپلیکیشن. Indite با استفاده از Ember’s Handlebars integrated templates ( که وقتی داده ای تغییر کند به صورت خودکار آن را به روز رسانی می کند) حجم کدها را به شدت کاهش می دهد.

Ember در سال ۲۰۰۷ به وجود آمد. حیات خود را به عنوان فریمورک SproutCore MVC آغاز کرد، pristinely ابتدا توسط SproutIt و سپس توسط Apple توسعه داده شد و در سال ۲۰۱۱ توسط Yehuda Katz به دو بخش تقسیم شد: یک هسته از آن به jQuery و دیگری به پروژه های Ruby on Rails. کاربران برجسته Ember شامل Yahoo، Groupon و ZenDesk می باشند.

خلاصه

طبق اینفوگرافی ابتدایی، در دهه نود میلادی، گوگل علاقه نسبی به angular JS داشته که در مقایسه با محبوبیت Backbone.Js و Ember بسیار بیشتر است. وجود Angular Js در Github, Stackoverflow Youtube, Third Party module و Chrome قابل توجه است.

برای انتخاب بهترین فریمورک ها، تعداد کاربران و طرافداران(جامعه کاربری) آن فریمورک، یکی از مهم ترین فاکتورهاست. هرچقدر این جامعه کاربری بزرگتر باشد در نتیجه تعداد سوال های پاسخ داده شده بیشتر، ماژول های third-party بیشتر، آموزش های بیشتر در یوتیوب…(متوجه منظورم شدید!) و من همه اینها را با استفاده از اعداد و در قالب یک جدول در August 16, 2014 ایجاد کردم. بی شک پیروز نهایی این میدان Angular است، ششمین پروژه ای که در GitHub ستاره گذاری شده( وقتی کاربران اعلام کنند یک پروژه خوب بوده و می خواهند تغییرات آن را پیگیری کنند)، سوالات فراوان در StackOverflow (نسبت به Ember و Backbone ) که به راحتی در اینفوگرافی بالا نمایان است.

اگر در استفاده از این فریمورک ها تجربه ای ندارید و در ابتدا کار هستید؛ Angular Js بهترین گزینه است از جمله مزایای آن، ویژگی های کاربردی و مناسبش، حمایت قوی از این فریمورک، ابزار زیاد و سود بالای استفاده از آن است. حالا قصد دارم لیستی از بهترین فریمورک ها در سال ۲۰۱۷ آماده کنم.

تیم ما در حال تحلیل و بررسی برای best javascript frameworks 2017 هستیم. در آینده به این لیست تعداد بیشتری اضافه می کنیم.

اخیرا از برنامه نویسان مختلفی که در قسمت google plus social media هستند، خواسته شد تا پرسشنامه ای را پر کنند. این پرسشنامه برای Angularjs, Backbone.js, ember, react تهیه شد. می توانید محبوب ترین فریمورک های جاوا اسکریپت سال ۲۰۱۷ را مشاهده کنید.

منبع: mspsoft.com

بازنشر: ایده ساز

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *