تغییرات بوجود آمده در Single Page Application (SPA)-MVC4
اندازه‌ی قلم متن
تخمین مدت زمان مطالعه‌ی مطلب: دو دقیقه

تو سری پست‌های قبلی که براتون گذاشتم به تغییرات و ویژگی‌های بوجود آمده در MVC4  اشاره کردم یکی دیگه از این ویژگیها Single Page Application (SPA) هستش که به ما امکان ساخت برنامه‌های تعاملی سمت کلاینتو میده و مارو کمک میکنه. که از نسخه MVC 4 Beta  در دسترس قرار گرفت.
البته به گفته خود مایکروسافت نسخه اصلی اون برای عرضه به همراه نسخه کامل شده MVC4  آماده نخواهد شد.میشه گفت نسبت به خیلی از ویژگی‌های جدید کمتر روش تبلیغ شده حالا یا بخاطر آماده نشدنش بهمراه نسخه نهاییه یا مثل خیلی از تکنولوژیها وسط راه پشیمون شده.
SPA  شامل سه چیز کلی میباشد.
  1. چند کتابخانه جاواسکریپتی برای تعامل هر چه بهتر با کلاینت به وسیله کش کردن داده‌ها  upshot.JS, knockout and nav.js.  
  2. کامپننت‌های افزوده شده   Web API  برای پشتبانی از اگوی واحد کار  Unit of Work     
  3. و اسفاده از  scaffolding  برای سریعتر کردن کار
برای نصب کافیه که به سایت ASP.net برید یا از طریق Nuget اقدام کنید.

Single Page Application Overview

تصویر بالا نشان دهنده ساختار Single Page Application است.

JavaScript Libraries

شامل کتابخانه‌های معروف مثل Knockout ,History  و کتابخانه نسبتاً جدید Upshot است که باهم کار نمایش و اصلاح داده‌ها را در مجموعه ای از صفحات به صورت  local وremote انجام میدهند.

DataController on the Server

در سمت سرور شامل کلاسی به نام DataController  که مشتق شده از ApiController که  عملیات  insert, update ,delete  را به وسیله الگوی واحد کار ( Unit of Work )انجام میدهد و همچنین ازvalidations به صورت اتوماتیک پشیبانی میکند.این سرویس همچنین شامل راهی برای صفحه بندی و پشتیبانی از DAL-خاص است.

Single Page Application MVC Project Template

در آخر هم template جدید درنظر گرفته شده برای Single Page Application که برای توسعه هر چه سریعتر و هچنین ساختاری آموزشی برای ادامه کار دارد,که شامل scaffolding است برای ساخت اسکلت اصلی برنامه و همچنین  شامل یک sample ساده برای یادگیری هرچه بهتر است.

در آخر میتونم بگم که اگه با جیمیل تحت تبلت کار کرده باشید میشه گفت Single Page Application یه جورایی مثل اون عمل میکنه من خودم باهاش کار کردم و تا حدودی آشنایی دارم ولی باید بگم اگه میخواید برید سراغش قبلش باید اشراف کامل روی جاوا اسکریپ و Knockout  داشته باشید.




  • #
    ‫۱۲ سال و ۳ ماه قبل، چهارشنبه ۷ تیر ۱۳۹۱، ساعت ۰۱:۵۴
    دات نت رو جایی دست گذاشته که خیلی میتونه موفق باشه. چون تعامل راحت‌تر و کاهش تراکنش‌های HTTP هر دو باعث کاربردپذیری بالاتر میشن. و این دقیقا هدفیه که دنبال میکنه.
    اگر مقدور است توضیح دهید چرا به راحتی میگین "مثل خیلی از تکنولوژیها وسط راه پشیمون شده." ؟ و اینکه مثلا وب‌سایت‌های که همین مفهوم را پیاده‌سازی کردن - مثل توئیتر، فیس‌بوک و... - با چه تکنیکی پیاده کردن؟
    یه سوال مرتبط: موتورهای جستجو چجوری در این‌جور پیاده‌سازی‌هایی عمل میکنن؟ آیا برای کروالر ایندکس کردن "یک صفحه" مفهومی دارد که مطابق با SEO باشد؟ و مگر این نیست که در واقع "یک صفحه هست" و با Nav.JS یه URL فرندلی میشه و کاربر حس نمیکند که فقط در "یک صفحه" است؟
    ممنونم. 
    • #
      ‫۱۲ سال و ۳ ماه قبل، چهارشنبه ۷ تیر ۱۳۹۱، ساعت ۰۲:۴۵
      طبق تحقیقاتی که انجام دادم اصلا Seo friendly نیست دلیلشم بر میگرده به نحوه محاسبه Page rank که همون اسمش مشخصه به محتواتی صفحه کار داره.
      • #
        ‫۱۲ سال و ۳ ماه قبل، چهارشنبه ۷ تیر ۱۳۹۱، ساعت ۰۷:۲۷
        اگه واقعا اینطوری که شما میگین باشه، وارد شدن در این راه به‌شدت اشتباهه. چون مسئله‌ی کاملا جدی هست. به‌نظرم میرسه، اطلاعات کمی موجوده و شاید نظر دادن در موردش درست نباشه.
        • #
          ‫۱۲ سال و ۳ ماه قبل، چهارشنبه ۷ تیر ۱۳۹۱، ساعت ۱۲:۲۶
          این موارد برای نوشتن برنامه‌های (سازمانی) تحت وب است  که seo friendly بودن اصلا مهم نیست
          • #
            ‫۱۲ سال و ۳ ماه قبل، چهارشنبه ۷ تیر ۱۳۹۱، ساعت ۱۵:۲۳
            خب با این حال، مثلا فیس‌بوک یا توئیتر چگونه SEO فرندلی هستند؟ البته اگر آنها رو جزو SPA بیاریمش!
            • #
              ‫۱۲ سال و ۳ ماه قبل، چهارشنبه ۷ تیر ۱۳۹۱، ساعت ۱۶:۰۳
              برنامه‌های وبی که برای سازمان‌ها نوشته می‌شوند از همان ابتدای امر با مباحث authorization و authtication محافظت خواهند شد (تمام صفحات آن‌ها). به همین جهت در این نوع برنامه‌ها به صورت خودکار دسترسی به هر نوع bot ایی بسته می‌شود که باید هم به همین ترتیب باشد.
            • #
              ‫۱۲ سال و ۳ ماه قبل، چهارشنبه ۷ تیر ۱۳۹۱، ساعت ۱۶:۳۱
              سوالی بود که من هم  در سایت stackoverflow قرار دادم و جالبه که بدونید به سوال اولم که مربوط به بحث seo friendly بودن این تکنولوژی بود  شاید بتونم راحت بگم 3 ثانبه ای جواب گرفتم. 
              ولی سوال دومم  پرسیدم گفت که اونا از یه استانداری که  مربوط به گوگل استفاده میکنند که SPA شبیه به همئن تکنولوژیه.
              در کل توئیتر و  فیس‌بوک  تو کل صفحاتشون از SPA استفاده نمیکنن.
        • #
          ‫۱۲ سال و ۳ ماه قبل، چهارشنبه ۷ تیر ۱۳۹۱، ساعت ۱۶:۲۵
          نه اینطور نیست شما در داخل صفحاتی که موتورهای جستجو  به اون دسترسی ندارند مثلاً صفحات ویرایش حذف و... میتونید استفاده کنید