وب اپلیکیشن پیش رونده (PWA) چیست؟

وب‌اپلیکیشن‌های پیش رونده (Progressive Web Apps) یا به اختصار PWA می‌توانند تحول بزرگ بعدی در حوزه‌ی اپلیکیشن‌های موبایل محسوب شوند. این فناوری که ابتدا در سال ۲۰۱۵ و توسط گوگل معرفی شد، به علت آسودگی نسبی توسعه و در اختیار قرار دادن یک تجربه‌ی کاربری آنی برای کاربران توجهات زیادی را به خود جلب کرده است.وب اپلیکیشن‌های پیش رونده از جدیدترین فناوری‌ها در ترکیب اپلیکیشن‌های موبایل و وب‌سایت‌ها بهره می‌گیرند. یک وب اپلیکیشن پیش رونده در واقع وب‌سایتی است که از فناوری‌های مدرن وب استفاده می‌کند؛ اما ظاهر و کارکرد آن همانند یک اپلیکیشن معمولی است. پیشرفت‌های اخیر در مرورگرها، سرویس ورکرها، کش‌ها و رابط‌های برنامه‌نویسی نرم‌افزار (API)، توسعه‌دهندگان وب را قادر کرده تا وب اپلیکیشن‌هایی با قابلیت افزودن به صفحه‌ی خانگی سیستم‌عامل با امکان ارسال اعلان از سمت سرور (Push Notifications) و حتی عملکرد آفلاین توسعه دهند.وب اپلیکیشن‌های پیش رونده در مقایسه با اپلیکیشن‌های بومی موجود در فروشگاه‌های نرم‌افزاری از مزیت اکوسیستم گسترده‌تر وب و پلاگین‌ها و آسودگی نسبی توسعه و حفظ وب‌سایت‌ها برخوردار هستند. اگر از جمله توسعه‌دهندگان وب‌سایت و اپلیکیشن محسوب ‌شوید، حتما می‌دانید که ساخت یک وب‌سایت با صرف زمان کمتری قابل انجام است و نیازی به حفظ قابلیت پس‌سازگاریِ (backwards-compatibility) رابط‌های برنامه‌نویسی وجود ندارد؛ زیرا برخلاف چندپارگی نسخه‌های اپلیکیشن‌های بومی، تمام کاربران نسخه‌‌ای یکسان از کد وب‌سایت را اجرا می‌کنند. چه نیازی به وجود وب اپلیکیشن‌های پیش رونده وجود دارد؟نتایج یک تحقیق نشان می‌دهد که کاربران معمولی تقریبا ۸۰ درصد از زمان خود را صرف استفاده از تنها ۳ اپلیکیشن می‌کنند. برای مثال، اکثر افراد معمولا از یک اپلیکیشن پیام‌رسان (تلگرام یا واتساپ)، یک مرورگر (کروم) و یک اپلیکیشن شبکه‌های اجتماعی (اینستاگرام، فیسبوک یا توییتر) بیش از دیگر اپ‌ها استفاده می‌کنند. دیگر اپلیکیشن‌ها نیز اکثر اوقات بلااستفاده باقی می‌مانند و تنها حافظه‌ی رم و حافظه‌ی داخلی گوشی را بی‌جهت مصرف و اشغال می‌کنند. علاوه بر این، هزینه‌ی توسعه‌ی یک اپلیکیشن در مقایسه با ساخت یک وب‌سایت برای ارائه‌ی همان سرویس، معمولا ۱۰ برابر بیشتر است. همچنین، در صورتی که توسعه‌دهنده قصد توسعه و حفظ بیس کد (پایگاه کد) مجزا برای پلتفرم‌های مختلف نظیر اندروید، آی‌اواس و وب را داشته باشد، این هزینه‌ها بیش از پیش افزایش خواهد یافت.همچنین، استفاده از اپلیکیشن‌های بومی موبایل، تجربه‌ای آنی برای کاربران به همراه ندارد. یک کاربر برای استفاده از اپلیکیشن بومی دلخواه خود، در ابتدا باید به جستجوی آن در فروشگاه اپلیکیشن بپردازد، آن را دانلود، نصب و در نهایت اجرا کند. زمان‌بر بودن این مراحل موجب می‌شود که برخی کاربران در نیمه‌های راه از خیر نصب این اپلیکیشن‌ها بگذرند. در طرف مقابل، هنگامی که کاربر با یک وب اپلیکیشن پیش رونده مواجه می‌شود، می‌تواند بدون طی کردن مراحل غیرضروری دانلود و نصب و تنها با مراجعه به یک نشانی وب بلافاصله استفاده از آن را آغاز کند. خصوصیات یک وب اپلیکیشن پیش رونده چیستوب اپلیکیشن‌های پیش رونده واجد ویژگی‌ها زیر هستند:پیش رونده (قابل استفاده در هر دستگاه و سیستم‌عامل): یک وب اپلیکیشن پیش رونده فارغ از نوع مرورگر و نوع دستگاه، برای تمام کاربران قابل استفاده است.قابل جستجو: از آنجایی که وب اپلیکیشن‌های پیش رونده در واقع یک وب‌سایت محسوب می‌شوند، از طریق موتورهای جستجو قابل یافتن هستند. این خصوصیت، یک برتری قابل توجه آن‌ها بر اپلیکیشن‌های بومی است.قابل پیونددهی (لینک‌دهی): وب اپلیکیشن‌های پیش رونده برخلاف اپلیکیشن‌های بومی نیازی به طی کردن مراحل پیچیده‌ی دانلود و نصب ندارند و اشتراک‌گذاری آن‌ها از طریق یک نشانی وب (URL) به راحتی امکان‌پذیر است.انعطاف‌پذیر: رابط کاربری وب اپلیکیشن‌های پیش رونده خود را با هر نوع فرم فکتور اعم از موبایل و دسکتاپ و هر نوع اندازه‌ی نمایشگر تطبیق می‌دهد. ظاهر اپلیکیشن‌وار: یک اپلیکیشن پیش رونده شباهت بی‌بدیلی به اپلیکیشن‌های بومی دارد، از رابط کاربری مشابه آن‌ها استفاده می‌کند و مسیریابی در آن‌ها تفاوتی با اپلیکیشن‌های معمولی ندارد.بی‌نیاز از اتصال اینترنت: وب اپلیکیشن‌های پیش رونده در صورت ضعف اتصال اینترنت یا حتی به صورت آفلاین نیز قابل استفاده هستند.درگیر کردن کاربر: احتمال آنکه کاربران اپلیکیشن‌های موبایل مجددا از اپلیکیشن‌های خود استفاده کنند بیشتر از احتمال مراجعه‌ی مجدد به یک‌ وب‌سایت است. وب اپلیکیشن‌های پیش رونده با استفاده از ویژگی‌هایی نظیر اعلان‌های سمت سرور (Push Notification)، این ضعف را جبران کرده‌اند.قابل نصب: وب اپلیکیشن‌های پیش رونده را می‌توان همانند اپلیکیشن‌های بومی نصب و آیکون آ‌ن‌ها را به صفحه‌ی خانگی و حتی کشوی اپلیکیشن‌ها اضافه کرد؛ با این تفاوت که دسترسی به آن‌ها بی‌نیاز از دردسرهای جستجو در فروشگاه‌های اپلیکیشن است. این ویژگی استفاده از آن‌ها را به شدت آسان می‌کند.به‌روز بودن: در حالی که اپلیکیشن‌های بومی نیازمند به‌روزرسانی از طریق فروشگاه‌های نرم‌افزاری هستند، وب اپلیکیشن‌های پیش رونده به لطف فرآیند به‌روزرسانی سرویس ورکر، همیشه به آخرین نسخه، به‌روز هستند و هنگامی که محتوای جدید منتشر شود و کاربر به اینترنت متصل باشد، آن محتوا بلافاصله در دسترس کاربر قرار می‌گیرد.ایمن: از آنجایی که وب اپلیکیشن‌های پیش رونده در بستر HTTPS قرار دارند، از مخاطرات امنیتی در امان هستند.برای مشاهده مقالات برنامه نویسی به سایت لرن سورس مراجعه کنید