تفاوت pwa و اپلیکیشن عادی (native)

PWA یک وب سایت است که مانند یک برنامه تلفن همراه بومی عمل می کند. اصلی ترین تفاوت PWA و یک برنامه کاربردی موبایل بومی (اپلیکیشن اندروید یا ios یا…) در این است که یک PWA در یک مرورگر کار می کند ، بنابراین نیازی به بارگیری آن از app store ها نیست و میتوان آن را بدون نصب استفاده کرد. به لطف service workers ، اپکلیشن های پیشرونده وب (PWA) می توانند داده ها را در دستگاه کاربر در حافظه نهان ذخیره کنند. این امر به کاربران امکان می دهد تا هر زمان که باشند ، فارغ از سرعت اینترنت خود ، به روز باشند. به عنوان مثال ، توییتر یک PWA ارائه می دهد. با این حال ، آنها همچنین برنامه های موبایل بومی برای iOS و Android دارند.

بصورت کلی اپلیکیشن بومی (native application) میتواند از سیستم عامل دسترسی هایی را بگیرد که pwa نمیتواند آن دسترسی ها را داشته باشد. برای مثال در اپلیکیشن اینستاگرام شما میتوانید عکس بگیرید و روی عکس فیلتر بگذارید و این کار را نرم افزار انجام  میدهد. اما همین مورد روی PWA اینستاگرام غیر فعال می باشد چون براحتی نمیتوان این امکان را در PWA پیاده سازی کرد. یا مثلا در اپلیکیشن native شما میتوانید به مخاطبین فرد دسترسی داشته باشید در صورتی که این امر در pwa امکان پذیر نمی باشد.

نکته جالب اینجاست که اگر یک سر به PWA اینستاگرام بزنید  میبنید بر خلاف چیزی که تصور میکردید این PWA که برای شرکت به این بزرگی می باشد، پر از باگ می باشد و کاربر را کلا از استفاده از PWA زده میکند. این مشکل PWA نمی باشد. اینستاگرام به همان دلیلی که اپل برای مک بوک هایش صفحه تاچ نمیگذارد به PWA اهمیت نمی دهد. در واقع اگر PWA را بدون باگ تحویل مردم بدهد، مردم دیگر اپلیکیشن بومی (native application) را نصب نمیکنند. بنابراین اینستاگرام دیگر نمیتواند به مخاطبین کاربر دسترسی داشته باشد.

لیست دسترسی های مجاز PWA

 

این دسترسی ها بر طبق آخرین بروزرسانی کروم در امروز یعنی ۲۹ دی ۹۸ هست. همونطور که میبینید نمیشه به یک سری موارد حیاتی مثل sms یا  مخاطبین و مهم تر از اینا Task Scheduling دسترسی داشت. خیلی از دوستان که میخوان اپلیکیشن طراحی کنن، میفرمایند در قسمتی که قراره کاربر ثبت نام کنه، بعد از ورود شماره موبایلش، اتومات از اس ام اس کد امنیتی خوانده بشه مثل اپلیکیشن واتس اپ. ولی خب این مورد تو PWA امکان پذیر نیست، یا نمیتوان اپلیکیشنی ساخت که اذان بزنه، یا ریمایندر داشته باشه. چون به قسمت task scheduling دسترسی نداریم.
البته که تا دوسال پیش همین مواردم نبودن و کم کم دارن اضافه میشن. مثلا کروم آپدیت داشته که شما میتونی بخشی از مخاطبینتونو انتخاب کنید و براش بفرستید، کامل قابل ارسال نیست. خب این موارد به مرور زمان داره اضافه میشه. تکنولوژی داره به این سمت پیش میره. ما هم محدودیت ها رو دور میزنیم. خیلی راه حل وجود داره برای اینکه امثال این محدودیت ها رو برطرف کرد. البته همشون نه😁
امثال اپلیکیشن هایی مثل اسنپ و تپ سی که به لوکیشن دسترسی دارن به راحتی بصورت PWA قابل پیاده سازی هستن. این مورد و میتونید توی نسخه های آنلاینشون ببینید.

بصورت کلی خیلی تفاوت وجود داره میان native application و PWA
از لحاظ سرعت قطعا native applications سرعت اجرای بیشتری داره. ولی خب مورد مهمی که هست پیشرفت تکنولوژی هست و نباید این مورد و نادیده گرفت.

راستی شما میتونید از طریق این لینک ببینید که مرورگر شما از چه دسترسی هایی پشتیبانی می کند.

 

از نکات مثبت استفاده از PWA

  • سئو پذیر
  • عملکرد خودمختار
  • دسترسی راحت بدون نیاز به نصب
  • هزینه ارزان تولید نسبت به اپلیکیشن های native
  • multi os یعنی روی هر سیستم عاملی قابل اجراست

 

از نکات منفی استفاده از PWA

  • مصرف باطری بیشتر ، چیزی که هر کسی در موردش نمیدونه. ولی خب مطمئن باشید جاوا اسکریپت پدر گوشی و در میاره رو مرورگر ماشالا
  • به هر چیزی دسترسی نداریم (که این مورد روزانه داره آپدیت میشه)

 

نمونه یک pwa طراحی شده توسط تیم ایده وب رو میتونید اینجا (betterchance pwa) ببینید.

تفاوت pwa و اپلیکیشن عادی (native)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *