دویی از خود بُرون کردم یکی دیدم دوعالم را / یکی جویم، یکی گویم، یکی دانم، یکی خوانم
فرق SPA با PWA
سلام دوستان عزیزم من اومدم با یه مقاله دیگه و امیدوارم حال دل همتون خوب باشه 💐🤗، خب همونطور که از عنوان مقاله مشخصه میخوام براتون از تفاوت بین SPA با PWA براتون صحبت کنم. من توی پست لینکدین خودم از SPA براتون صحبت کردم و پیشنهاد میکنم از این قسمت بهش سر بزنید.خب پس اگه موافق باشید بریم سراغ PWA و مقایسه اون با SPA ، با من همراه باشین 🥳...
قدم اول، PWA چیست
بزارید قبل از اینکه برم سراغ تعریف اصلی PWA قبلش ذهنتون رو آماده کنم تا فقط یه تعریف تیتر وار از PWA خدمتتون نگفته باشم، سایت freeCodeCamp یه تیتر جالب برای تعریف PWA زده که "These days, everything is made possible with the help of mobile phones and applications" که اگه بخوام تفسیرش کنم براتون منظور اینه که توی دنیا امروزه، شما بنا به هر دلیلی وقتی احتیاج به خدماتی دارید از جمله سفارش غذا، خدمات دولتی و بانکداری ، خرید محصول و... برای همشون به لطف تلفن های همراه تون، Application مربوط به خوده اون خدمات رو دارن و نیازهای شما رو برطرف میکنن. خب همه چی تا اینجای کار گل و بلبل پیش رفت 😁 ولی حالا حساب کنید این قصه برای اون توسعه دهنده های بنده خدا که این App رو نوشتن آنچنان همچین گل و بلبل هم نیست ، چون در برخی مواقع موجب هزینه هایی برای ایجاد و نگهداری اون App میشه که حتی برای تجارت های کوچیک اصلا صرفه اقتصادی و زمانی نداره که شما بیاین یک App برای تلفن همراه ایجاد کنید چه برسه به اینکه از اون App هم نگهداری کنید و پشتیبانی اون رو انجام بدید و...😩
خب حالا چاره چیه!🤔
اینجاست که دوست خوبمون PWA وارد عمل میشه ، PWA یا به اختصار Progressive Web Application. این رفیقمون از HTML، CSS و JavaScript ساخته شده (که همتون با این سه تا رفیق دوستداشتنی آشنا هستین 🤗) و پروژه ای که با این تکنولوژی ساخته میشه به ما حس و عملکرد یک برنامه Native رو میده. 🤩
اما منظور از برنامههای Native چیست؟
برنامه Native به برنامه هایی میگن که یک زبان برنامهنویسی خاص برای یک پلتفرم دستگاه خاص، یا iOS یا اندروید، ساخته شدن. پروژه هایی که با PWA درست میشن قابلیتهایی مانند push notification و قابلیت کار در حالت Offline ساخته میشن. اونها همچنین بر اساس API هایی ساخته شدن و بهبود یافتن که ارائه قابلیتهایی از جمله امکان نصب بر روی هر دستگاه را آسون میکنه 🤩. PWA چون داره از اکوسیستم وب بهره میبره (که شامل پلاگینها و تمامی مواردی که برای استقرار و نگهداری یک وبسایت شامل میشه) پس اینطوری با یه تیر دو نشون میزنین هم توی پروژه تون وب سایت تون رو گسترش میدید هم خیالتون راحته با صرفه هزینه کم بدون استفاده از زبان برنامه نویسی دیگه ای، app تلفن همراه خودتون رو با بهترین کیفیت گسترش میدید🤩 ، بر عکس یک برنامه Native که توسعه اون بسیار دووشواره😁.
این تصویری که مشاهده میکنین آماری هست که سایت visionvix برای PWA منتشر کرده
خب حالا فرقش با SPA چیه 🤔
حالا بریم سراغ مقایسه PWA و SPA ، هر دو این بزرگواران گزینه های محبوبی برای ساخت برنامههای وب مدرن بعمل میان🥳، اما در زمینه عملکرد، امنیت و نگهداری تفاوت دارن. انتخاب مناسب برای برنامه شما بستگی به نیازهای خاص برنامه و منابع موجود داره.
پروژه هایی با PWA ساخته میشن تجربهای نزدیک به برنامههای Native برای کاربران ارائه میدن، با ویژگیهایی مانند push notification و پشتیبانی از حالت Offline، و اغلب برای بهینهسازی موتورهای جستجو (SEO) بهتر هستن چون توسط موتورهای جستجو مثل وبسایتهای معمولی index میشن🤩. با این حال، ممکنه با اینکه گفتم هزینه ش از برنامه های Native کمتره ولی در برخی مواقع پیش میاد نیازمنده توسعه بیشتر منابع و تخصص بشیم و به دلیل داشتن یک server، نگهداری و بهروزرسانی اون هم گرون تر از برنامه های Native برامون آب بخوره.🥺
از سوی دیگه پروژه هایی که با SPA ایجاد میشن، تجربهای سریع و پیوستهتر برای کاربران ارائه میدن چون به روزرسانی محتوا نیازی به بارگذاری مجدد صفحه کامل نداره. و اغلب آسونتر برای توسعه هستن🤩 ، اما ممکن است در بهروزرسانی کندتر باشن و برای موتورهای جستجو برای پوشش و indexشدن، دشوارتر .🥺
این تصویر پایینی استفاده Framework های متفاوت برای ساخت Web Application و PWA هست به گزارش visionvix
مَخلص کلام
خب دوستان همونطوری که گفتم با توجه به نیاز پروژه مون و شرایط باید سنجید که کدوم تکنولوژی گزینه بهتری برامون بشمار میره و استفاده درست از هر کدوم از این عزیزان 😁 برامون میتونه پیشرفت های فوق العاده ارزنده ای رو به ارمغان بیاره و تجربه کاربری دلنشینی به کاربران محترممون بده.
ازتون بی نهایت سپاسگزارم تا انتهای این مقاله همراهم بودید 💐 دل هاتون پر از عشق و آرامش. 🙌
مطلبی دیگر از این انتشارات
پوسته زی(zsh) چیست؟ + alias ها
مطلبی دیگر از این انتشارات
بیاید یه هوش مصنوعی ساده و ۱۰۰ درصد برنده توی بازی سنگ کاغذ قیچی بسازیم
مطلبی دیگر از این انتشارات
الگوهای ساختاری در گولنگ