پلتفرم PWA یا وب اپلیکیشنهای پیشرو چیست؟
در این پست قصد معرفی و بررسی جامع پلتفرم PWA و یا وب اپلیکیشن پیشرو را داریم
اولین سردرگمی در اولین قدمهای یادگیری برنامهنویسی، هدفی است که آموزنده دنبال آن می گردد؛ او از خود می پرسد که در سال 2020، اپلیکیشن چیست و دسترسی به آن چگونه اتفاق میافتد؟ او نمی داند برای یادگیری برنامه نویسی پلتفرمهای موبایل یا کامپیوتر چه زبان برنامه نویسی را بیاموزد و سپس چگونه آن را عرضه کند و همین سوالات فراوان که تنها گوشه ای از آن را بیان کردیم، باعث سردرگمی حین یادگیری، اجرا و در نهایت عرضه و بازاریابی مناسب میشود. در این پست قصد داریم تا نسل نوینی از اپلیکیشن ها با قابلیت کاربری در هر پلتفرم را معرفی کنیم تا اگر در ابتدای راه یادگیری برنامه نویسی هستید، انتخابی متناسب با بازار روز این صنعت را داشته باشید.
پلتفرم PWA یا وب اپلیکیشن پیشرو چیست؟
وب اپلیکیشن پیشرو که نام اصلی اش Progressive Web Apps می باشد، در اصل خدمات نرم افزاری مبتنی بر پلتفرم وب است. به شکل دیگر می توان گفت پیش از این بسیاری از نیازهای روزمره کاربران به واسطه نصب اپلیکیشنهای سنگین در موبایل و کامپیوتر برطرف میشد و امروز به سادگی با ورود به یک وب سایت می توانید همان سرویس نرم افزاری را بدون نیاز به دانلود فایلهای لازم برای اجرا و نصب با همان کیفیت مورد استفاده قرار دهید.
شاید پیش از این وب سایت ها را برای انجام کارهای روزمره مانند تایپ یک مقاله، طراحی گرافیکی، بازی کردن و حتی تدوین فیلم مناسب نمی دانستید اما PWA در اصل یک وب سایت است که در آن یک اپلیکیشن کامل بارگزاری شده است و شما از طریق آدرس اینترنتی به آن دسترسی دارید.
ضمنا PWA ها صاحب میراث نسلهای پیشین وب سایت ها هستند و از رابط کاربری واکنش گرا و عیناً اپلیکیشنهای بومی هر سیستم عامل پشتیبانی می کنند.
نحوه ی دسترسی و کاربری وب اپلیکیشن پیشرو
همانطور که از نامش پیداست، دسترسی به وب اپلیکیشنهای پیشرو دقیقا مانند دیگر وب سایت هاست یعنی کافیست آدرس اینترنتی آن ها را داخل مرورگرهای رایج و به روز مانند گوگل کروم، فایرفاکس و مایکروسافت اج وارد کنید تا به آن ها دسترسی داشته باشید. اما پس از اولین ورود به یک وب اپلیکیشن پیشرو در مرورگرهای دسکتاپ، دیالوگ نصب و اضافه شدن آیکون آن به دسکتاپ نمایش داده میشود تا پس از آن مانند یک اپلیکیشن عادی قابل دسترسی باشد.
همچنین در مرورگرهای موبایل نیز (اندروید و iOS) گزینه ی Add to home screen نمایش داده خواهد شد که با فشردن کلید Add، دسترسی به وب اپلیکیشن پیشرو در موبایل نیز مانند دیگر اپلیکیشن ها خواهد بود.
ویژگی ها و مزایای Progressive Web Apps
قابلیت به کارگیری در هر پلتفرم و سیستم عامل: با توجه به سکویی که وب اپلیکیشنهای پیشرو بر روی آن ها پیاده سازی می شوند یعنی فضای وب و اینترنت و زبانهای برنامه نویسی استاندارد این پلتفرم، مرورگرها در هر سیستم عاملی می توانند وب اپلیکیشنهای پیشرو را اجرا نمایند.
سرعت اجرای بالا: با توجه به عدم نیاز به منابع نرمافزاری و سختافزاری کامپیوتر یا موبایل کاربر و پیادهسازی PWA بر روی هاست و یا سرورهای مجازی، سرعت اجرای اولیه و عملی سازی فرامین کاربر در کمترین زمان اجرا میشود که البته پارامتر سرعت اینترنت کاربر را نباید فراموش کرد.
علاوهبر این با توجه به عدم نیاز به دانلود و نصب، سرعت دسترسی به PWA از اپلیکیشنهای بومی پیشی میگیرد.
میزبانی همیشگی از کاربر: وب اپلیکیشنهای پیشرو با ذخیره شدن در دستگاه کاربر و امکان ارسال اعلانهای سمت سرور، کاربر را به طور دائم درگیر خود کرده و فعالیت و اطلاعات او را در پس زمینه به صورت زنده و فعال نگه می دارد.
قابلیت اجرای آفلاین: یکی از مهم ترین تفاوتهای وب اپلیکیشنهای پیشرو با دیگر وب سایت ها، امکان دسترسی آفلاین است. در صورت اجرای یک وب اپلیکیشن پیشرو در حالت بدون اینترنت، کاربر بی هیچ محدودیتی به تمام امکانات دسترسی دارد و پس از اولین دسترسی به اتصال اینترنت و برقراری ارتباط با سرور، اطلاعات مورد نیاز ارسال و یا دریافت خواهد شد. البته لازم به ذکر است با توجه به التزام بسیاری از اپلیکیشن ها مانند اینستاگرام به دسترسی دائمی به اینترنت، در موارد مشابه می توان این ویژگی را نادیده گرفت.
رابط کاربری استاندارد: منظور از رابط کاربری استاندارد، واکنش گرا بودن در هر نمایشگر با ابعاد مختلف و ظاهر منطبق بر اپلیکیشنهای بومی است. در صورتی که نسخه ی PWA هر یک از اپلیکیشنهای رایج را مورد استفاده قرار دهید، متوجه طراحی یکسان و استاندارد آن ها خواهید شد.
ایمن بودن: یکی از پارامترهای مهم وب اپلیکیشنهای پیشرو، داشتن مجوز SSL است؛ بنابراین کاربران با خیال راحت می توانند از وب اپلیکیشنهای پیشرو استفاده نمایند.
ویژگیهای دیگر وب سایت ها در PWA: اگر در یک اپلیکیشن بومی در هر سیستم عاملی قصد افزودن لینک را داشته باشید، کاربر شما بعد از کلیک بر روی آن وارد مرورگر داخلی اپلیکیشن یا مرورگر پیشفرض خواهد شد اما به دلیل یکپارچه بودن وب اپلیکیشن پیشرو با مرورگر، امکان ورود و خروج سریعتر به لینکهای داخلی وجود دارد. علاوهبر این امکان جستجو پذیری در موتورهای جستجو، بوکمارک شدن و اشتراک گذاری ساده وب اپلیکیشن پیشرو با لینک، از دیگر ویژگی هایی است که می توان به آن ها اشاره کرد.
PWA در مقایسه با اپلیکیشنهای بومی اندروید، iOS و ویندوز
زمانی که بحث از توسعهی یک اپلیکیشن برای چند پلتفرم مطرح میشود، موضوع انتخاب زبان برنامهنویسی، منابع مورد نیاز و تخصصهای متنوع مطرح میشود و به دلیل یکسان نبودن زبانهای برنامهنویسی هر پلتفرم، موضوع توسعه ی اولیه و در ادامه بروزرسانیهای آن ها تبدیل به یک مشکل بزرگ برای تیمهای کوچک میشود.
علاوهبر این اپلیکیشنهای بومی که برای هر سیستم عامل طراحی میشود، بسته به منابع نرم افراری به کارگرفته شده، ممکن است تنها کاربران آخرین نسخه از آن سیستم عامل مانند اندروید، iOS و ویندوز را شامل شود و برروی نسخههای قدیمی تر آن ها مورد استفاده نباشد. موارد گفته شده تنها گوشه ای از ویژگیهای ذاتی یک اپلیکیشن بومی یا سنتی است.
در حالی که یک وب اپلیکیشن پیشرو به صورت مشترک برای تمامی سیستم عامل ها و پلتفرمهایی که از مرورگرهای به روز پشتیبانی می کنند، قابل استفاده هستند و نیازی به به کارگیری ابزارهای متفاوت برای توسعه ی نسخههای مختلف وجود ندارد. در اصل تمام کاربران به یک منبع واحد متصل می شوند؛ بنابراین بروزرسانیهای صورت گرفته بر روی وب اپلیکیشن پیشرو، به صورت آنی به دست تمام کاربران می رسد. همچنین دیگر محدودیتی برای کاربران سیستم عاملهای قدیمی برای دسترسی به یک وب اپلیکیشن پیشروی نوین وجود نخواهد داشت.
PWA در مقابل UWP
UWP یا اپلیکیشنهای یونیورسال، پلتفرم اختصاصی مایکروسافت برای ویندوزهای مدرن خود است که این رویه از ویندوز 8 شروع شد در ویندوز 10 به بلوغ خود رسید. در پلتفرم UWP، اپلیکیشن ها از ویژگیهای مشابه وب اپلیکیشنهای پیشرو برخوردار هستند یعنی از رابط کاربری واکنش گرا یا رسپانسیو، استفاده ی مولتی پلتفرم، دسترسی از طریق یک فروشگاه نرم افزاری واحد، سرعت اجرای بالا و… بهره می برند. برای درک بهتر و شناخت بیشتر از این پلتفرم، باید گفت که اگر شما هم اکنون بر روی ویندوز 10 پیاده هستید، مرورگر اج، موزیک پلیر، ماشین حساب و دیگر اپلیکیشنهای پیشفرض این سیستم عامل دقیقا بر روی این پلتفرم اجرا می شوند و با تغییر ابعاد پنجره شان شاهد تغییر چیدمان عناصر نرم افزاری خواهید شد.
با تلاشهای بی وقفه ی مایکروسافت برای فراگیر تر کردن توسعه ی اپلیکیشنهای مبتنی بر پلتفرم یونیورسال توسط توسعه دهندگان شخص ثالث و عرضه ی نسخههای بهینه تر ویندوز 10 بر این مبنا مانند Windows 10s، اما به دلایل زیادی هنوز هم پلتفرم سنتی مایکروسافت یعنی اپلیکیشن ها با پسوند exe. هنوز هم پرطرفدارتر هستند. تلاشهای مایکروسافت برای گسترش کاربران پلتفرم یونیورسال تا جایی ادامه می یابد که امکان به کارگیری وب اپلیکیشنهای پیشرو در قالب فایلهای نصبی APPX و اپلیکیشنهای یونیورسال را هم فراهم کرده است!
از جمله دلایل شکست پلتفرم UWP و فراگیر نشدن آن طی این چند سال، باید به انحصار این ساختار به آخرین نسخههای ویندوز 10، عملکرد بهتر آن ها تنها بر روی معماری ARM، محدودیت عملکرد نرم افزاری با توجه به زبانهای برنامهنویسی به کارگرفته شده نسبت به پلتفرم سنتی تر ویندوز، محدودیت دسترسی برای نصب و اشتراک گذاری به دلیل فروشگاه نرم افزاری اختصاصی و… اشاره کرد.
اما گذشته از ضعفهای اپلیکیشنهای یونیورسال، نباید از ویژگیهای مثبت آن ها چشم پوشی کرد؛ رابط کاربری یکپارچه و پشتیبانی از حالت تاریک، اولین مشخصه ی جذاب پلتفرم UWP است. همچنین توسعه دهندگان این پلتفرم برای تولید اپلیکیشن خود می توانند از هر زبان برنامهنویسی استفاده کنند و در انتها به کمک API مایکروسافت و ویژوال استودیو، آن را برای پلتفرم UWP استاندارد سازی کنند.
در مقابل علت فراگیر شدن وب اپلیکیشنهای پیشرو، عدم انحصار آن به یک پلتفرم خاص است. در اصل پلتفرم PWA یک استاندارد فراگیر است و در سکویی امکان دسترسی به آن وجود دارد و برای اجرا، تنها و تنها به یک مرورگر نیاز است. همچنین با توجه به نیاز کاربران به سرعت بالا برای دسترسی به امکانات یک اپلیکیشن، وب اپلیکیشنهای پیشرو با توجه به زیرساخت مبتنی بر وب خود، این امکان را به خوبی برای کاربرانشان فراهم نموده اند. شاید تنها ضعف وب اپلیکیشنهای پیشرو نسبت به پلتفرم یونیورسال مایکروسافت، زبانهای برنامهنویسی مورد حمایتشان است که اکثرا زیر مجموعه ها و توزیعهای جاوا اسکریپت هستند. PWA یک پلتفرم آزاد است که ارمغان گوگل برای تمام کاربران تمام پلتفرم هاست در حالی که UWP یک نوآوری خلاقانه است که تنها در دستان کاربران ویندوز 10 جا می گیرد.
در بخش اول این پست سعی در معرفی جامع این پلتفرم کارآمد داشتیم اما در بخش دوم، به چگونگی ساختار یک وب اپلیکیشن پیشرو و نحوه توسعه آن خواهیم پرداخت.
منبع: اختصاصی آی تی ورا