
برنامه های تحت وب آفلاین
HTML 5 شامل ویژگی هایی است که به پشتوانه این ویژگی ها چالش ساختن برنامه های کاربردی تحت وب که در حالت آفلاین کار می کنند را به پا کرده است. در این مقاله قصد داریم این ویژگی ها و چگونگی استفاده از این ویژگی ها برای ایجاد برنامه های کاربردی تحت وب آفلاین را مطرح کنیم:
- SQL
- offline application caching APIs و بعلاوه رویدادهای online/offline
- status
- localStorage API
معرفی
-
SQL
function renderNote(row) {
// renders the note somewhere
}
function reportError(source, message) {
// report error
}
function renderNotes() {
db.transaction(function(tx) {
tx.executeSql(‘CREATE TABLE IF NOT EXISTS Notes(title TEXT, body TEXT)’,
[]);
tx.executeSql(‘SELECT * FROM Notes’, [], function(tx, rs) {
for(var i = 0; i < rs.rows.length; i++) {
renderNote(rs.rows[i]);
}
});
});
}
function insertNote(title, text) {
db.transaction(function(tx) {
tx.executeSql(‘INSERT INTO Notes VALUES(?, ?)’, [ title, text ],
function(tx, rs) {
// …
},
function(tx, error) {
reportError(‘sql’, error.message);
});
});
}
۲٫ Offline Application Caching APIs
مکانیزمی برای اطمینان از اینکه برنامه های کاربردی وب حتی زمانی که کاربر به شبکه خود متصل نیست در دسترس می باشد، ویژگی manifest در عنصر HTML است. این ویژگی یک URI را به یک manifest می برد که مشخص می کند کدام فایل باید ذخیره شود. manifest یک نوع مایمِ text/cache-manifest دارد. یک فایل معمولی مانند زیر می باشد:
CACHE MANIFEST
index.html
help.html
style/default.css
images/logo.png
images/backgound.png
NETWORK:
server.cgi
<!DOCTYPE HTML><html manifest=”cache-manifest”>…
فایل server.cgi ، لیست سفیدی (در بخش NETWORK: بخش) است که می تواند برای دریافت آپدیت ها با سرور ارتباط برقرار کند. به عنوان مثال:
<event-source src=”server.cgi”>
(مولفه event-source یک ویژگی جدید در HTML 5 است که سرورها را قادر می سازد به طور مداوم به روز رسانی ها را به یک صفحه وب ارتقا دهند.)
مکانیزم کش برنامه کاربردی راهی برای ذخیره کردن کش (از سرور) یک گروه از فایل ها با یک پیشوند معمولی را فراهم می کند، که توانایی نمایش یک صفحه جایگزین در زمان رندر کردن آن صفحات در حالت آفلاین را دارد. همچنین یک راه برای اسکریپت ها برای اضافه کردن و حذف نوشته ها از حافظه پنهان به صورت پویا فراهم می کند و راهی است برای برنامه های کاربردی که کش خود را به فایل های جدیدی به روز رسانی کنند.
۳٫ Related APIs
علاوه بر این API ها، HTML 5 یک ویژگی onLine را در شی Navigator تعریف می کند تا بتواند تعیین کند که آیا شما در حال حاضر آنلاین هستید و یا نه:
var online = navigator.onLine;
تغییرات این ویژگی (ویژگی onLine) از طریق رویدادهای online و offline که هر دو به شیء Window ارسال می شوند، نشان داده می شود.
برای دسترسی ساده به ذخیره سازی همزمان ، HTML5 ویژگی localStorage را در شیء Window معرفی می کند:
localStorage[“status”] = “Idling.”;
منبع : //https://www.w3.org