
اگر مدتی است دنبال ترندهای وب و اپلیکیشن موبایل هستید، احتمالاً به دو اصطلاح PWA و TWA برخوردهاید. این دو اصطلاح شبیه هم به نظر میرسند و خیلی وقتها هم در کنار هم استفاده میشوند، اما دقیقاً یک چیز نیستند. PWA یک نوع اپلیکیشن وب است، در حالی که TWA یک روش برای بستهبندی و توزیع همان اپلیکیشن وب در قالب یک اپ اندرویدی است. در این مقاله هرکدام را جداگانه بررسی میکنیم و در نهایت تفاوتهای اصلیشان را کنار هم میگذاریم.
PWA یا Progressive Web App، یک وبسایت معمولی است که با استفاده از چند تکنولوژی استاندارد وب، تجربهای شبیه به اپلیکیشنهای نیتیو به کاربر میدهد. نکته مهم این است که PWA یک تکنولوژی جدید یا چارچوب خاصی نیست؛ بلکه مجموعهای از قابلیتهای وب مدرن است که وقتی همه با هم پیادهسازی شوند، یک تجربه شبیه اپ میسازند.
سه رکن اصلی هر PWA عبارتاند از:
با ترکیب این سه مورد، کاربر میتواند PWA را از مرورگر «نصب» کند (Add to Home Screen)، حتی بدون اتصال به اینترنت به بخشهایی از آن دسترسی داشته باشد، و از قابلیتهایی مثل Push Notification استفاده کند؛ همه اینها بدون اینکه اپ از هیچ فروشگاهی دانلود شده باشد.
TWA یا Trusted Web Activity، یک تکنولوژی مخصوص اندروید است که به شما اجازه میدهد یک PWA را داخل یک اپ اندرویدی واقعی اجرا کنید و آن را در Google Play منتشر کنید. به زبان ساده، TWA یک «پوسته» نازک است که محتوای وب شما را در حالت تمامصفحه و بدون نوار آدرس مرورگر نمایش میدهد، طوری که کاربر اصلاً متوجه نمیشود در حال دیدن یک صفحه وب است.
TWA روی فناوری Chrome Custom Tabs ساخته شده و از نسخه ۷۲ به بعد در کروم اندروید در دسترس است. محتوایی که داخل TWA نمایش داده میشود، دقیقاً همان محتوایی است که در مرورگر رندر میشود؛ یعنی TWA یک موتور رندر جداگانه ندارد و صرفاً همان مرورگر کاربر را در قالبی متفاوت نمایش میدهد.
برای اینکه اندروید مطمئن شود اپ و وبسایت متعلق به یک توسعهدهنده هستند، از مکانیزمی به نام Digital Asset Links استفاده میشود. این فایل روی دامنه شما قرار میگیرد و به سیستم اثبات میکند که مالکیت اپ اندرویدی و وبسایت یکی است. بدون این تایید، TWA نوار آدرس مرورگر را نشان میدهد و دیگر شبیه یک اپ نیتیو به نظر نمیرسد.

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