کمیته رکن چهارم – آینده پلتفرمهای نرمافزاری(PWA) را وب اپلیکیشنهای پیشرونده تشکیل میدهند.
در سالهای اخیر، مفهوم وباپلیکیشنهای پیشرونده اهمیت بسیاری پیدا کرده است؛ اما این بستر را میتوان آیندهی پلتفرمهای نرمافزاری دانست؟
مقالهای که در ادامه مطالعه خواهید کرد، به قلم استفان دورستایین نوشته شده که باتوجه به سابقه و گسترهی وسیع فعالیتهایش، دیدگاه خود دربارهی آینده اپلیکیشنها را بیان کرده است. به باور او، پلتفرمهای نرمافزاری در آیندهای نزدیک، چارهای جز روی آوردن به وباپلیکیشنهای پیشرونده (PWA) ندارند؛ زیرا سختیهایی که در توسعهی اپلیکیشنهای بومی وجود دارد، در ها دیده نمیشود.
در ترجمه این مقاله سعی کردهایم لحن نگارندهی اصلی حفظ شود؛ بنابراین مطلبی که در ادامه خواهید خواند، مستقیماً دیدگاه شخصی استفان دورستایین را بدون هیچ دخلوتصرفی منتقل میکند.
با اطمینان میتوانم پیشبینی کنم در آیندهای نزدیک، وباپلیکیشنهای پیشرونده جایگزین اپلیکیشنهای بومی خواهند شد. باورِ من این است که در پنج سال آینده، ۸۰ درصد از اپلیکیشنهای جدید و غیر مرتبط با بازی از فناوریهای تحت وب نظیر PWA استفاده خواهند کرد.
استیو جابز در سال ۲۰۰۷ دیدگاه درستی داشت. او نهتنها دربارهی آیندهی گوشیهای هوشمند تاکنون درست پیشبینی کرده بود؛ بلکه دربارهی تغییر و تحول اپلیکیشنها نیز نظر درستی ارائه میکرد. استیو جابز بر این باور بود که قالب استاندارد اپلیکیشنهای آیفون در آینده روی فناوری تحت وب متمرکز خواهد بود.
از دیدگاه استیو جابز، چنین اپلیکیشنهایی به SDKهای دستوپاگیر نیازی نداشتند؛ درحالیکه دسترسی آسانی به عملکردهای بومی سیستم فراهم میکردند و هرکسی میتوانست از طریق آشنایی با تکنولوژیهای تحت وب، ایدههای خود را به محصولِ نرمافزاری ساختهشده تبدیل کند.
بااینحال، دیری نپایید که اپل تصمیم گرفت مسیر خود را از چشمانداز استیو جابز جدا کند. آنها SDK برای سیستمعامل iOS معرفی کردند و توسعهی اپلیکیشنهای بومی را وارد فرایند پیچیدهتری کردند و توسعهدهندگان برای اجرای ایدههای خود در قالب اپلیکیشن مجبور شدند به زبانهای برنامهنویسی جدیدی مهاجرت کنند.
از آن زمان تاکنون، تکنولوژیهای توسعهی وب پیشرفتهای چشمگیری تجربه کردهاند و هماکنون بسیاری از وباپلیکیشنهای موجود ویژگیهای غنیتر و کارآمدتری در مقایسه با همتایان بومی خود ارائه میکنند. جاوا اسکریپت ظرفیت فراوانی دارد و با پشتیبانی رسمی iOS و اندروید از وباپلیکیشنهای پیشرونده، توسعهدهندگان تحت وب آیندهای متصور میشوند که در آن، بدون یادگیری زبان جدید و با استفاده از دانشهای پیشین خود، میتوانند اپلیکیشنی را با ویژگیهای بومی توسعه دهند.
PWA بهترین اتفاق در حوزهی وب
وباپلیکیشن پیشرونده ابداً به اپلیکیشنهای تحت وب قدیمی شباهت ندارد و شاخصههایی در این نوع از اپلیکیشنها وجود دارد که آن را از سایر اپلیکیشنها متمایز میسازند. دراینبین، باید برخی پیشنیازها را نیز در نظر گرفت تا اپلیکیشن، PWA نامیده شود.
قابلیت اطمینان
وباپلیکیشن پیشرونده نباید به اتصال اینترنت متکی باشد؛ بنابراین، حتی مواقعی که دستگاه در حالت آفلاین قرار دارد، کاربر باید به ویژگیهای اپلیکیشن دسترسی داشته باشد؛ یعنی دادهها از قبل در دستگاه Cache شده باشند. مهمتر از همه، PWAها باید از پروتکل امنیتی HTTPS استفاده کنند و ظاهری واکنشگرا روی دستگاههای مختلف نظیر تبلت و گوشیهای هوشمند داشته باشند.
سریع
وباپلیکیشن پیشرونده باید سریع باشد؛ آنقدر سریع که وقتی کاربری سعی میکند آن را اینترنت ۳G بارگذاری کند، به مرز جنون نرسد. بنابراین، حذف مؤلفههای ظاهری که موجب کندی بارگذاری میشوند، باید در اولویت توسعهدهنده باشد.
گیرا و درگیرکننده
آخرین و شاید مهمترین شاخصه در طراحی وباپلیکیشن پیشرونده، گیرایی و درگیر کنندگی آن است. توسعهدهنده باید احساس استفاده از اپلیکیشن بومی را به کاربر القا کند. سرعت زیاد و پایداری و روانبودنِ انیمیشنها ازجمله ویژگیهای مهم برای رسیدن به این هدف هستند. هیچ لگ و تأخیری در اسکرول کردن و پیمایش نباید وجود داشته باشد و با توجه به انجام بهروزرسانیها در سمتِ سرور و نیاز نداشتن به بهروزرسانی دستی کاربر، مخاطبان باید از بهروزرسانیها مطلع شوند. پشتیبانی از Push Notification نیز بسیار اهمیت دارد.
PWAها روی صفحهی خانگی قرار میگیرند؛ بنابراین، تمامی فایلهای پیشنیاز نظیر آیکون و عناصر UI و مواردی که کاربر را از اتصال به اینترنت بینیاز میکند، باید همراه با اپلیکیشن باشند.
پشتیبانی فزایندهی شرکتها
PWAها با هدف اجرا روی دستگاههای موبایل ساخته شدهاند؛ اما پشتیبانی از آنها روزبهروز درحالگسترش است. در جدیدترین اقدامات، گوگل در نسخهی ۷۳ کروم، پشتیبانی از وباپلیکیشنهای پیشرونده را آغاز کرد تا کاربران روی سیستمعاملهای کروم، لینوکس، مکاواس و ویندوز ۱۰ بتوانند طعم این اپلیکیشنها را بچشند.
مشخصاً قرار نیست همهی ویژگیهای بومی بلافاصله زیرپوشش فناوری PWA قرار گیرد؛ اما با رشد محبوبیت این اپلیکیشنها، باید انتظار افزایش توانایی آنها روی پلتفرمهای نرمافزاری مختلف را داشت. درحالحاضر، تنها مرورگر کروم روی اندروید از تمام ویژگیهای اصلی PWA پشتیبانی میکند؛ اما اپل نیز قصد دارد با مرورگر سافاری، در آینده پشتیبانی از ویژگیهای این فناوری را در iOS گسترش دهد. معتقدم فاصلهای با عصر جدید اپلیکیشنها نداریم؛ عصری که در آن وباپلیکیشنهای پیشرونده تفاوت آشکاری با برنامههای بومی ندارند.
ساخت وباپلیکیشن پیشرونده به طرزی باورنکردنی آسان است. اگر در گذشته استفاده از VueJS و CLI را تجربه کرده باشید، احتمالاً بدون اینکه بدانید، تا الان وباپلیکیشن پیشرونده ساختهاید. خوشبختانه PWAها پیشنیازهای بسیار کمی دارند و عملکرد خوبی از خود نشان میدهند. به لطف پیشرفت تکنولوژیهای تحت وب، دیگر برای ساخت صفحهای با انیمیشنهای روان و سریع، کار سختی در پیش نخواهید داشت.
PWAها دیگر فناوری مبهمی نیستند و برای توسعهی برنامهها بر پایهی آن، نیازی نیست ساعتها در صفحات پرسشوپاسخ وبسایت StackOverflow درگیر شد.
همین حالا هم آموزشهای شستهورفتهای در سطح وب برای تازهکاران وجود دارد که یکی از بهترینِ آنها را گوگل بدون استفاده از فریمورک JS منتشر کرده که میتوانید این آموزش را از طریق این لینک مطالعه کنید.
جمعبندی
PWAها از گذشته میآیند؛ اما بهزودی آیندهی ما را شکل خواهند داد. شاید مالکیت معنوی نام PWA با گوگل باشد؛ اما استیو جابز فردی بود که ۱۰ سال پیش، رؤیای داشتنِ چنین پلتفرمی را برای ما تصویرسازی کرد.
آیندهی توسعهی اپلیکیشنها دیگر محدود به SDKها و پیشنیازهای دستوپاگیر نیست و برنامهنویسان میتوانند با استفاده از جاوا اسکریپت، هر آنچه از اپلیکیشن بومی انتظار دارند، در وب اپلیکیشنِ پیشرونده خود اجرا کنند.