pwa چیست؟
وب اپلیکیشنهای پیش رونده (PWA) نسل جدید اپلیکیشنهای تحت وب هستند که میتوانند آیندهی اپلیکیشنهای موبایل را متحول کنند.
در این مقاله به بررسی آنها خواهیم پرداخت.
اندروید و آیاواس، دو سیستمعامل محبوب موبایل، سالها است
که به لطف برخورداری از گنجینهای غنی از اپلیکیشنها توانستهاند فاصلهی خود را با دیگر سیستمعاملهای موبایل افزایش دهند
و به محبوبیت بالایی بین کاربران و توسعهدهندگان دست پیدا کنند.
در واقع، بخش اعظم موفقیت این دو پلتفرم موبایل مرهون گستردگی و عملکرد بینظیر اپلکیشنهای بومی آنها بوده است.
این مسئله موجب شده که پلتفرمهای دیگر در حوزهی موبایل فرصت چندانی برای عرض اندام نداشته باشند
و به دلیل فقر نرمافزاری استقبال چندانی از سوی آنها به عمل نیاید.
در نقطهی مقابل اپلیکیشنهای بومی، وب اپلیکیشنها یا اپلیکشنهای وب قرار دارند.
اپلیکیشنهای تحت وب در ابتدا در بستر دسکتاپ شکل گرفتند؛
اما با آغاز عصر گوشیهای هوشمند و غلبهی پلتفرم موبایل بر دسکتاپ، اپلیکیشنهای موبایل به رشد و محبوبیت فزایندهای دست یافتند.
با وجود آنکه امروزه اپلیکیشنهای بومی موبایل بیرقیب به نظر میرسند؛
اما با محدودیتهای مختلفی مواجه هستند.
این اشکالات موجب شد تا اپلیکیشنهای وب در مرکز توجه قرار بگیرند.
امروزه، با گسترش دسترسی به اینترنت پایدار و پرسرعت و توسعهی فناوریهای مدرن وب،
اپلیکیشنهای تحت وب به تکامل تازهای دست یافتهاند
و اکنون نهتنها کمبودی نسبت به اپلیکیشنهای بومی ندارند؛
بلکه در موارد مختلفی بهتر از آنها عمل میکنند.
با توجه به همین مسئله، گوگل در سال ۲۰۱۵ وب اپلیکیشنهای پیش رونده را با قابلیتهای منحصربهفردی معرفی کرد.
تفاوت اپلیکیشنهای بومی با اپلیکیشنهای تحت وب:
یک اپ بومی، اپلیکیشنی است که به طور مشخص برای یک دستگاه موبایل معین توسعه داده شده است
و نصب آن تنها روی همان دستگاه امکانپذیر است.
کاربران معمولا اپلیکیشنهای بومی را از طریق فروشگاههای نرمافزاری آنلاین نظیر اپ استور اپل یا فروشگاه گوگل پلی و … دریافت میکنند.
در طرف مقابل، یک اپلیکیشن وب، در واقع یک اپلیکیشن اینترنتی محسوب میشود که از طریق هر مرورگری قابل دسترسی است.
از منظر رابط کاربری امروزه تقریبا هیچ تفاوتی بین اپلیکیشنهای بومی و اپلیکیشنهای تحت وب وجود ندارد
و هر دوی آنها امکانات مشابهی را با اختلافات اندکی در اختیار کاربر قرار میدهند.
در حال حاضر، اغلب توسعهدهندگان اپلیکیشنهای خود را هم در نسخههای موبایل و هم در بستر وب توسعه میدهند
و با این کار امکان دسترسی به سرویسهای خود را تا حد امکان افزایش میدهند.,
با این وجود، اولین اختلاف این دو گروه از اپلیکیشنها، به فرآیند توسعهی آنها مربوط میشود.
هر پلتفرم موبایل از زبان برنامهنویسی مختلفی استفاده میکند. ب
رای مثال، آیاواس از Objective-C بهره میگیرد؛ در حالی که اندروید از جاوا و ویندوز موبایل از سیپلاسپلاس استفاده میکند.
در طرف مقابل اپلیکیشنهای وب از زبانهای دیگری نظیر جاوا اسکریپت، HTML5، CSS3 یا دیگر چارچوبهای (فریمورک) نرمافزاری وب بهره میگیرند.
علاوه بر این، هر پلتفرم موبایل، کیت توسعهی افزاری (SDK)، ابزارهای توسعه و دیگر عناصر رابط کاربری اختصاصی خود را در اختیار توسعهدهندگان قرار میدهد. توسعهدهندگان با بهرهگیری از این مجموعهی ابزارها به راحتی میتوانند اپلیکیشن بومی خود را برای آن پلتفرم موبایل توسعه دهند.
در طرف مقابل، هیچ استانداردسازی مشخصی برای اپلیکیشنهای وب وجود ندارد
و توسعهدهندگان محدود به استفاده از چارچوبها یا ابزارهای توسعهی خاصی نیستند.
pwaبه زبان ساده:
به اون اپلیکیشن هایی که رو گوشیتون نصب میکنید و با استفاده از زبان Object-C برای IOS و Java برای اندروید
نوشته میشن اپلیکیشن های Native میگن ، مزیت این اپلیکیشن ها اینه که خیلی پایدار ترن ،
سرعت و عملکرد بهتری دارن و به تجهیزات گوشیتون (دوربین ، میکروفون و …) متصل میشن
حالا در مقابل اپلیکیشن های تحت وب رو داریم که با Html ، Css و Javascript نوشته میشن
و سرعت و عملکرد اپلیکیشن های نصب شده رو گوشیتون رو ندارن
ولی خیلی پویا تر از اپلیکیشن های Native هستن. بزارین سادش کنیم شاید سایت مورد علاقتون رو فردا صبح باز کنید
ببینید کلی قابلیت جدید بهش اضافه یا کلا ظاهرش عوض شده ولی اپلیکیشن های Native این قابلیت رو ندارن
برای این کار شما واسه هر تغییر مجبورید نسخه جدید اون اپلیکیشن رو از App Store دانلود کنید.
خب الان توضیح PWA (Progressive Web Apps) یا همون اپلیکیشن های پیشرونده ساده تر شد
کافیه قابلیت اپلیکیشن های Native و تحت وب رو یکجا داشته باشیم
تا به اون اپلیکیشن بگیم پیشرونده یعنی عملکرد و سرعت Native و پویایی تحت وب !
مزیت های دیگه ای هم این اپلیکیشن ها نسبت به بقیه دارن که چندتاشو مرور میکنیم :
1. این برنامه ها کاملا تطبیق پذیر (Responsive) هستن یعنی رو تمام دستگاه ها
مثل کامپیوتر ، موبایل ، ساعت هوشمند و حتی دستگاه هایی که در آینده ساخته میشن هم قابل نمایش و استفاده هستند.
2. با کمک Service Worker ها PWA میتونه در شرایط ارتباطی ضعیف حتی بدون اینترنت هم سرویس دهی کنه.
3. خدمات PWA ها همواره از طریق HTTPS ارائه میشه
تا با بکارگیری رمزگذاری، هیچ شخصی بدون مجوز مناسب قادر به ایجاد اختلال تو برنامه شما نباشه.
4. ویژگی هایی همچون Push Notifications، که در اپلیکیشن های Native هست در پیشرونده هم وجود داره.
5. به راحتی میشه اونها رو تو موتور های جستجو پیدا کرد. همچنین PWA ها رو میشه از طریق URL هم به اشتراک گذاشت.
6. قابلیت نصب رو دستگاه ها مثل اپ های Native و اجرای Fullscreen اون ها
و…
تنها ایرادی که به اونها وارده محدود بودن فعلی دسترسی شون به امکانات دستگاهه و این که شرکت اپل اونها
رو فعلا به اندازه اندروید پشتیبانی نمیکنه که البته برنامه نویساش کم کم دارن دست
به کار میشن میشه این پیشگویی رو کرد که تا چند سال آینده PWA ها طیف خیلی گسترده ای
از اپلیکیشن هارو در بر بگیرن چون تا همین الان هم استقال خیلی خوبی از سمت کاربران ازین اپلیکیشن ها شده
هم در نسخه های خارجی مثل اوبر، پینترست و هم در ایران
و اپلیکیشن های مثل روبیکا ، اسنپ و… پس برنامه نویس ها بهتره زود تر دست به کار بشید
و نحوه ساخت این اپلیکیشن هارو یاد بگیرید چون حتما تا چند سال آینده خیلی به کارتون میاد.
خصوصیات یک وب اپلیکیشن پیش رونده چیست
وب اپلیکیشنهای پیش رونده واجد ویژگیها زیر هستند:
پیش رونده (قابل استفاده در هر دستگاه و سیستمعامل):
یک وب اپلیکیشن پیش رونده فارغ از نوع مرورگر و نوع دستگاه، برای تمام کاربران قابل استفاده است.
قابل جستجو: از آنجایی که وب اپلیکیشنهای پیش رونده در واقع یک وبسایت محسوب میشوند،
از طریق موتورهای جستجو قابل یافتن هستند. این خصوصیت، یک برتری قابل توجه آنها بر اپلیکیشنهای بومی است.
قابل پیونددهی (لینکدهی): وب اپلیکیشنهای پیش رونده برخلاف اپلیکیشنهای بومی
نیازی به طی کردن مراحل پیچیدهی دانلود و نصب ندارند و اشتراکگذاری
آنها از طریق یک نشانی وب (URL) به راحتی امکانپذیر است.
انعطافپذیر: رابط کاربری وب اپلیکیشنهای پیش رونده خود را با هر نوع فرم فکتور
اعم از موبایل و دسکتاپ و هر نوع اندازهی نمایشگر تطبیق میدهد.
ظاهر اپلیکیشنوار: یک اپلیکیشن پیش رونده شباهت بیبدیلی به اپلیکیشنهای بومی دارد،
از رابط کاربری مشابه آنها استفاده میکند و مسیریابی در آنها تفاوتی با اپلیکیشنهای معمولی ندارد.
بینیاز از اتصال اینترنت: وب اپلیکیشنهای پیش رونده در صورت ضعف اتصال اینترنت یا حتی به صورت آفلاین نیز قابل استفاده هستند.
درگیر کردن کاربر: احتمال آنکه کاربران اپلیکیشنهای موبایل مجددا از اپلیکیشنهای خود استفاده کنند
بیشتر از احتمال مراجعهی مجدد به یک وبسایت است. وب اپلیکیشنهای پیش رونده
با استفاده از ویژگیهایی نظیر اعلانهای سمت سرور (Push Notification)، این ضعف را جبران کردهاند.
قابل نصب: وب اپلیکیشنهای پیش رونده را میتوان همانند اپلیکیشنهای بومی نصب
و آیکون آنها را به صفحهی خانگی و حتی کشوی اپلیکیشنها اضافه کرد؛
با این تفاوت که دسترسی به آنها بینیاز از دردسرهای جستجو در فروشگاههای اپلیکیشن است.
این ویژگی استفاده از آنها را به شدت آسان میکند.
بهروز بودن: در حالی که اپلیکیشنهای بومی نیازمند بهروزرسانی
از طریق فروشگاههای نرمافزاری هستند، وب اپلیکیشنهای پیش رونده به لطف فرآیند
بهروزرسانی سرویس ورکر، همیشه به آخرین نسخه، بهروز هستند و هنگامی که محتوای جدید منتشر شود
و کاربر به اینترنت متصل باشد، آن محتوا بلافاصله در دسترس کاربر قرار میگیرد.
ایمن: از آنجایی که وب اپلیکیشنهای پیش رونده در بستر HTTPS قرار دارند، از مخاطرات امنیتی در امان هستند.
جمعبندی
وب اپلیکیشنهای پیش رونده هنوز در دوران اولیهی تکامل بهسر میبرند
و برای محکم کردن جای پای خود راه درازی در پیش دارند. آنها جایگزین اپلیکیشنهای بومی نخواهند شد؛
با این حال از ظرفیت فوقالعادهای برای تکامل نحوهی توسعه و استفاده از اپلیکیشنهای امروزی برخوردارند
و میزان نفوذ و همهگیری آنها به استقبال توسعهدهندگان و البته کاربران بستگی دارد.
در مجموع برای قضاوت در مورد آیندهی آنها هنوز کمی زود است؛ اما در سال پیشرو حتما خبرهای بیشتری از آنها خواهیم شنید.
جهت مشاهده دوره های آموزشی بر روی این لینک کلیک نمایید.
جدیدترین اخبار مجموعه فراز نتورک را در این صفحه اجتماعی دنبال کنید.
نویسنده: حانیه گل لاله کرمانی
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.