View Full Version : نرم افزارهای تحت وب
helpsos
پنج شنبه 18 دی 1393, 23:40 عصر
سلام
دوستان نرم افزارهای تحت وب را با چه قالبی درست می کنند؟
ASP.NET MVC
یا
Single Page application (SPA)
یعنی آیا میشه که ما نرم افزار تحت وب را با ASP.NET MVC درست کنیم و از Angularjs استفاده کنیم یا اینکه نه بهتره حتما همون اول کار قالب پروژه را از نوع SPA انتخاب کنیم ؟
hakim22
جمعه 19 دی 1393, 09:07 صبح
اگه پروژه ی شما فقط Angular هست راحت تر هستید که پروژه ی Empty بسازید و از Angular-Seed (https://github.com/angular/angular-seed) استفاده کنید.
در پروژه ی انگلولار هم وقتی نیاز به کار با دیتابیس دارید نیاز به یک کد سرور ساید دارید . (PHP یا ASP) که داده ها رو در قالب یک سرویس در دیتابیس ذخیره کنه و بازگردونه (AJAX) در ASP پروژه ی کمکی با Web Api انجام میشه .
وقتی شما قالب رو روی SPA قرار میدید بیشتر منظور این است که شما میخواهید ترکیبی از تکنولوژی های SPA رو انتخاب کنید. انگولار یک فریم ورک کامل هست و تقریبا همه ی چیزی که برای تولید SPA نیاز دارید در اختیار شما قرار میده ولی میتونید بجاش از چند ابزار جدا استفاده کنید. مثلا کارهایی که انگولار به تنهایی انجام میده میتونید با ترکیب (KNOCKOUT و CROSSROADSJS و REQUIREJS) هم انجام بدید. هر کدوم از این ابزار در کار خودشون تخصصی هستند و خیلی جاها ممکنه بهینه تر هم باشند. اما وصل کردنشون به هم باید توسط شما انجام بشه.
یک روش دیگه اینه که شما بجای استفاده از یک SPA تک از چند mini-SPA استفاده کنید. بالاخره همه ی یک سایت (مخصوصا وقتی بزرگ باشه) نمیشه به راحتی با انگولار و ... پیاده بشه و هم اینکه لود و بارگذاری اولیش هم زیاد طول میکشه . بجاش شما سایت رو به چند قسمت تقسیم می کنید و هر قسمت رو مجزا با یک SPA انجام میدید.
همه چیز بر میگرده به ابعاد پروژه ی شما و اینکه چقدر در برنامه نویسی JavaScript تسلط دارید.
helpsos
جمعه 19 دی 1393, 11:30 صبح
اگر بخواهم که یه نرم افزار تحت وب داشته باشم که قرار باشه از Angular هم در آن استفاده شود به نظرتون استفاده از ASP.NET MVC و به صورت چندلایه با توجه به اینکه این کارها را با AJAX هم میشه پیاده سازی کرد آیا خوبه و یه جورایی که من سر در نمیارم دوباره کاری نیست؟
نرم افزاره قراره اطلاعات دانشجویان را نگه داری کنه و مثلا براشون درس انتخاب کنم و یه سری کارهایی از این قبیل دیگه .... که از اتوماسیون دانشگاه انتظار می ره !!؟
hakim22
جمعه 19 دی 1393, 12:04 عصر
من منظور شما رو
این کارها را با AJAX هم میشه پیاده سازی کرد
متوجه نشدم. AJAX فقط یک راه ارتباطی بین کد کلاینت و کد سرور است و جاوا اسکریپت (یا انگولار که یکی از فریم ورکهای آن است) نمی تواند مستقیم به بانک دسترسی داشته باشد و تنها می تواند از یک وب سرویس این کار را انجام دهد.
در هر صورت شما پروژه ی چند لایه ی #C نیاز دارید . فقط قسمت کنترلر و ویو رو نخواهید داشت . تازه این قسمت رو هم باید با Web API بسازید که کنترلر داره !
ویو های شما با Angular ساخته میشه و انگولار کار روتینگ و آدرس دهی رو هم انجام میده .
به نظر رفتن سراغ Angular گام بزرگیه چون تسلط خیلی بالایی در JavaScript میطلبه و یاد گرفتن معماری و الگوهای اون هم نسبتا سخت هست . کلا مسلط شدن به این فریم ورک زمانبر هست.
برای پروژه ی شما من پیشنهاد میکنم همون روش همیشگی رو با ASP MVC انجام بدید و برای دینامیک کردن و دادن افکت به صفحات از Knockout استفاده کنید. جالبترین قسمت Angular بحث MVVM هست که همون کار رو هم Knockout به بهترین تحوه انجام میده (و پیچیدگی خیلی کمتری داره)
سایر کارها مثل Routing در ASP MVC انجام بدید و کلا ویو و ... رو مثل همیشه استفاده کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.