چرا باید نسخه وب اپلیکیشن pwa برای محصولمون داشته باشیم؟

توی این نوشته نمیخواهیم در مورد اینکه pwa ها مخفف چی هستن و چطوری کار میکنن حرفی داشته باشیم و یا صحبت های تکراری و کلیشه ای داشته باشیم در اصل هدف این نوشته اینه که بگیم چرا باید نسخه وب اپلیکیشن pwa برای محصولمون داشته باشیم و همچنین برای طراحی و توسعه PWA باید چه نکاتی رو رعایت کنیم.pwa ها در اصل یک وب سایت اینترنتی هستند که قراره به شما یک تجربه کاربری خوب در تلفن های همراه رو به شما ارائه بدهند. البته که هر وب سایتی pwa نیست و باید موارد بسیار زیادی رو برای طراحی اپلیکیشن های pwa رعایت کنید تا خروجی محصول به شکلی شود که کاربر شما دقیقا همانند اپلیکیشن موبایل بتواند از محصول استفاده کند.اولین گام برای اینکه کاربر شما بتونه از وب سایت شما به صورت application استفاده کنه باید در ابتدا وب سایت شما رو به screen گوشی خودش اضافه کنه که اینکار با یه سری تنظیمات مربوط به manifest.json میشه مدیریت کرد از جمله اسم اپلیکیشن، لوگوی شما و ترکیب رنگ.اما همه چیز به یک manifest.json ختم نمیشه که این فایل رو اضافه کنید با یکسری لوگو و تنظیمات رنگ و splash screen. نیاز به توسعه بیشتری و دقیق تری برای اپلیکیشن های pwa هست باید یکسری موارد از جمله پرفورمنس، آفلاین مود بودن و دیگر موارد رعایت شود که در ادامه بهشون میپردازیم.نکاتی که برای طراحی PWA باید بهشون توجه کنیم (چک لیست)با service worker آشنایی قابل قبولی داشته باشین. سرویس ورکر ها هستند که میتوانند asset های شما همانند فایل های css و js رو در داخل مرورگر های کاربر ذخیره سازی کنند. نحوه ذخیره سازی، مدت زمان تاریخ انقضا برای ذخیره سازی بسیار پر اهمیت هست در ضمن شما باید طوری تنظیم کنید که در مواقع دلخواه بخصوص زمانی که اپلیکیشن شما آپدیت جدید دارد و باید رابط کاربری متوجه شود که آپدیت جدید وجود دارد و سرویس ورکر دیتای جدید را از سرور لود کند.کاملا ریسپانسیو و قابل مشاهده در مرورگر های مختلف باشد. سر سری از نکات ریز مربوط به ریسپانسیو سایت نگذرید بسیار مهم هستند و در کنار اون به مواردی که این pwa احتمالا در گوشی های موبایل اجرا میشوند تمام موارد استفاده در موبایل را رعایت کنید همانند استفاده درست و بجا از انیمیشن ها، استفاده درست از کیبورد های بجا و موارد این چنینی. البته آشنایی کافی برنامه نویس با مرورگرهای مختلف بسیار حائز اهمیت هست.تصاویر خود را lazyload نمایش دهید. گوشی های موبایل ممکن است با توجه به اینترنت سیم کارت ها و به خصوص در ایران سرعت اینترنت بسیار کمی داشته باشند، علاوه بر اینکه باید کل pwa شما حجم بسیار کم و قابل قبولی داشته باشد باید تصاویر به صورت یکجا بارگذاری نشوند و فقط زمانی نمایش داده شوند و دانلود شوند که در چارچوب صفحه نمایش کاربر باشد.برنامه نویسی که قرار است pwa بنویسد باید آشنایی کاملی نسبت به html5 و قابلیت های مرورگر و نیز آشنایی بسیار خوبی با javascript داشته باشد و مواردی همانند اینکه دیتای آفلاین شده اشتباهی به کاربر نشان ندهد، تا حد ممکن از دوباره لود کردن موارد اضافه مث css و js پرهیز کند، از لیست های با کیفیت مناسب استفاده کنند همانند لیست هایی با تکنولوژی visualization و نیز باز هم تکرار میکنیم آشنایی کامل با مرورگرهای مختلف. در pwa ها مواردی مث fps صفحه و گزینه های مربوط به آن بسیار پر اهمیت می شود چون اکثر گوشی های موبایل کاربران ممکن قوی نباشد و این مهم است که هر یک از این کاربرهایی که گوشی های خوبی ندارند ممکن است یک مشتری کامل برای شما باشند.سرویسی نوشته شود که اپلیکیشن به محض نسخه جدید، متوجه آن شود و خود به خود اپدیت شود. این مورد یکی از همان موارد بسیار مهم برای برنامه نویس و دانش علمی آن در موارد سرویس ورکر هست. که باید در فرانت اند و بک اند به آن دقت شود بدین صورت که باید اپلیکیشن بر اساس بیلد های مختلفی ورژن بندی شود و بر اساس این تغییرات که یا از سمت بیلد فرانت اپلیکیشن میگیرد یا بیلدی که توسط بک اند است کلاینت خود به خود و بدون توجه کاربر آپدیت شود.در مجموع برای طراحی اپلیکیشن های pwa نیاز به دقت بیشتری هست و البته باید این رو گفت که این روزها به دلایل تحریم استور های گوشی موبایل App Store و Google Store شرکت ها و استارتاپ های ایرانی نیاز به طراحی pwa برای محصولات خود هستند که با اینکار میتوانند علاوه بر اینکه دیگر درگیر تحریم ها نشوند یک محصول با کیفیت برای کاربران هم برای موبایل و هم برای دسکتاپ تولید کنند. اما برای تولید این محصول نیاز به سواد قابل بالایی است که حاصل مطالعه و تجربه برنامه نویس ها و شرکت های نرم افزاری ست.