Real Time Web Analytics پرسش و پاسخ Elam

angular

مقایسه Angular با React

تاریخ انتشار:
17:33:28 1396-05-04
هنگامی‌که اسم برنامه‌های سمت کاربر می‌آید نام دو زبان Angular و React به گوش می رسد.   JavaScript در حال جهشی بزرگ است به‌طوری‌که هرروز یک فنّاوری جدید را به دنیای وب عرضه می‌دارد.  Angular و React هردو دارای توانمندی‌ها و مشخصه‌های زیادی هستند که شمارا تبدیل به یک برنامه‌نویس حرفه ایی با زبان JavaScript می‌کند.  بنده اطلاعاتی که توانستم در مورد این دو چارچوب جمع‌آوری کنم باهم مقایسه کردم و نتایج تحقیقات بنده به‌صورت زیر شده است:

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

 JavaScript در حال جهشی بزرگ است به‌طوری‌که هرروز یک فنّاوری جدید را به دنیای وب عرضه می‌دارد. Angular و React هردو دارای توانمندی‌ها و مشخصه‌های زیادی هستند که شمارا تبدیل به یک برنامه‌نویس حرفه ایی با زبان JavaScript می‌کند.

بنده اطلاعاتی که توانستم در مورد این دو چارچوب جمع‌آوری کنم باهم مقایسه کردم و نتایج تحقیقات بنده به‌صورت زیر شده است:

اصول اولیه:

React

Angular 2

AngularJS

مشخصات

0.14.6

2.0.0 - In Beta

1.5.0-rc1 / 1.49

نسخه

Facebook

Google

Google

نویسنده

JSX

TypeScript

JavaScript/HTML

زبان

151k

764k

143k

حجم

34.4k

8.4k

46.4k

ستاره‌های Github


604

 


189

 


1,386

 

مشارکت‌کنندگان Github

 

مطالب اصلی:

React

Angular 2

AngularJS

مشخصات

زیاد

کاهش‌یافته

کاهش‌یافته

Churn

زیاد

زیاد

کم

Tooling

JavaScript Centric

JS into HTML

JS into HTML

طراحی کد

زیاد

کم

کم

فرسودگی جاوا اسکریپت

 

اطلاعات دیگر:

React

Angular 2

AngularJS

مشخصات

Virtual  DOM

Regular DOM

Regular DOM

DOM

کم

متوسط

زیاد

روند یادگیری

قوی

متوسط

ضعیف

بسته‌بندی

قوی

قوی

ضعیف

تجرید (Abstraction)

HTML بد/JS خوب

HTML خوب/JS خوب

HTML خوب/JS بد

اشکال‌زدایی عمومی

بله

نه

نه

Debug Line No

بله

نه

نه

بستن تگ‌های ذکرشده

Compile time

Runtime

runtime

خطا در حین

Uni-Directional

2 Way

2 Way

Binding

JSX فایل

TypeScript فایل

فایل HTML

قالب‌بندی

متوسط

قوی

ضعیف

مدل کامپوننت

React Native

Ionic Framework

Ionic Framework

ساختمان موبایل؟

فقط مشاهده لایه‌ها

بله

بله

MVC

سمت سرور

سمت سرور

سمت کاربر

تفسیر

 

من بر این باور هستم که این دو تفاوت‌های جالبی در حجم، اشکال‌زدایی،DOM و ساختمان موبایل با یکدیگر دارند.

در مورد حجم برنامه‌ها، تفاوت زیادی بین Angular و React وجود دارد. درحالی‌که حجم Angular 2 در حدود 764K می‌باشد، React با در نظر گرفتن این‌که بسیاری از مدل‌های MVC را ندارد، توانسته حجم بسیار کمی داشته باشد، بااین‌حال اگر تمام مدل‌های MVC را روی آن نصب کنیم، باز هم حجم کمتر از Angular 2 خواهد داشت.

بحث اشکال‌زدایی یا همان Debugging یکی از سخت‌ترین کارهای برنامه‌نویسی است، به نظر من این‌که یک چارچوب چقدر می‌تواند اشکال کد من را پیدا و مدیریت کند بسیار جالب است.Angular تمایل دارد خطاهای برنامه را در حین اجرای برنامه کشف کند ولی React در هنگام کامپایل کردن خطاهای کد را کشف می کند.

در آخر می‌خواهم توضیح مختصری در مورد DOM مجازی که در React استفاده‌شده است بدهم، این‌یک مفهوم جدید برای من بود که باعث شد در مورد آن مطالعات گسترده‌تری انجام بدهم. به نظر می رسد این مفهوم جدید خیلی سریع‌تر از کار کردن با یک DOM حقیقی است. دست‌کاری و تغییر یک کپی مجازی از DOM خیلی بهتر و سریع‌تر است، در آخر هم تمام تغییرات را در داخل DOM پوش می‌کنیم.

 در بعضی از موارد Angular بسیار خوب است و برای برخی دیگر React بهتر است، باید با توجه به محور کارهایی که می‌خواهیم بکنیم و انتظاراتی که از پروژه داریم بهترین آن‌ها را انتخاب کنیم.

برچسب ها: