بازگشت به صفحه اصلی

برنامه‌های شبکه‌ی (وب) تصاعدی (Progressive Web Apps)

1031/ 18 شهریور 1397
برنامه‌های شبکه‌ی (وب) تصاعدی (Progressive Web Apps)

امروزه ابزار توسعه شبکه و کارهای عملی همچنان برنامه‌های شبکه تصاعدی را پشتیبانی نمی‌کنند، درحالی‌که بسیاری از چارچوب‌ها و خدمات به حد کافی برای تبدیل شدن به برنامه‌های شبکه تصاعدی، کارا و مورد استفاده هستند

برنامه‌های شبکه‌ی (وب) تصاعدی :

فشردن کلید خروج از وضعیت بدون نگرانی

هر از چندگاهی در شبکه‌ی (گسترده- وب) اتفاق می‌افتد که فناوری‌های پیش‌رفته و قوی، ظهور می‌یابند بدون اینکه برای سازمان‌های بازاریابی یا بسته‌بندی ابزار سودی درپی داشته باشند.آن‌ها در محیط‌های پیرامونی با تاخیر و رشد همراه‌اند و (با گذر زمان) برای گروه  بسیار کوچکی به مساله‌ای پیش‌پا افتاده و عادی تبدیل می‌شوند در حالی‌که همچنان از دید بقیه پنهان می‌مانند (دیگران با آن مواجه نشده‌اند) مگر تا زمانی که توسط برخی بر آن‌ها عنوانی گذارده شود.

این شاید پیامد غیرقابل اجتناب یک فرآیند بر مبنای استاندارها و نسخه‌های به‌روز شده بدون زمان‌بندی مرور‌گرها است. ما حتی اگر می‌خواستیم هم نمی‌توانستیم قابلیت‌های جدید را به‌صورت یک راز نگه داریم، اما این به آن معنا نیست که همه از آن (قابلیت) آگاه خواهند شد. درخواست XMLHTTPR به‌صورت گسترده از زمان حضور IE5 در دست‌رس بوده و در قالب مرورگرهای بر پایه‌ی Geko هم تقریبا از اوایل 2000 این دست‌رسی وجود داشته است.5  سال بعد هم Ajax ظهور یافت.

دست‌یابی اتفاقی به این فناوری‌ها، چگونگی ساخت و توزیع تجربه‌هایمان را دگرکون می‌کند.این فناوری‌ها با آوردن قابلیت‌های جدید، یکی پس از دیگری ظهور می‌یابند (جانشین یک‌دیگر می‌شوند) در حالی‌که اصول مشترکی با یک‌دیگر دارند.

URLها و اتصالات به عنوان سیستم سازمان‌دهی اصلی (هسته‌ای): اگر شما نمی‌توانید به چیزی وصل شوید، آن چیز بخشی از وب نیست.

افزایش قیمت و ایجاد سبک (قالب) دست‌رسی، هم برای انسان‌ها و هم برای موتورهای جست‌وجو

غنای (فراوانی) UI و قابلیت‌های سیستم که به عنوان الحاقات به یک هسته‌ی کاربردی مهیا شده‌اند.

پیاده‌سازی رایگان: بدون هیچ اجازه‌نامه و یا پرداختی، که در عمل به معنای بر مبنای استانداردها بودن است. ارتقاهای (دگرگونی‌های) اصلی وب (شبکه) بایستی با (وضعیت) فرهنگی هم مشابه وضعیت (فنی) سازگار باشد. بسیاری از بسترهای نرم‌افزاری (سیستم عامل‌ها) در تلاش برای ممکن ساختن دست‌یابی به قابلیت‌های عجیب اقدام نموده‌اند درحالی‌که هم‌چنان توسعه‌‌دهندگان مجازند که فناوری سمت مشتری (client-side) را بسازند. با انجام این کار، آن‌ها معمولا یکی یا چند‌تا از جنبه‌های سیستم ارزش مشترک را حذف می‌کنند. البته که این کار بد نیست. بسیاری از آن‌ها از جهت فنی بسیار هم درخشان‌اند- اما مربوط به وب (شبکه) نیستند.

-برنامه‌های کاربردی Adobe ALR

-برنامه‌های Windows Store

-بسته‌های نرم‌افزاری Chrome

-بسته‌های نرم‌افزاری سیستم عامل فایرفاکس

-برنامه‌های Cross Walk و Cordova/Phone Gap

-برنامه‌های کارهای تحت وب (Webworks) Black Berry

-عناصر W3C (که از پیاده‌سازی‌های بسیاری بهره‌مند شده‌اند)

-برنامه‌های سیستم‌عامل وب (شبکه-Wobos)

-چارچوب تعبیه شده    Chromium

Eletron-

این موارد تنها نمونه‌هایی‌اند که فی‌البداهه (بدون تامل) به ذهن می‌آیند. من مطمئن هستم که موارد دیگری هم وجود دارد: و این یک ایده‌ی عمومی است. در این موارد معمولا قابلیت اتصال را فدای کاربردی بودن برنامه “appiness” می‌کنند: کار کردن به صورت عدم اتصال به شبکه‌ی (برون خطی)، در صفحه‌ی خانگی بودن، دست‌رسی به APIهای سیستم، به‌کارگیری دوباره‌ی کاربرانی که به بسته‌بندی و توزیع از طریق فروشگاه‌ها احتیاج دارند، که همه‌ی این موارد ایجاب می‌کند که قبل از تجربه کردن آن‌ها به‌طور کامل بارگذاری شوند.

