وب اپلیکیشنهای پیشرونده (PWA) آینده پلتفرمهای نرمافزاری را تشکیل میدهند
در سالهای اخیر، مفهوم وباپلیکیشنهای پیشرونده اهمیت بسیاری پیدا کرده است؛ اما این بستر را میتوان آیندهی پلتفرمهای نرمافزاری دانست؟
مقالهای که درادامه مطالعه خواهید کرد، بهقلم استفان دورستاییننوشته شده که باتوجهبه سابقه و گسترهی وسیع فعالیتهایش، دیدگاه خود دربارهی آینده اپلیکیشنها را بیان کرده است. بهباور او، پلتفرمهای نرمافزاری در آیندهای نزدیک، چارهای جز رویآوردن به وباپلیکیشنهای پیشرونده (PWA) ندارند؛ زیرا سختیهایی که در توسعهی اپلیکیشنهای بومی وجود دارد، در 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ها و پیشنیازهای دستوپاگیر نیست و برنامهنویسان میتوانند با استفاده از جاوااسکریپت، هرآنچه از اپلیکیشن بومی انتظار دارند، در وباپلیکیشنِ پیشرونده خود اجرا کنند.