سلام،
وقت بخیر:
جایگاه AngularJS در Asp.NET MVC کجاست؟ اهمیت و چرایی استفاده از آن چقدر است؟
آیبا یادگیری آن برتری برای ما ایجاد می کند؟ چه زمان باید رفت سمت فراگیری این موضوع؟ یک آدم مبتدی؟ متوسط؟ یا حرفه ای؟
سلام،
وقت بخیر:
جایگاه AngularJS در Asp.NET MVC کجاست؟ اهمیت و چرایی استفاده از آن چقدر است؟
آیبا یادگیری آن برتری برای ما ایجاد می کند؟ چه زمان باید رفت سمت فراگیری این موضوع؟ یک آدم مبتدی؟ متوسط؟ یا حرفه ای؟
سلام
AngularJs یکی از فریم ورک های Single Page Application هستش. منظور از SPA وب سایت هاییه که کل وب سایت تو یک صفحه خلاصه می شه مثل فیسبوک، توئیتر. شما جندتا صفحه ایجاد می کنید با یکسری لینک. با کلیک روی هر لینک بجای اینکه صفحه refresh بشه و دوباره postback انجام بگیره، از ajax استفاده می شه و یک قسمت از صفحه به اسم Shell ( می تونیم همون قسمت dynamic صفحه رو در نظر بگیریم مثل Asp.net که content place holder می ذاریم) با صفحه Html درخواستی جایگزین می شه. این تکنولوژی front-end می تونه با هر back-end ای استفاده بشه مثل asp.net mvc، php یا هر تکنولوژی وب دیگه ای. شاید بپرسید نیازی به فریم ورک نیست و با ajax، خودمون هم می تونیم این کار رو بکنیم. بله دقیقا درسته. ولی این فریم ورک ها یکسری امکانات رو در اختیار می ذارن که شما با مسائل ارسال و دریافت و hide و Show المنت ها درگیر نشید. ارسال و دریافت داده خیلی راحت و با توابع آماده انجام می شه. این فریم ورک ها دو تا مشکل اساسی دارن:
- مشکل SEO: چون محتوا با ajax بارگذاری می شه و آدرس های صفحه با # یا !# مشخص میشن موتور جسنجو نمی تونه محتوا رو بخونه چون صفحه از یکسری المنت html و تگ های مخصوص فریم ورک ساخته شده. البته برای رفع این مشکل هم راه حل هایی وجود داره ولی کار اضافه می خواد که باید تشخیص بدی درخواست مربوط به یک موتور جوستجوئه و صفحه رو کامل سمت سرور load کنی و نتیجه رو بصورت کد خالص html بفرستی.
- حجم بارگذاری زیاد در اولین load صفحه: اولین بار که می خواد وب سایت load بشه کلی فایل javascript و css باید load بشه که زمان load صفحه رو می بره بالا. منتهی تو دفعات بعدی مراجعه به وب سایت خیلی سریع باز میشه و فقط مشکل تو اولین مراجه است.
در مورد اهمیت استفاده اش بستگی بخودتون داره. معمولا برای قسمت مدیریت یا بخشهای کاربری استفاده می شه. البته هیچ اجباری نیست و می شه همه قسمت های وب سایت رو SPA کار کرد.
در مورد ایجاد برتری برای ما شاید بشه گفت آره. چون افراد کمی رفتن به سمت SPA و خیلی ها هنوز نمی دونن چیه. ضمنا می شه وب سایت های خیلی شیکی ایجاد کرد ولی خیلی راحتتر از حالت سنتی Ajax. همچنین می شه وب سایت هایی ایجاد کرد که مثل برنامه های دسکتاپی هستن چون بحث Refresh صفحه رو حذف می کنیم و کاربر پسندتر از وب سایت های دیگه خواهد بود.
برای یادگیری اول باید کمی از الگوی طراحی mvc اطلاع داشته باشید. چون angularjs از الگوی mvc استفاده می کنه و باید در مورد javascript هم بخونین. کل فریم ورک با javascript پیاده سازی شده. علاوه بر angularjs یک فریم ورک معروف دیگه هم به اسم Durandaljs وجود داره.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)