به‌جای کلیک کردن بر روی (فشردن) اتصالی (لینکی) که محتوای مورد جست‌و‌جوی شما را در دسترس قرار می‌دهد، این سیستم‌ها، فروشگاه‌ها را به صورت میانجی‌های درمی‌آورند برای یافتن محتوا. فرایند هیبریدسازی، نرم‌افزار‌های را تولید می‌کند ه نمی‌توانند بیش از این دوام بیاورند و یا بر مبنای فرضیات وب (شبکه باشند.

چگونه یک (دستور برنامه) یک‌مرتبه برای همه فروشگاه‌ها به‌کار انداخت می‌شود؟ آیا می‌تواند سرعت تکرار (دستور) را حفظ کند؟ نیاز به بسته‌بندی همه چیز قبل از تغییر فرضیات و زیرساخت‌ها چگونه است؟ جست‌وجوی کار شاخص‌گذاری چگونه است؟ این ایجاد یک توازن عمیق است که تکرار سریع و قابلیت اتصال را در رقابت با کار کشف فروشگاه و (کار به شیوه) برون خطی قرار می‌دهد.

گذار (فرار) از وضعیت (Escaping the Tab) : (فرایندی) تصاعدی و نه ترکیبی (هیبریدی)

تا اکنون روش دیگری وجود دارد. تکامل (ارتقایی) در سطح مرورگرها به وقوع یوستن است. شب گذشته در طی (جلسه کاری) شام، من و فرانسوی ویژگی‌های این کلاس (طبقه-گروه) جدید از برنامه‌های نرم‌افزاری را برشمردیم.

– پاسخ‌گو بودن : به تناسب (به شکل) هر مشخصه ظاهری درآمدن.

– مستقل از ارتباط پذیری (اتصال) بودن : که به طور فزاینده‌ای (تصاعدی) با کارگران (کاربران) خدمات پیش می‌رود تا این افراد بتوانند به صورت برون خطی به کار خود بپردازند.

– تعاملات شبه برنامه‌های نرم افزاری (داشتن) : یک شبه برنامه را با مدل برنامه محتوایی تطبیق دادن برای ایجاد ناوش‌ها (جست‌وجوها) و تعاملات برنامه‌ای  ((APPY.

– تازگی : به وضوح و همیشه به روز رسانی به‌واسطه فرایند به‌روز رسانی کاربران (کارگران) خدمات انجام می‌شود.

– امنیت : که به‌وسیله TLS  ارائه می‌‌شود (شرط الزام کاربر خدمات) برای جلوگیری (پرهیز) از تجسس مخفیانه.

– قابلیت بازیابی : که عبارت است از آن‌چه قابل شناسایی است مانند : «برنامه‌های نرم‌افزاری» که به واسطه فهرست‌های w3c و دامنه ثبت کاربر خدمات به موتور‌های جست‌وجو اجازه می‌دهند که آن‌ها را طی جست‌وجو بیابند.

– به‌کارگیری دوباره : که به UIهای OS (سیستم عامل) دوباره فعال شده دسترسی دارد مانند ذخیره (ثبات) پیام‌ها.

– قابلیت نصب : که از طریق اعلام‌هایی آماده شده مرورگر بر روی صفحه خانگی انجام می‌شود، و به کاربران اجازه می‌دهد تا برنامه‌هایی را که بیش‌تر استفاده می‌کنند بدون دردسر نیاز به به یک appstore بیابند.

– قابلیت اتصال : به این معنا که آن‌ها کاملا قابل نفوذ و قابل نصب هستند و به راحتی به اشتراک گذاشته می‌شوند و قدرت اجتماعی URLها دارای اهمیت است.

این برنامه‌های نرم‌افزاری از طریق فروشگاه‌ها بسته‌بندی و به‌کارگیری گرفته نشده‌اند، و این تنها وب‌سایت‌ها هستند که تمام این منابع مالی را می‌گیرند. آن‌ها مدل اجازه‌نامه پرسش را تا وقتی که شما به آن نیاز دارید حفظ می‌کنند و قابلیت‌های جدیدی را مثل قرار گرفتن متوالی در سطح بالای (نوار)تغییر وظیفه، بر روی صفحه خانگی، و در tray  پیام‌ مربوط به شما قرار گرفتن را اضافه می‌کنند. کاربران مجبور نیستند که تنها با کلیک کردن بر روی یک لینک، انتخاب سنگینی را از پیش انجام دهند و هم‌چنین نیازی نیست که به صورت ضمنی به عضویت (جایی) ناشناخته دربیایند.

سایت‌هایی که می‌خواهند برای شما پیام‌هایی بفرستند و یا اینکه بر روی صفحه خانگی شما مستقر شوند می‌باید حق (مجوز) این کار را در طول زمانی که شما از آن‌ها بیش از پیش بهره می‌گیرید، کسب کنند. این (سایت) به‌روز و به صورت فزاینده ای (روبه توسعه‌‌ای) به برنامه‌های کاربردی بیش‌تر تبدیل می‌شوند. این برنامه‌ها می‌توانند یک تجربه کاربری به مراتب بهتری را هم نسبت به برنامه‌های نرم‌افزاری شبکه‌ای سنتی ارائه دهند. از آنجایی که این کارکرد می‌تواند به مثابه یک پیشرفت روزافزون تبدیل شود، پیشرفت‌های محسوس موجب می‌شوند که کار به این شیوه صرف‌نظر از مفاد (هدف) کاربردی بودن برنامه (appy) باارزش به نظر برسند.

فرانسیس این موارد را «برنامه‌های شبکه باز تصاعدی» می‌نامد. و ما هر دو یک به عنوان مشابه رسیده‌ایم ب نام «برنامه‌های شبکه تصاعدی» این برنامه‌ها از قبل هم وجود داشته‌اند اما حالا برای خود عنوانی دارند.

 

برنامه‌های شبکه تصاعدی شبیه چه چیزی هستند؟

با درنظر گرفتن سایت Chrome Dev Summit به عنوان یک نمونه، می‌توانیم جریان کلی را در عمل مشاهده کنیم ( (ht : Paulo Kinalan

  • سایت‌ها به عنوان یک Tab معمولی شروع به فعالیت می‌کنند، ابرمرورگر ندارند، اما با استفاده از ویژگی‌های برنامه تصاعد شامل TLS، کارگران خدمات ، فهرست‌ها (اعلانات) و طراحی پاسخ‌گو ساخته می‌شوند.
  • دومین (یا سومین و یا چهارمین) دفعه‌ای که یک نفر از سایت بازدید می‌کند- تقریبا وقتی‌که مرورگر مطمئنی می‌شود که شما از چه چیزی معمولا استفاده می‌کنید – یک پیامی از سوی مرورگر نشان داده می‌شود (که از جزییات اعلانات برگرفته شده است).
  • کاربران می‌توانند در مورد حفظ برنامه‌ها بر روی صفحه خانگی یا بر رو راه‌اندازهای برنامه‌ها تصمیم بگیرد.
  • وقتی‌که راه‌اندازی بر روی صفحه خانگی انجام می‌شود، ای نرم‌افزارها با محیط کاربریشان ترکیب می‌شوند؛ آن‌ها در حالت سطح بالا (به طور متوالی)، تمام صفحه و در حال فعالیت برون خطی قرار می‌گیرند.

البته آن‌ها پس از عبور از مرحله 1 به صورت برون خطی کار می‌کردند تا حالا قرارداد (پیش فرض) ضمنی “appyness” (کاربردی سازی برنامه‌ها) آن را ملموس‌تر می‌سازد.

  • نصب سایت Chrome Dev Summit به عنوان یک برنامه تصاعدی

در این‌جا هم همان جریان مشابه برد معکوس (flipboard) امروزی حاکم است.

  • برنامه‌های تصاعدی برنامه‌های شبکه‌های هستند، آن‌ها به صورت یک Tab (جدول) شروع به فعالیت می‌کنند_ در این‌جا com را در صفحه Chrome  برای یک tab  معمولی اندروید مشاهده می‌کنیم.
  • وقتی کاربران به حد کافی مشغول (درگیر) برنامه‌های شبکه‌ای تصاعدی بشوند، مرورگرها پیام‌هایی را ارائه می‌دهند که از کاربران درمورد اینکه آیا می‌خواهند آن‌ها را نگه دارند یا نه، سوال می‌کند. برای پیش‌گیری (ممانعت) از هرزنامگی (پیام‌های ناشناس) این اتفاق در بارگذاری اول رخ نمی‌دهد.اگر هم کاربر آ پیام را بپذیرد ، اختلالی در جریان اتصال کاربر ایجاد نمی‌شود.
  • نمایه میانبر برنامه بر روی صفحه خانگی یا بر روی راه‌انداز سیستم عامل OS ظاهر می‌شود. پس از راه‌اندازی، برنامه‌های وب تصاعدی می‌توانند حتی انتخاب کنند که به صورت تمام صفحه ظاهر شوند.

 

  • برنامه‌های شبکه تصاعدی می‌توانند به صورت فعالیت‌های پی در پی از بالا به پایین نیز در تغییر برنامه OSها باشند.

 

آینده

امروزه ابزار توسعه شبکه و کارهای عملی همچنان برنامه‌های شبکه تصاعدی را پشتیبانی نمی‌کنند، درحالی‌که بسیاری از چارچوب‌ها و خدمات به حد کافی برای تبدیل شدن به برنامه‌های شبکه تصاعدی، کارا و مورد استفاده هستند. به‌ویژه، چارچوب‌های سمت مشتری با داشتن رندر سرور به عنوان یک گزینه کاری مناسب است که‌همراه با مدل مسیریابی سمت مشتری بارگذاری ثانویه، برنامه‌های شبکه تصاعدی را به صورت طبیعی به عنوان یک پیامد تجربه‌های برون خطی قابل اتکا برای پیاده‌سازی می‌پذیرد.

این حوزه‌ای است که در آن طراحی و ساخت برنامه‌های اندیشیده شده به افراد پیشگام بیش‌تر سود را می‌رساند. پشتیبانی از برنامه‌های تصاعدی کامل درگیر شدن، و تجارب جالب توجه بر روی شبکه را از شبکه‌های قدیمی و منسوخ شده متمایز می‌کند. طراحی برنامه‌های تصاعدی یک روش ساخت بهتر تجارب را از طریق ابزار و محتواهای درون یک کد مبنای واحد ارائه می‌دهد اما همچنان احتیاج به یک تغییر اساسی در درک ما و همچنین تغییر ابزاری که در اختیار داریم ضروری است. ساخت برنامه‌های جالب با استفاده از تکنولوژی شبکه دیگر به ترک خود شبکه احتیاج ندارد. برنامه‌های تصاعدی، بایت‌های (مجوزهای) ما به خارج از Tabهستند و این تنها مستلزم آن است که به آن‌ها دست بیابیم.

ما همراه دیجیتال شما هستیم