SPA ها یا MPA ها کدامیک؟ مزایا و معایب هرکدام
SPA ها یا MPA ها کدامیک؟ مزایا و معایب هرکدام : در این مقاله به بررسی مفهوم spa و mpa میپردازیم . در اول کار لازم به ذکر است که این دو مبحث در رشته فرانت اند وب وجود دارند و در ادامه مزایا و معایب هرکدام را بررسی خواهیم کرد .
SPA ها یا MPA ها کدامیک؟ مزایا و معایف هرکدام
spa : single page application
mpa : multi page application
در ابتدا میفهمیم که spa , mpa مخفف چه چیزی هستند . و همانطور که میبینید این دو مخفف برنامه یک صفحه ای و برنامه چند صفحه ای .
Single Page Application (SPA)
این نوع اپلیکیشن ها تقریبا برنامه های دسکتاپی را شبیه سازی کرده اند . و معماری این اپلیکیشن ها به این صورت است که اگر شما یک اپلیکیشن SPA را باز کردید فقط یه بخشی از وبسایت دانلود شده و اگر شما مثلا روی لینکی کلیک کردید , صفحه وبسایت شما re-render میشود و ریلود (reload) نمیشود .
و برای ساختن این نوع اپلیکیشن ها باید از تکنولوزی های : React.js, Angular.js, Vue.js استفاده کرد , این فریمورک ها برای ساختن spa ها بهترین انتخاب ها هستند و شما میتوانید به کمک آن ها اپلیکیشن های بسیار انعطاف پذیری را بنویسید . و یکی از مزیت های دیگر آن ها این است که مطابق همان فریمورک میتوانید نسخه موبایل اپلیکیشن نیز بنویسید .React Native برای فریمورک react و Ionic برای انگیولار
مزایای این نوع اپلیکیشن ها :
سرعت بالا : از آنجایی که فقط بخش لازم را آپدیت میکنند سرعت کار را بسیار بسیار بالا میبرد .
نسخه موبایل : شما میتوانید مطابق با آن فریمورکی که انتخاب کرده اید و کد نوشته اید یک نسخه موبایل نیز بنویسید .
سرعت بالا در توسعه : با کتابخانه ها و فریمورک هایی که هست سرعت توسعه شما نیز بالا میرود .
معایب این نوع اپلیکیشن ها :
poor seo : یا همان سئوی فقیر
spa ها بر اساس جاوا اسکریپت کار میکنند و اطلاعات را در سمت کلاینت بارگذاری میکنند و موتور جستجو خیلی سخت میتونه این رفتار را شبیه سازی کند . و اکثر این صفحات به سادگی در دسترس ربات های جستجو گر نیستند .
جاوا اسکریپت غیر قعال : اگر در مرورگر کاربر جاوااسکریپت غیر فعال باشد صفحه نیز کار نخواهد کرد .
سطح پایین امنیت : جاوا اسکریپت به خودی خود زیاد امن نیست ولی شما میتوانید با استفاده از فریمورک های مدرن امن تر کار کنید .
با گفته شدن تمامی معایب و مزایای بالا باز هم باید در نظر بگیرید که کجا استفاده کنید و کجا استفاده نکنید و بسته به نیاز پروژه شما دارد . (پس همه چیز وابسته به شرایط است) ولی یادتان باشد که بنظرم مهم ترین و قابل توجه ترین عیب spa ها همان داشتن بهینه سازی فقیر seo است .
Multi Page Application (MPA)
این نوع اپلیکییشن ها معماری کلاسیکی دارند و به این صورت است که هر صفحه یک درخواست به سرور میفرستد و کل داده ها را نیز آپدیت خواهد کرد حتی اگر این داده ها کوچک و جزیی باشند .
مزایای این نوع اپلیکیشن ها :
بهینه سازی seo خوب : شما براحتی قادر به بهینه سازی seo برای وبسایتتان هستید .
توسعه آسان : مسلما این نوع اپلیکیشن ها نیاز زیادی به فریمورک های مدرن و جدید ندارند و کار ساده تر خواهد بود .
معایب این نوع اپلیکیشن ها :
زمان زیادی برای توسعه نسخه موبایل باید صرف کنید : و شاید در اکثر مواقع کل بک اند را از نو کد بزنید .
و شاید بخاطر نزدیک بودن بک اند و فرانت اند کارشان کمی پیچیده تر شود .
spa یا mpa ؟؟
در واقع ما کمی قبل تر با هر دو الگو آشنا شدیم و یاد گرفتیم که معایب و مزایای هرکدام چیست . اپلیکیشن های تک صفحه ای یا همان spa ها توسعه سریع و سرعت بالایی دارند و میتوانیم با آن ها نسخه موبایل نیز توسعه دهیم .
ولی معایبی مثل seo ضعیف نیز داشتند که انتخاب را برای ما سخت میکند . و شاید کمی تصمیم گیری درباره اینکه با کدام الگو برنامه را بنویسیم سخت باشد که باز هم میتوان با دیدی ساده به آن نگاه کرد , و گفت برنامه هایی که سعوی بسیار عالی نیاز ندارند را میتوانیم با spa ها بزنیم . و در مواقعی که اپلیکیشن هایی مقیاس پذیر و با سعوی خوب نیاز داریم میتوانیم از الگوری mpa استفاده کنیم . و لازم به ذکر است که این نوع الگو نیز سرعت خوبی را به همراه دارد ولی اگر خوب بهینه شود .
ولی هنوز شما مشکل توسعه نسخه موبایل را در الگوی mpa دارید . و با همه گفته های بالا شما وابسته به شرایط میتوانید تصمیم خود را بگیرید که از کدام الگو استفاده کنید.
2 دیدگاه
کامل و عالی بود
باتشکر از codefriend
عالی بود مطلبتون ممنونم