ahmad hasanzadeh branding logoahmad hasanzadeh branding logo
    خانهپروژه هامقالاتدرباره منتکنولوژی هاارتباط با من
ahmad hasanzadeh branding logoahmad hasanzadeh branding logo

ممنون که سر زدی ッ

© ۱۴۰۵

احمد حسن زاده. تمامی حقوق محفوظ است.

PWA و TWA چیست و چه تفاوتی با هم دارند؟

PWA و TWA چیست و چه تفاوتی با هم دارند؟

بررسی مفهومی PWA (Progressive Web App) و TWA (Trusted Web Activity)، نحوه کارکرد هرکدام و تفاوت‌های کلیدی این دو فناوری برای توسعه‌دهندگان فرانت‌اند.

مقایسه مفهومی PWA و TWA

اگر مدتی است دنبال ترندهای وب و اپلیکیشن موبایل هستید، احتمالاً به دو اصطلاح PWA و TWA برخورده‌اید. این دو اصطلاح شبیه هم به نظر می‌رسند و خیلی وقت‌ها هم در کنار هم استفاده می‌شوند، اما دقیقاً یک چیز نیستند. PWA یک نوع اپلیکیشن وب است، در حالی که TWA یک روش برای بسته‌بندی و توزیع همان اپلیکیشن وب در قالب یک اپ اندرویدی است. در این مقاله هرکدام را جداگانه بررسی می‌کنیم و در نهایت تفاوت‌های اصلی‌شان را کنار هم می‌گذاریم.

PWA چیست؟

PWA یا Progressive Web App، یک وب‌سایت معمولی است که با استفاده از چند تکنولوژی استاندارد وب، تجربه‌ای شبیه به اپلیکیشن‌های نیتیو به کاربر می‌دهد. نکته مهم این است که PWA یک تکنولوژی جدید یا چارچوب خاصی نیست؛ بلکه مجموعه‌ای از قابلیت‌های وب مدرن است که وقتی همه با هم پیاده‌سازی شوند، یک تجربه شبیه اپ می‌سازند.

سه رکن اصلی هر PWA عبارت‌اند از:

  • Service Worker: یک اسکریپت که در پس‌زمینه مرورگر اجرا می‌شود و درخواست‌های شبکه را رهگیری می‌کند. همین Service Worker است که کش کردن منابع و کارکرد آفلاین را ممکن می‌سازد.
  • Web App Manifest: یک فایل JSON که اطلاعاتی مثل نام اپ، آیکون، رنگ تم و نحوه نمایش اپ روی صفحه اصلی را مشخص می‌کند.
  • HTTPS: PWA فقط روی اتصال امن کار می‌کند، چون Service Worker به دلایل امنیتی به HTTPS نیاز دارد.

با ترکیب این سه مورد، کاربر می‌تواند PWA را از مرورگر «نصب» کند (Add to Home Screen)، حتی بدون اتصال به اینترنت به بخش‌هایی از آن دسترسی داشته باشد، و از قابلیت‌هایی مثل Push Notification استفاده کند؛ همه اینها بدون این‌که اپ از هیچ فروشگاهی دانلود شده باشد.

TWA چیست؟

TWA یا Trusted Web Activity، یک تکنولوژی مخصوص اندروید است که به شما اجازه می‌دهد یک PWA را داخل یک اپ اندرویدی واقعی اجرا کنید و آن را در Google Play منتشر کنید. به زبان ساده، TWA یک «پوسته» نازک است که محتوای وب شما را در حالت تمام‌صفحه و بدون نوار آدرس مرورگر نمایش می‌دهد، طوری که کاربر اصلاً متوجه نمی‌شود در حال دیدن یک صفحه وب است.

TWA روی فناوری Chrome Custom Tabs ساخته شده و از نسخه ۷۲ به بعد در کروم اندروید در دسترس است. محتوایی که داخل TWA نمایش داده می‌شود، دقیقاً همان محتوایی است که در مرورگر رندر می‌شود؛ یعنی TWA یک موتور رندر جداگانه ندارد و صرفاً همان مرورگر کاربر را در قالبی متفاوت نمایش می‌دهد.

