وب اپليکيشن يا Progressive Web App که به اختصار آن را با pwa میشناسیم این امکان را در اختیار قرار میدهد که بدون نیاز به طراحی برنامه برای نسخه اندروید یا ios بتوان درست به نوعی از حالت رسپانسیو شده سایت استفاده کرد. اگر در برخی سایتها مثل نسخه موبایل توییتر با مرورگر گوگل کروم به آدرس https://mobile.twitter.com مراجعه کنید بعد از ورود درخواستی را مبنی بر اضافه کردن سایت به صفحه اصلی به شما نمایش خواهد داد. حال هر زمان که نیاز به مراجعه به توییتر داشته باشید، کافی است در گوشی خود روی آیکونی که درست مثل برنامهای جدا به صفحه اصلی اضافه شده کلیک کرده و از طریق مرورگر وارد توییتر شوید. به این نوع برنامهها وب اپلیکیشن یا pwa میگویند.
ما در این مقاله قصد داریم به معرفی وب اپلیکیشن یا همان pwa پرداخته و با ویژگیها و ساختارهای آن آشنا شویم. سپس به بررسی نحوه استفاده از آن بپردازیم و ببینیم که استفاده از آنها تا چه حدی میتواند مناسب باشد.
همانطور که اشاره کردیم وب اپلیکیشن پیش رونده یا Progressive Web App در واقع یک نرم افزار تحت وب است که یک وبسایت را در قالب یک اپلیکیشن در تلفنهای هوشمند به نمایش در میآورد. این فناوری که در سال 2015 توسط گوگل معرفی شد، به علت آسودگی نسبی توسعه و در اختیار قرار دادن تجربه کاربری آنی برای کاربران توجهات زیادی را به خود جلب کرده است. در واقع نرم افزارهای پیش رونده تلاش میکنند تا کاربرد یک نرم افزار بومی را ارائه دهند با این تفاوت که در قالب یک مرورگر یک وبسایت را به نمایش خواهند گذاشت.
هنگام استفاده از این نوع برنامهها شما به سایت مورد نظر از طریق مرورگر هدایت میشوید. در نتیجه نیازی به اشغال فضای حافظه گوشی و رم خود برای نصب برنامه ندارید. کا به سادگی انجام گرفته و در یک نسخه بسیار کم حجم میتوانید به محتوای دلخواه دسترسی داشته باشید. با مراجعه به هر سایتی که از این قابلیت پشتیبانی کند، از شما پرسیده میشود که آیا میخواهید سایت را به صفحه اصلی خود اضافه کنید یا خیر؟ که در صورت پذیرفتن آیکون سایت مورد نظر درست مانند سایر برنامهها به گوشی اضافه میشود.
شما با یک میانبر روبهرو هستید که نیازی به حفظ کردن آدرس سایتها نداشته و به راحتی میتوانید در سایتهایی که زیادی با آنها سر و کار دارید به گشت و گذار بپردازید.
به دلیل اینکه این نوع اپلیکیشن روی گوشیهای اندروید و ios قابل استفاده است و گذشته از این ما با نمایشگرهایی در سایزهای مختلف مواجه هستیم باید ویژگیهای زیر در تهیه این نوع اپلیکیشنها رعایت شده باشد.
قابلیت نصب روی هر نوع گوشی، تبلت و دسکتاپ: امروزه وب اپلیکیشن ها پای خود را به تمامی سیستم عاملها باز کردهاند. وقتی وارد سایتهایی مثل اینستاگرام، توییتر و… میشوید بسته به سیستم عامل و مرورگری که وارد شده اید درخواستی برای اضافه کردن برنامه به صفحه اصلی ارسال خواهد شد. پس هر وب اپلیکیشن باید طوری باشد که با تمامی سیستم عاملها و مرورگر های موجود سازگاری لازم را داشته باشد.
طبق یک تحقیق صورت گرفته در سالهای گذشته، گفته میشود که کاربرانی که از گوشی موبایل استفاده میکنند 80 درصد از زمان خود را صرف استفاده از حداقل سه نوع برنامه میکنند. این نوع برنامهها میتوانند شامل برنامههای پیامرسان، شبکههای اجتماعی و مرورگر اینترنت باشند. در این صورت استفاده از سایر برنامهها به ندرت صورت گرفته و زمان کمتری را صرف آنها میکنند. گذشته از این، سایر برنامه ها هم صرفا حافظه گوشی را اشغال کرده و بخشی از رم را به خود اختصاص خواهند داد.
جدایی از این مسئله، هزینهای که برای ساخت برنامه جدا باید پرداخت کنید در مقایسه با pwa ها به بیش از 10 درصد هم میرسد. که اگر از دیتابیس جدا برای این برنامه استفاده شده باشد هزینهها بیشتر و بیشتر هم خواهند شد. حال به نظر شما کدام بهتر است؟ اپلیکیشن بومی یا pwa ها؟
گذشته از این مسائل گفته شده، کاربران برای استفاده از برنامههای بومی باید در فروشگاهها اقدام به جستجو کرده، برنامه را روی گوشی خود نصب کنند و در صورت ارائه قابلیتهای جدید منتظر انتشار نسخه جدید باشند. برخی هم هستند که کلا از قافله عقب بوده و بروزرسانیها را بعد از چند ماه انجام میدهند یا اصلا اطلاعی از ارائه نسخه جدید ندارند. همگی این موارد گاها باعث میشود تا خیلیها از خیر نصب کردن برنامه بر روی گوشی خود هم بگذرند. پس با همه این تفاسیر بهتر است که از pwa ها استفاده کنیم.
از آنجایی که کار با نرم افزارهای پیش رونده بسیار ساده است برخی از سرویسهای مشهور و محبوب از آن استفاده میکنند. از این بین یکی از قدیمیترین سرویسها توییتر است که میتوانید برای دسترسی به آن با رفتن به آدرس mobile.twitter.com به آن دسترسی داشته باشید. دسترسی به توییتر از طریق وب اپلیکیشن درست مثل خود برنامه توییتر است و به همه امکاناتی که برای توییت کردن نیاز دارید دسترسی خواهید داشت.
از دیگر موارد می توان به برنامههایی مثل اوبر، پینترست، لیفت و … اشاره کرد. برای اینکه به لیست کاملی از pwa ها دسترسی داشته باشید میتوانید به وبسایت https://appsco.pe/search مراجعه کرده و با سایت های مختلفی آشنا شوید. آن را روی گوشی خود اجرا کرده و ببینید که چه ویژگی و امکاناتی دارند.
از نمونههای فارسی این موارد میتوان به وب سایتهایی مثل دیجی کالا، اسنپ و تپسی اشاره کرد که تاکسیهای اینترنتی در پی حذف شدن برنامههایشان از اپل استور امکان استفاده از آنها را در قالب pwa فراهم کردند.
در حال حاضر مرورگرهایی که از pwa پشتیبانی می کنند شامل گزینههای زیر هستند:
دلیل اینکه برخی از موارد به صورت جداگانه ذکر شده این است که مورد مشترک اول به صورت کامل سازگاری داشته و بدون نقص کار میکند اما در مورد دوم با مشکلاتی مواجه هستید که هنوز به طور کامل برطرف نشده است.
انتظار میرود که در آینده تحول بزرگی در این نوع برنامهها ایجاد شده و با ساختاری استاندارد از آنها روبهرو شویم. در نتیجه بسیاری از برنامهها دیگری احتیاجی به ارائه نسخه بومی و نصب شده روی گوشی ندارند. در زیر برخی ویژگیهایی که با برنامه بومی به صورت یکسان است را بررسی میکنیم.
اگر دقت کنید ساختار و ظاهر این برنامهها درست مانند برنامه موبایل است و اگر آیکون برنامه که به گوشی اضافه شده است را به شخصی نشان دهید تا زمانی که روی آن کلیک نکرده و در مرورگر آن را باز نکند، فکر میکند که یک برنامه بومی است. برای اینکه این سنت حفظ شود برنامهها طوری ساخته میشوند که از معماری پوسته برخوردارند.
یعنی پوسته به صورت کش شده در مرورگر ذخیره شده و این تنها دادههای پویا هستند که در هر بار تغییر میکنند. در این صورت سرعت اتصال اینترنت زیادی هم برای اجرای آنها و دریافت اطلاعات جدید نیاز نخواهد بود تا از ابتدا همه چیز لود شود. هر چیز استاتیک که تا مدتها تغییر نمیکند به صورت کش شده در دسترس است.
اپلیکیشنهای بومی موبایل به دلیل اینکه روی حافظه نصب شده و اگر به صورت سریع آپدیت شوند به خوبی پاسخگوی نیاز خواهند بود. اما در طرف مقابل، وب اپلیکشنها هنوز از مشکلاتی نظیر فقدان قابلیت اجرای کامپایل در کنار وابستگی به اتصال اینترنت رنج میبرند.
سرویس ورکرها قصد دارند ویژگیهای مثبت این دو گروه از اپلیکیشنها را با یکدیگر ادغام کنند و در قالب وب اپلیکیشنهای پیش رونده ارائه دهند. یعنی کاری که ورکرها انجام میدهند به این صورت است که بدون نیاز به اجرای برنامه مرورگر برای دسترسی به pwa برخی موارد مثل پوش نوتیفیکیشن و… را در همان پس زمینه اجرا کرده و این مشکلات را از بین خواهد برد.
برای ساخت این نوع برنامه نیاز به کدنویسی به زبانهای جاوا و… است. البته برای راحتی کار این امکان در فریم ورک هایی نظیر آنگولار فراهم شده تا در زمانی کوتاه تر هم بتوانید آن را ایجاد کنید. بنابراین در حال حاضر سرویس آماده خیلی پیشرفتهای برای اینکه بتوانید بدون نیاز به دانش کدنویسی آن را ایجاد کنید وجود ندارد.
اما میتوان انتظار ان را در آیندهای نزدیک که استفاده از این نوع برنامهها افزایش مییابد را انتظار داشت.