PDA

View Full Version : استفاده از MVC 6 در پروژه ی مهم



HOSSEINONLINE7
شنبه 11 اردیبهشت 1395, 04:05 صبح
سلام با توجه به اینکه mvc 6 هنوز نهایی نشده ایا استفاده کردن از اون در یک پروژه ی مهم و بزرگ مشکل ساز میشه ؟ پیشنهادتون چیه ؟

ali_kolahdoozan
شنبه 11 اردیبهشت 1395, 05:50 صبح
MVC 5 یک Major Version بود و در همان هم یکسری تغییرات تحت عنوان Update ارائه شد و کم کم اسمش شد MVC 6 . مشکلی نخواهید داشت . با کمی بد قلقی در فرمهای اول و یکسری تنظیمات روبرو خواهید شد که شاید یک پروژه خیلی بزرگ را در کل 15 روز عقب و جلو کند که مهم نیست . پیشنهاد من درگیر شدن با MVVM هم همزمان هست . AngularJS2 یا KnockOut را دست کم نگیرید . ReactJs هم میتواند پیشنهاد خوبی باشد. بین همه اینها AngularJS با همراهی TypeScript در بستر ASP.NET MVC Core می تواند هیجان انگیز باشد.فقط تیم حرفه ای و پر تلاش نیاز دارد.

HOSSEINONLINE7
شنبه 11 اردیبهشت 1395, 06:03 صبح
MVC 5 یک Major Version بود و در همان هم یکسری تغییرات تحت عنوان Update ارائه شد و کم کم اسمش شد MVC 6 . مشکلی نخواهید داشت . با کمی بد قلقی در فرمهای اول و یکسری تنظیمات روبرو خواهید شد که شاید یک پروژه خیلی بزرگ را در کل 15 روز عقب و جلو کند که مهم نیست . پیشنهاد من درگیر شدن با MVVM هم همزمان هست . AngularJS2 یا KnockOut را دست کم نگیرید . ReactJs هم میتواند پیشنهاد خوبی باشد. بین همه اینها AngularJS با همراهی TypeScript در بستر ASP.NET MVC Core می تواند هیجان انگیز باشد.فقط تیم حرفه ای و پر تلاش نیاز دارد.

پس یعنی اگر من پروژه ام را با mvc 6 rc که الان هست شروع کنم در آینده ورژن جدیدش هم اومد بدون مشکل میتونم آپدیت کنم و هیچ موردی پیش نمیاد درسته ؟

یکسری لایبری ها الان با dnx 5 سازگار نیستن و من مجبورم فعلا dnx 5 را از project.json حذف و از dnx 4.5.1 استفاده کنم که خوب cross platform بودن هم از دست میره .
حالا در آینده اگر آپدیت برای اون لایبری ها اومد که با dnx 5 هم سازگار شدن میتونم لایبری های پروژم را آپدیت کنم و dnx 5 هم دوباره اضافه کنم درسته ؟

بیشتر نگران این هستم که با آپدیت پروژه به ورژن های جدید مشکل عدم سازگاری پیش بیاد و با ارورهای مختلف مواجه بشم یا نیاز به بازنویسی و تغییرات در کدها باشه که وسط کار دردسر ساز میشه .

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

hakim22
شنبه 11 اردیبهشت 1395, 08:21 صبح
به نظر من هنوز برای استفاده از این تکنولوژی در پروژه های مهم زود است.
حتی بعد از ارائه ی نسخه ی RC1 تغییراتی که در RC2 قرار است اعمال شود زیاد است و بعید نیست این تغییرات در نسخه ی Final باز هم بیشتر باشد.
در همین مدت کوتاه از عرضعه ی DNX میگذرد این ابزار در نسخه ی بعدی حذف شده و جایش را به CLI داده است. هر چند شباهت های زیادی دارند اما تغییرات آن کم نیست.

مشکل دیگر این که هنوز داکیومنتها و راهنمای قسمتهای مختلف آماده نشده و بعید است به این زودی ها این کار انجام شود. راهنما و توضیحاتی که در اینترنت پیدا می کنید خیلی وقتها کامل نیست و کار نمیکند چرا که قبل از RC1 نوشته شده یا اگر هم جدید است با آمدن RC2 ممکن است کار نکند. و با توجه به اینکه هنوز در مرحله ی توسعه است دقیقا معلوم نیست باگها یا مشکلاتی که پروژه با آن روبرو میشوید مربوط به نقص فریم ورک است یا ایراد در کدهای پروژ ی شماست. پیدا کردن افراد متخصص ، کتاب آموزشی یا منبعی که شما را در هنگام مواجه با مشکلات راهنمایی کند هم سخت است.

بر خلاف آن چیزی که به نظر میرسد تغییرات در سورس پروژه کم نیست و خیلی از این تغییرات از نوع Breaking Change هستند که یعنی پروژه ی شما بعد از آپدیت به این نسخه دیگر کار نمی کند.
گزارش کامل باگها و تغییرات را در اینجا مشاهده کنید (https://github.com/aspnet/Announcements/issues).
با بررسی همین لیست مشاهده می کنید هر هفته چند Breaking Change داریم و کارهایی از قبیل Rename کردن و جابجا کردن Name space و ... در پروژه زیاد اتفاق می افتد که خیلی اطمینان دهنده نیست.

مسئله دیگر کامل نبود قابلیت های این تکنولوژی است. مثلا ابزار SignalR برای نسخه ی جدید باید باز نویسی شود که طبق اعلام تیم فنی ASP کار روی آن قرار است بعد از ارائه ی نسخه ی Final از ASP Core انجام شود. مسلم است که هنوز همه ی قابلیت های ASP قبلی در نسخه ی جدید پیاده نشده وگرنه الان نسخه ی نهایی عرضه شده بود.همچنین بسیاری از ماژولهای شرکتهای ثالث هنوز برای نسخه ی جدید پیاده سازی نشده است.

چند هفته ی گذشته در کنفرانس Build سوالات زیادی در مورد پروژه ی ASP Core و آینده ی تکنولوژی های دات نت مطرح شد.
اما مدیر پروژه ی ASP به هیچ وجه حاضر نشد تاریخ حتی تقریبی هم در مورد آماده سازی نسخه های RC2 و نسخه ی نهایی ارائه دهد. که یعنی قرار نیست به این زودی ها اتفاق خاصی بیوفتد.
به طور کلی پیش بینی میشود قبل از پایان سال جاری میلادی یعنی ظرف 6 ماه آینده نسخه ی نهایی ارائه شود.

ali_kolahdoozan
شنبه 11 اردیبهشت 1395, 08:55 صبح
به دلیل وجود چیزی به نام Project.Json و حمایت از تغییر نسخه به صورت نسبتا اتوماتیک ، شاید زیاد به مشکل خاصی برنخورید ، ولی کو اصلن نیروی متخصص این کار ؟

ضمننا دقت کنید که برای کار به قول شما بزرگ ، دیگر کسی مثل من معطل MVC نخواهد شد . AngularJS2 را یاد بگیرید و بعد فقط یک WebApi مبتنی بر MVC بندازید پشتش برای ServerSide InterAction ها. اینطوری اصلن زیاد کاری به کار تغییرات و ... نخواهید داشت و ضمنن استفاده از Pure MVC و فقط مثلن Jquery قطعا جوابگوی پروژه واقعن بزرگ نیست یا بیچاره کننده است .