برای اینکه اندروید مطمئن شود اپ و وب‌سایت متعلق به یک توسعه‌دهنده هستند، از مکانیزمی به نام Digital Asset Links استفاده می‌شود. این فایل روی دامنه شما قرار می‌گیرد و به سیستم اثبات می‌کند که مالکیت اپ اندرویدی و وب‌سایت یکی است. بدون این تایید، TWA نوار آدرس مرورگر را نشان می‌دهد و دیگر شبیه یک اپ نیتیو به نظر نمی‌رسد.

نحوه اجرای TWA روی Chrome Custom Tabs

تفاوت‌های اصلی PWA و TWA

با اینکه TWA وابسته به PWA است، این دو در چند نکته اساسی با هم فرق دارند:

  • ماهیت: PWA خودِ اپلیکیشن وب است. TWA فقط یک پوسته اندرویدی برای اجرای همان PWA است.
  • پلتفرم: PWA روی هر مرورگر و هر سیستم‌عاملی که از استانداردهای وب پشتیبانی کند اجرا می‌شود. TWA فقط مخصوص اندروید است و به کروم یا مرورگرهای مبتنی بر Chromium نیاز دارد.
  • توزیع: PWA معمولاً از طریق لینک یا دکمه نصب داخل مرورگر در دسترس قرار می‌گیرد. TWA را می‌توان مثل یک اپ عادی در Google Play منتشر کرد و کاربران آن را از فروشگاه دانلود می‌کنند.
  • دسترسی به قابلیت‌های سیستم: چون TWA درون یک بسته اندرویدی (APK یا AAB) قرار دارد، امکان استفاده از برخی APIهای بومی اندروید که در مرورگر در دسترس نیستند نیز فراهم می‌شود.
  • نیاز به کد اضافه: برای ساخت PWA فقط به توسعه یک وب‌اپ استاندارد نیاز دارید. برای ساخت TWA، علاوه بر PWA، باید یک پروژه اندرویدی کوچک هم بسازید (ابزارهایی مثل Bubblewrap یا PWA Builder این کار را ساده می‌کنند) و فایل Digital Asset Links را روی دامنه‌تان قرار دهید.

چه زمانی سراغ TWA بروید؟

اگر PWA شما از قبل خوب کار می‌کند و کاربران آن را از طریق مرورگر استفاده می‌کنند، لزوماً نیازی به TWA ندارید. اما در چند حالت TWA گزینه منطقی‌تری است:

  • وقتی می‌خواهید اپ‌تان در کنار سایر اپ‌ها روی Google Play دیده شود تا کاربرانی که عادت به جست‌وجو در فروشگاه دارند هم به آن دسترسی داشته باشند.
  • وقتی می‌خواهید بدون بازنویسی اپ به‌صورت نیتیو، حس نصب‌شدن و حضور در Play Store را به کاربر بدهید.
  • وقتی به برخی قابلیت‌های اندرویدی نیاز دارید که فقط از طریق یک بسته نصبی در دسترس‌اند.

نکته مهم این است که TWA جایگزین PWA نیست؛ بلکه یک لایه توزیع اضافه روی همان PWA است. بنابراین همیشه اول باید یک PWA درست و کامل داشته باشید و بعد در صورت نیاز، آن را در قالب TWA هم منتشر کنید.

جمع‌بندی

PWA یک روش ساختن تجربه شبیه اپ با تکنولوژی‌های استاندارد وب است که روی هر مرورگری کار می‌کند. TWA یک روش خاص اندرویدی برای بسته‌بندی همان PWA و انتشار آن در Google Play است. اگر هدف شما دسترسی گسترده روی همه پلتفرم‌هاست، تمرکز اصلی باید روی ساخت یک PWA قوی باشد؛ و اگر می‌خواهید حضور رسمی در فروشگاه اندروید هم داشته باشید، TWA راهی سریع و کم‌هزینه برای رسیدن به این هدف است، بدون اینکه مجبور باشید اپ را از صفر و به‌صورت نیتیو بازنویسی کنید.

ادمین

نویسنده:

ادمین
دقیقه:8
انتشار :۱۴۰۵/۵/۲۵
آپدیت :۱۴۰۵/۵/۲۵

دسته بندی ها

فرانت‌اند

تگ ها

#PWA#TWA#Progressive Web App#Trusted Web Activity#Android#Frontend#Web Development