PWA چیست و چطور کار میکند؟
PWA مخفف Progressive Web App است و در فارسی به آن وب اپلیکیشن پیشرونده میگویند. در ظاهر یک وبسایت است که با مرورگر باز میشود، اما چند قابلیت اضافه دارد که تجربهای نزدیک به اپ میسازد.
کاربر یک بار سایت را باز میکند و گزینه «افزودن به صفحه اصلی» را میزند. از آن به بعد آیکون شما کنار بقیه اپها قرار میگیرد و برنامه بدون نوار آدرس مرورگر و بهصورت تمامصفحه باز میشود. بخشی از فایلها هم روی گوشی ذخیره میشود تا دفعه بعد سریعتر بالا بیاید و حتی با اینترنت ضعیف یا قطع، صفحه خالی نشان ندهد.
نکته مهم این است که PWA یک فناوری جدا از وب نیست. اگر یک وب اپلیکیشن خوب داشته باشید، تبدیل آن به PWA کار اضافه سنگینی نیست. ما در خدمات طراحی وب اپلیکیشن تکنوراه این قابلیت را برای پروژههایی که به آن نیاز دارند از همان ابتدا در معماری در نظر میگیریم.
اپلیکیشن نیتیو چیست؟
اپلیکیشن نیتیو (Native) برنامهای است که مخصوص یک سیستمعامل ساخته میشود و کاربر آن را از استورهایی مثل گوگلپلی یا اپاستور نصب میکند. چون مستقیم با سیستمعامل کار میکند، به همه امکانات گوشی دسترسی دارد: دوربین، بلوتوث، حسگرها، اجرا در پسزمینه و اعلانهای کامل.
در این مقاله اپهایی را هم که با فلاتر ساخته میشوند در همین دسته میگذاریم. فلاتر ابزاری است که با یک کد، خروجی اندروید و iOS میدهد و نتیجه آن از نگاه کاربر یک اپ واقعی و نصبشدنی از استور است. تفاوت این دو روش را در مقاله مقایسه فلاتر و نیتیو جداگانه بررسی کردهایم.
تفاوت PWA و اپلیکیشن نیتیو در یک جدول
جدول زیر مهمترین تفاوتها را از نگاه یک صاحب کسبوکار خلاصه میکند. پشتیبانی مرورگرها و سیستمعاملها از قابلیتهای PWA بهمرور تغییر میکند؛ پس پیش از تصمیم نهایی، وضعیت همان قابلیتی را که برایتان حیاتی است با تیم فنی بررسی کنید.
| معیار | PWA | اپلیکیشن نیتیو (یا فلاتر) |
|---|---|---|
| نصب | از داخل مرورگر و بدون استور؛ کاربر باید خودش گزینه افزودن به صفحه اصلی را بزند | از استور؛ مسیر آشنا برای بیشتر کاربران |
| کار آفلاین | ممکن است، اما معمولاً محدود به محتوای ذخیرهشده و کارهای ساده | کاملتر؛ ذخیره داده روی دستگاه و همگامسازی بعدی |
| اعلان (Push) | در اندروید پشتیبانی میشود؛ در iOS فقط در نسخههای جدیدتر و بعد از افزودن به صفحه اصلی، با محدودیتهای بیشتر | پشتیبانی کامل در هر دو سیستمعامل |
| دسترسی به امکانات گوشی | دوربین و موقعیت مکانی معمولاً در دسترس است؛ بلوتوث، NFC و اجرا در پسزمینه محدود یا وابسته به مرورگر | دسترسی کامل به سختافزار و قابلیتهای سیستمعامل |
| حضور در استور | بهطور پیشفرض ندارد؛ کاربر از طریق لینک و جستوجوی گوگل میرسد | دارد؛ همراه با فرایند بازبینی و قوانین هر استور |
| هزینه ساخت و نگهداری | معمولاً کمتر؛ یک کد برای همه دستگاهها | معمولاً بیشتر؛ فلاتر این فاصله را کم میکند |
| سرعت بهروزرسانی | فوری؛ کاربر همیشه آخرین نسخه را میبیند | وابسته به بازبینی استور و بهروزرسانی از طرف کاربر |
مزایا و معایب وب اپلیکیشن پیشرونده
مزایا
- یک محصول برای همه دستگاهها: همان کد روی اندروید، آیفون، تبلت و رایانه کار میکند.
- بدون وابستگی به استور: انتشار و بهروزرسانی در اختیار خود شماست و منتظر بازبینی نمیمانید.
- ورود آسان کاربر: با یک لینک باز میشود و نیازی به دانلود و نصب پیش از اولین استفاده نیست.
- دیدهشدن در گوگل: صفحات آن مثل هر وبسایت دیگری قابل جستوجو هستند.
معایب
- محدودیت در iOS: بعضی قابلیتها در آیفون دیرتر یا محدودتر از اندروید پشتیبانی میشوند.
- نصب ناآشنا: بسیاری از کاربران نمیدانند «افزودن به صفحه اصلی» چیست و باید راهنمایی شوند.
- دسترسی کمتر به سختافزار: برای کار با بلوتوث، حسگرها یا پردازش مداوم در پسزمینه انتخاب مطمئنی نیست.
- نبودن در استور: اگر مشتری شما عادت دارد اپ را در استور جستوجو کند، شما را آنجا پیدا نمیکند.
چه زمانی PWA و چه زمانی اپلیکیشن نیتیو؟
پاسخ به نوع محصول و رفتار کاربر شما بستگی دارد، نه به اینکه کدام فناوری جدیدتر است.
PWA انتخاب مناسبی است اگر:
- محصول شما بیشتر فرم، فهرست، سفارش، رزرو یا محتواست؛
- میخواهید سریع وارد بازار شوید و ایده را با هزینه کمتر بسنجید؛
- کاربران شما بیشتر از طریق جستوجو یا لینک به شما میرسند؛
- ابزار داخلی سازمان یا پنل مشتریان میسازید که روی رایانه هم استفاده میشود.
اپلیکیشن نیتیو یا فلاتر انتخاب مناسبی است اگر:
- اعلانها بخش اصلی تجربه محصولاند و باید روی هر دو سیستمعامل مطمئن کار کنند؛
- به بلوتوث، NFC، حسگرها یا اجرا در پسزمینه نیاز دارید؛
- کاربر هر روز و برای مدت طولانی با اپ کار میکند و روانی حرکتها اهمیت دارد؛
- حضور در استور برای اعتماد یا دیدهشدن برند شما لازم است.
اگر به دسته دوم نزدیکترید، صفحه خدمات طراحی اپلیکیشن موبایل را ببینید.
مسیر ترکیبی: شروع با وب اپلیکیشن، ادامه با اپ
انتخاب بین PWA یا اپلیکیشن نیتیو همیشه «یا این، یا آن» نیست. برای بسیاری از کسبوکارها مسیر منطقی این است که ابتدا یک وب اپلیکیشن با قابلیت PWA بسازند، با کاربران واقعی آن را بیازمایند و بعد از اثبات تقاضا، اپ فلاتر یا نیتیو را اضافه کنند.
شرط موفقیت این مسیر، معماری درست از روز اول است. اگر بکاند، یعنی بخش سمت سرور، از ابتدا با API جدا طراحی شود، اپ موبایل بعدی به همان سرور وصل میشود و لازم نیست منطق کسبوکار دوباره نوشته شود.
در تکنوراه این تصمیم را در «فاز یک: معماری و طراحی سیستم» میگیریم؛ قبل از اینکه خطی کد نوشته شود. فیتامون از نمونهکارهای ماست که هم نسخه وب و هم اپ موبایل دارد.
هزینه PWA در برابر اپلیکیشن نیتیو
PWA معمولاً ارزانتر تمام میشود، چون یک کد برای همه دستگاهها نوشته و نگهداری میشود. اما بخش بزرگی از هزینه هر محصول دیجیتال در بکاند، پنل مدیریت و منطق کسبوکار است و این بخش در هر دو روش تقریباً یکسان است.
عوامل اصلی هزینه در هر دو مسیر عبارتاند از تعداد امکانات، سطح طراحی اختصاصی، اتصال به سرویسهای بیرونی و میزان کار آفلاین. برای برآورد اولیه میتوانید از ماشینحساب هزینه ساخت اپلیکیشن استفاده کنید.
قدم بعدی
اگر هنوز مطمئن نیستید کدام مسیر برای محصول شما درست است، سه چیز را روی کاغذ بیاورید: کاربر شما با چه دستگاهی کار میکند، کدام قابلیت گوشی برای محصول حیاتی است و چقدر زود باید وارد بازار شوید.
اگر نتیجه به سمت وب رفت، صفحه طراحی و توسعه وب اپلیکیشن در تکنوراه را ببینید. در یک جلسه مشاوره رایگان ۱۵ دقیقهای نیاز شما را بررسی میکنیم و اگر PWA برای کارتان کافی نباشد، همین را صریح میگوییم.
سوالات متداول
آیا PWA روی آیفون هم کار میکند؟
بله. کاربر آیفون میتواند از طریق مرورگر سافاری، PWA را به صفحه اصلی اضافه کند و آن را تمامصفحه باز کند. اما بعضی قابلیتها در iOS محدودتر از اندروید است؛ برای نمونه اعلانها فقط در نسخههای جدیدتر iOS و بعد از افزودن به صفحه اصلی کار میکنند. اگر قابلیت خاصی برایتان حیاتی است، پیش از شروع آن را روی آیفون آزمایش کنید.
تفاوت PWA با وبسایت معمولی چیست؟
وبسایت معمولی فقط در مرورگر و با اینترنت باز میشود. PWA همان وبسایت است با چند قابلیت بیشتر: آیکون روی صفحه اصلی گوشی، نمایش تمامصفحه بدون نوار مرورگر، بالاآمدن سریعتر به کمک ذخیره فایلها روی دستگاه، کار محدود در حالت آفلاین و امکان ارسال اعلان در دستگاههایی که از آن پشتیبانی میکنند.
آیا میتوان PWA را در استورها منتشر کرد؟
PWA بهطور پیشفرض بدون استور نصب میشود. راههایی برای قراردادن آن در یک بسته قابل انتشار در بعضی استورها وجود دارد، اما هر استور قوانین خودش را دارد و پذیرش آن قطعی نیست. اگر حضور در استور برای کسبوکار شما ضروری است، ساخت اپ با فلاتر معمولاً مسیر مطمئنتری است.
اگر با PWA شروع کنم، بعداً باید همهچیز را از نو بسازم؟
نه، به شرطی که معماری از ابتدا درست باشد. اگر بخش سمت سرور با API مستقل طراحی شده باشد، اپ موبایل بعدی به همان سرور و همان پایگاه داده وصل میشود. در این حالت فقط رابط کاربری اپ ساخته میشود و حسابهای کاربری، سفارشها و قوانین کسبوکار دستنخورده باقی میمانند.