offline html5
offline html5

 

برنامه های تحت وب آفلاین

HTML 5 شامل ویژگی هایی است که به پشتوانه این ویژگی ها چالش ساختن برنامه های کاربردی تحت وب  که در حالت آفلاین کار می کنند را به پا کرده است. در این مقاله قصد داریم این ویژگی ها و چگونگی استفاده از این ویژگی ها برای ایجاد برنامه های کاربردی تحت وب آفلاین را مطرح کنیم:

  1. SQL
  2. offline application caching APIs و بعلاوه رویدادهای online/offline
  3. status
  4. localStorage API

 

معرفی

کاربران معمولی برنامه های کاربردی تحت وب آنلاین تنها زمانی قادر به استفاده از برنامه های کاربردی هستند که اتصال آنها به اینترنت برقرار باشد. زمانی که کاربران آفلاین می شوند، دیگر نمی توانند ایمیلشان را بررسی کنند، قرار ملاقات های تقویمشان را مرور کنند و یا نمی توانند با ابزار آنلاین ، پرزنت های خود را آماده کنند. در همین حال، برنامه های بومی (Native-Application) این ویژگی ها را فراهم می کنند: ایمیل کاربران در فولدرهای کش به صورت محلی ذخیره می کنند، تقویم ها رویدادهای خود را به صورت محلی ذخیره می کنند، و پکیج های پرزنتیشن (بسته های ارائه) فایل های داده خود را به صورت محلی ذخیره می کنند.
علاوه بر این، در حال  آفلاین، کاربران برای دسترسی کامل به برنامه هایشان به کش HTTP خود وابسته هستند. چرا که برای دریافت آخرین نسخه کپی خود نمی توانند با سرور تماس بگیرند. برای حل این مسئله با تکیه بر ویژگی های HTML5 دو راه حل مطرح شده است: ۱- یک پایگاه داده API مبتنی بر SQL برای ذخیره داده ها به صورت محلی و ۲- یک کش HTTP برنامه کاربردی آنلاین برای اطمینان از اینکه برنامه های کاربردی حتی زمانی که کاربر به شبکه خود متصل نیست دردسترس باقی می ماند.
  1. SQL

پایگاه داده SQL کلاینت ساید در HTML 5 امکان ذخیره سازی اطلاعات ساختاری را فراهم می کند. این امکان می تواند برای ذخیره سازی برنامه ایمیل به طور محلی  و یا برای یک سبد خرید در یک سایت خرید آنلاین استفاده شود. API باید تضمین کند interface (رابط) کاربر قفل نباشد، اما برای این منظور برای برقرار کردن ارتباط با این پایگاه داده، همزمان نیست . چرا که تعاملات دیتابیس می تواند در چندین پنجره مرورگر درست در همان زمانی که API در حال پشتیبانی از تعاملات خودش می باشد، اتفاق افتد.
برای ایجاد یک شیء پایگاه داده، از روش  () openDatabase در شیء Window می توانید استفاده کنید. که چهار آرگومان به عنوان ورودی می گیرد: نام پایگاه داده، ورژن پایگاه داده، نام نمایش داده شده و اندازه تخمینی در بایت برای داده های ذخیره شده در پایگاه داده . برای مثال:
;(var db = openDatabase(“notes”, “”, “The Example Notes App!”, 1048576)
اکنون در این پایگاه داده می توانیم از روش () transaction استفاده کنیم. روش () transaction یک تا سه آرگومان را به عنوان ورودی می پذیرد: فراخوانی transaction ، فراخوانی ERROR و فراخوانی success . فراخوانی transaction یک شیء SQL transaction را منتقل می کند که می توانید از آن در روش () executeSQL استفاده کنید. متد () executeSQL یک تا چهار آرگومان را به عنوان ورودی می پذیرد: : یک دستور SQL، آرگومان ها ، یک فراخوانی SQL statement و یک فراخوانی SQL statement error. فراخوانی SQL statement ، شیء transaction و یک شیء SQL statement result را منتقل می کند که دسترسی به ردیف ها، آخرین ID وارد شده و غیره را می دهد.
برای تکمیل زیرساخت ها برنامه کاربردی، کد زیر را اضافه می کنیم:

       ۲٫  Offline Application Caching APIs

مکانیزمی برای اطمینان از اینکه برنامه های کاربردی وب  حتی زمانی که کاربر به شبکه خود متصل نیست در دسترس می باشد، ویژگی manifest در عنصر HTML است. این ویژگی یک URI را به یک manifest می برد که مشخص می کند کدام فایل باید ذخیره شود. manifest یک نوع مایمِ text/cache-manifest دارد. یک فایل معمولی مانند زیر می باشد:

این فایل چندین فایل را برای کش شدن مشخص می کند و سپس مشخص می کند که server.cgi هرگز نباید کش شود، به طوری که هر تلاشی برای دسترسی به این فایل از کنار کش عبور کند.
 manifest می تواند به وسیله ارتباط با برنامه های کاربردی (HTML) نمایان شوند:

فایل server.cgi ، لیست سفیدی (در بخش NETWORK: بخش) است که می تواند برای دریافت آپدیت ها با سرور ارتباط برقرار کند. به عنوان مثال:

(مولفه event-source یک ویژگی جدید در HTML 5 است که سرورها را قادر می سازد به طور مداوم به روز رسانی ها را به یک صفحه وب ارتقا دهند.)

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

 

۳٫ Related APIs

علاوه بر این API ها، HTML 5 یک ویژگی onLine را در شی Navigator تعریف می کند تا بتواند تعیین کند که آیا شما در حال حاضر آنلاین هستید و یا نه:

تغییرات این ویژگی (ویژگی onLine) از طریق رویدادهای online و offline که هر دو به شیء Window ارسال می شوند، نشان داده می شود.

برای دسترسی ساده به ذخیره سازی همزمان ، HTML5 ویژگی localStorage را در شیء Window معرفی می کند:

 

 

منبع : //https://www.w3.org

Offline Web Applications

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *