ورود

View Full Version : پیشنهاد یادگیری SignalR , AngularJs , TypeScript و تفاوت ها



jaykob
شنبه 11 آذر 1396, 18:50 عصر
سلام

من دنبال یادگیری یک پلتفرم تولید تک صفحه ای و کارهای RealTime هستم که خوب با mvc مچ باشه توضیحات این سه پلتفرم SignalR , AngularJs , TypeScript رو خوندم ولی چیز زیادی دستگیرم نشد . در حقیقت هنوز تفاوت هاشون رو هم باهم نفهمیدم . خواستم دوستان راهنمایی کنند که کدوم انتخاب خوبی هست برای یادگیری و قابلیت های مناسبی داره

با تشکر

Moien Tajik
شنبه 11 آذر 1396, 23:29 عصر
با mvc مچ باشه
اول از همه فریمورک های Client Side مثل Angular, React, Vue و ... هیچ ارتباط مستقیمی با MVC ندارن که بشه گفت باهاش مچ هستن.
این فریمورک ها عملا لایه ی Presentation یا همون View شما رو میسازن و داده هارو با استفاده از Http Request ها به API شما انتقال و دریافت میکنن.


TypeScript
TypeScript زبان جدید ماکروسافت هست که به شما امکاناتی رو میده که در JavaScript بطور پیشفرض نیست مثل Class, Interface, Type Checking و ... که در نهایت فایل هاش که فرمت ts. دارن ، کامپایل میشن به JavaScript و js.


AngularJs
AngularJS نسخه قدیمی یا همون نسخه 1 اش هست که نسخه اول بیشتر یک کتابخانه بود تا فریمورک.

Angular فریمورک گوگل برای ایجاد SPA یا همون Single Page Application هست که نسخه فعلیش 5 هست و بطور پیشفرض بهتون امکاناتی مثل Dependency Injection رو میده ; خاصیت اصلی اینطور برنامه ها این هست که بدون Refresh شدن صفحه همه ی عملیات ها انجام میشه و برخلاف Ajax که URL صفحات تغییر نمیکرد ، اینجا با استفاده از Router ها میتونید URL رو تغییر بدید و در ظاهر در کل برنامه انگار 1 Page دارید مثل Gmail.

Angular بطور پیشفرض از TypeScript داخلش استفاده میکنه ، این باعث میشه که شما اشتباهات کمتری در هنگام کدنویسی و Compile Time داشته باشید و در صورت خطا IDE شما بهتون خطا میده و برنامتون build نمیشه.


SignalR
SignalR بحثش جدا از این ها هست ; یک کتابخونه برای انجام کارهای RealTime ;
بطور مثال فرض کنید شما یک API برای ارائه قیمت ارز دارید و بطور مداوم داده هاتون در حال تغییر و آپدیت شدن هستن.
برای اینکه User ها بتونن بطور آنی وقتی داده از سمت شما تغییر پیدا کرد ، از این تغییرات با خبر بشن و بدون رفرش کردن صفحه اطلاعات جدید رو دریافت کنن ، اینجا میتونید از SignalR استفاده کنید.

همچین کاری رو با استفاده از Observable و یا Event Emitter ها در Angular بدون وابستگی به SignalR هم میتونید انجام بدید.


خواستم دوستان راهنمایی کنند که کدوم انتخاب خوبی هست برای یادگیری و قابلیت های مناسبی داره
اگر بین انتخاب فریمورک های Client Side هستید ، انتخاب افراد کاملا سلیقه ای هست.
یکی با Angular راحتتر هست چون داخلش بطور پیشفرض TypeScript استفاده شده و امکاناتی رو بهش میده که کار رو براش راحتتر میکنه اما یادگیریش کمی وقت میبره.
یکی ممکنه Vue رو ترجیح بده چون کار باهاش ساده هست و هرجای صفحه مثل JQuery میشه ازش استفاده کرد.
یکی ممکنه React رو استفاده کنه چون علاوه بر ایجاد SPA ها میتونید با استفاده از React Native اپلیکیشن های موبایل Cross Platform بسازید.

همه ی اینها به خودتون بستگی داره که سبک کار کدوم رو بیشتر ترجیح میدید و باهاش راحتترید.
در نهایت اگر نظر بنده رو بخواید : اگر وقت دارید Angular رو یاد بگیرید و اگر وقتتون کم هست Vue گزینه مناسبیه.

jaykob
یک شنبه 12 آذر 1396, 07:49 صبح
سلام

دکمه تشکر کافی نبود برای وقتی که گذاشتید و پاسخ کاملی به من دادید . ممنون از لطف شما