View Full Version : سوال: KnockoutJs یا ReactJs برای Webapi
sarah2
یک شنبه 07 آبان 1396, 08:45 صبح
سلام
به نظرتون در پروژه ها از KnockoutJS استفاده کنیم بهتره یا ReactJs ؟
قصد دارم یک اپلیکیشن SPA بسازم کدوم فریم ورک جاوا اسکریپت رو پیشنهاد میدید؟(غیر از آنگولار)
Moien Tajik
یک شنبه 07 آبان 1396, 09:38 صبح
Angular و React نسبت به Vue و Knockout پیچیدگی های بیشتری دارن اما بهتون یک سری امکانات آماده بیشتری میدن.
اگر قصد استفاده از Knockout رو دارید ، Vue پیشنهاد بهتریه.
اگر قصد استفاده از React رو دارید ، Angular برای NET. کارها راحت تر هست و یاد گرفتنش هم زودتر چون بطور پیشفرض از TypeScript استفاده میکنه و Syntax اش بسیار شبیه به #C هست.
sarah2
یک شنبه 07 آبان 1396, 09:55 صبح
در سایت های مختلف بررسی کردم نوشته بودند که آنگولار سنگین تره ولی قابلیت های بیشتری داره که شاید نیازی به اون ها نداشته باشیم
Knockout سبک تره ولی امکانات کمتری داره ولی در عوض یادگرفتنش آسونتره, بعضی ها ادعا کردند سرعتش پایین تره!
اما React طبق مقالاتی که خوندم سرعت بیشتری داره و توسعه دهنده های بیشتری هم داره, شاید بخاطر اینکه فیس بوک و اینستاگرام ازش استفاده کردند
لطفا اگر تجربه ی کار کردن با هر کدوم از فریم ورک ها و کتابخانه های جاوا اسکریپت رو دارید نظرتون رو اعلام کنید
Moien Tajik
یک شنبه 07 آبان 1396, 10:05 صبح
Angular رو با روش هایی مثل Tree Shaking و Minify و Bundling تا حد بسیاری میشه حجمش رو کاهش داد + به هیچ وجه " سنگین " نیست و اگر امتحانش کنید از لحاظ سرعت بسیار هم قوی هست و پروژه های زیادی مثل Gmail و ... باهاش انجام شده.
Knockout در سال های گذشته استفاده بیشتری داشت و یادگیریش راحت هست اما از اون بهتر و راحتر و سریعتر Vue هست.
React روش کارش کمی با بقیه فرق داره ، توسعه دهنده بیشتری هم داره درسته اما یادگیریش زمان بر هست و بیشتر یک View Component هست و بجای HTML از JSX استفاده میکنه.
پیشنهاد بنده 2 Vue و Angular 4 هست.
hakim22
یک شنبه 07 آبان 1396, 12:08 عصر
به نظر من انگولار پیچیده ترین و مشکلترین SPA هست و بهتره ازش استفاده نکنید. مشکل فقط پیچیدگی اون نیست. شما مجبور به استفاده از تمام فریم ورک انگولار هستید. انگولار برای همه چیز ابزار خودش رو داره و دیگه حق اتتخاب ندارید. ضمن اینکه TypeScript یک مزیت نیست. هرچند به #C نزدیکه اما در خیلی از پروژه ها شما نیاز به چنین دقتی در کد نویسی ندارید. قوانید TypeScript کار کردن با اون رو مشکل میکنه ضمن اینکه خیلی چیزها هست که باید یاد بگیرید و خودش نیاز به کسب مهارت جدید جدا از جاوا اسکریپت داره. استقبال از انگولار افت محسوسی داشته. در کنار اینها شما باید Node.js و NPM هم تا حدودی بلد باشید. باید کار کردن با WebPack و ... چیزهای دیگر رو هم یاد بگیرید. انگولار برای شرکت های بزرگ مناسبه که قصد پیاده سازی یک اپ بزرگ (مثل اتوماسیون اداری) دارند. برای پروژه هایی که بیشتر از 10 هزار خط کد دارند و شما هم درون یک تیم کار میکنید.
در مقابل React جدیدا مورد استفاده ی خیلی از سایتهای معروف قرار گرفته. حتی سرویس Hotmail مایکروسافت با React پیاده شده.
(در حالی که خود شرکت مایکروسافت با همکاری گوگل روی TypeScript و انگولار کار کردن خودشون ازش استفاده نکردن)
این ابزار ساده تره و میتوانید مثل jQuery فقط با اضافه کردن یک فایل js به صفحه ی HTML کار کردن باهاش رو شروع کنید .
مشکلش استفاده از jsx هست. خیلی ها این روش کد نویسی رو دوست ندارن. در ایران Digikala از React استفاده میکنه.
در نهایت Vue.js جدیده اما خیلی سریع محبوب شده. سعی کرده بهترین امکانات انگولار و React رو در کنار هم جمع کنه. می توانید مثل Knockout برای یک قسمت کوچیک سایت ازش استفاده کنید یا یک پروژه ی کامل SPA باهاش پیاده کنید. می توانید از TypeScript یا JavaScript استفاده کنید. مجبور به استفاده از Node نیستید. اگر از jsx خوشتون میاد امکان استفاده ازش هست . میتوانید برای کارهایی مثل ajax از jquery استفاده کنید (مجبور به استفاده از خود فریم ورک نیستید) جدیدا سایت پونیشا از این فریم ورک استفاده کرده.
بهترین نکته در مورد Vue.js قسمت راهنماشه . کاملترین و بهترین راهنمای آموزشی هست که تا به حال استفاده کرده اید. اصلا قابل مقایسه با انگولار و React نیست. شما در یک روز می توانید نکات اصلی فریم ورک رو یاد بگیرید و شروع به برنامه نویسی کنید.
فریم ورک Vue.js نسل جدید فریم ورکهای SPA هست. به این نوع فریم ورکها Progressive یا پیشرونده گفته میشه. یعنی می توانید کوچک شروع کنید و هر جا نیاز به امکانات بیشتری داشتید اضافه کنید. با گزینه ی همه یا هیچ مواجه نیستید. بدون شک بهترین گزنه همین است.
sarah2
یک شنبه 07 آبان 1396, 13:04 عصر
از Vue.js میتونیم در MVC , Webapi یا حتی در Asp core استفاده کنیم؟ مشکلی بابت پشتیبانی بوجود نمیاد؟
Moien Tajik
یک شنبه 07 آبان 1396, 13:13 عصر
درستش این هست بگیم از Web API میتونیم داخل Vue استفاده کنیم که پاسخ بله هست.
نحوه کار SPA ها به این شکل هست که شما API هاتون رو با Web API و WCF و ... میسازید و با استفاده از این فریمورک ها بهشون Request میفرستید و json دریافت میکنید ; این اطلاعات رو نمایش و یا داخل دیتابیس ذخیره میکنید.
یا حتی در Asp core استفاده کنیم؟
در Template های خود ASP Core اگر با CLI پروژه ایجاد کنید ، Vue یکی از گزینه ها هست و براحتی میتونید یک پروژه باهاش ایجاد کنید :
dotnet new vue
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.