在這篇文章中,我們將展示如何創建乖巧離線的網頁和應用程序使用下面的HTML5功能:
目前成都創新互聯已為上1000家的企業提供了網站建設、域名、網頁空間、綿陽服務器托管、企業網站設計、三亞網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
AppCache本地存儲文件資源,離線訪問它們作為URL
索引型數據庫存儲結構化數據在本地,你可以訪問和查詢它
DOM存儲在本地存儲少量的文字信息,
離線事件來檢測,如果你€ 重新連接到網絡
例:隨時隨地訪問數據的離線支持
讓我們€?的說,你去購物,從您?最喜愛的食品網站?的配方的打印輸出,但是當你€?重新在市場上,你塔卡納€?噸找到一些關鍵的成分。
試想一下,當你在家中使用移動PC瀏覽?食譜網站?,部分網站會自動下載離線使用。這可以讓你把你的手機PC到店,訪問該網站,并在市場尋找一個新的配方。?最好的部分?是,你可以做到這一點,?而??被連接到網絡。作為一個消費者,您的網站感激,因為它只是工作時,你需要它。
離線的'蛋糕'這個詞使用的食譜網站的搜索結果。
作為一個開發者,你可以使這些類型的場景相結合的離線技術:?AppCache?,索引型數據庫?,?DOM存儲?,?WebSockets的?(或?XHR?)。?在探索個人的技術,讓我們的探討的好處。
Metro風格的應用程序和網站,離線技術讓你來處理連接故障。想象一下,您的用戶填寫一個表格,他失去網絡連接。您的網站或Metro風格的應用程序應該怎么做呢?連接自由發展的心態可以讓您的應用程序是否連接到網絡或不正確地獨立工作。你的應用程序將正常工作。
在更復雜的情況下,Web站點和應用程序允許用戶創建新的內容,并存儲新的數據,即使應用程序是完全脫機。試想一下,無縫地工作在脫機狀態下,如Outlook今天的Outlook Web Access(OWA)的Hotmail或GMail。
離線技術也可以通過本地緩存的資源服務,預緩存將來信息和轉移從云(或網絡)到客戶端設備的處理能力,提高整體性能。信息越多,你€?重新能夠緩存在本地,在本地搜索,并計算在本地服務器和用戶的體驗將更快,需要更少的資源熱轉印機?。
有一個Metro風格的應用程序離線工作的期望高于網站的脫機工作。因為他們使用從商店的自我包含的程序包部署,用戶希望他們有某種類型的離線功能(如游戲,書籍,食譜等)。即使這些應用程序是無法創建或訪問新的內容,以前的內容應該是可見的(例如聯系人,會議,飼料,雜志等)。
本地緩存文件資源使用AppCache
AppCache使您能夠創建長壽命的本地緩存下載的文件資源,資源可以訪問而離線或使用的同時在線,以提高性能。試想一下,一個三歲的孩子使用一臺筆記本電腦,下載一個交互式的Web的游戲(KidsBook)從您的家庭網絡。如果應用程序的資源存儲在本地,孩子可以繼續在車上玩游戲,那里沒有網絡連接。
如果KidsBook使用AppCache,本場比賽將有緩存必要的資源(的JavaScript,HTML,CSS,音頻,視頻等)時,先下載后從網絡上斷開時,播放的游戲。這可以讓孩子保持愉悅,即使設備本身沒有網絡連接。
AppCache創作流程。
要看到如何啟用互動網頁游戲脫機工作,檢查出?KidsBook的?IE Test Drive網站?上的例子。
AppCache使用一個manifest文件,以緩存的內容從網站上指定資源的URI。幕后發生后,瀏覽器顯示網頁,它允許在清單文件中定義的資源被下載的緩存。這保證了資源下載到本地機器上,作為一個單位在一個事務中,創建一個本地的緩存。如果一個單一的資源下載失敗,沒有創建高速緩存。要更新存儲在緩存中的內容,在您的服務器更新清單文件。當用戶下次訪問該網站時,瀏覽器比較明顯的服務器上的文件的緩存副本。如果緩存的艙單副本是不同的服務器副本,新版本更新清單文件中定義的內容高速緩存的使用。
AppCache還允許Internet Explorer和Metro風格的應用程序在脫機狀態下使用傳統的URL的訪問緩存的資源。這可以讓你在瀏覽器窗口中鍵入一個URL,并沒有任何網絡連接的情況下訪問此信息。此外,脫機頁可以解決的URI使用本地緩存的信息。代碼示例來看看在?HTML5應用程序緩存(“?AppCachea)?部分中的?IE10開發人員指南?。
總體而言,AppCache提供了一定的優勢HTTP的緩存。HTTP緩存沒有噸保證緩存的資源之后將TIF(臨時Internet文件)將被清除。此外,HTTP緩存沒有€?噸正確地解決在脫機狀態下的URL。然而,HTTP緩存可用于優化AppCache的行為,通過指定的緩存資源的生命周期。如果從網站上下載或復制的資源從緩存的本地高速緩存中創建一個新的版本時,這將決定。
Metro風格的應用可以受益于AppCache通過在本地緩存的Web資源的訪問的頁框,它允許脫機訪問的內容。
高速緩存大型本地使用索引型數據庫的結構化數據
索引型數據庫?是一個本地JavaScript對象存儲在本地機器上的數據庫,允許快速索引和搜索的對象。前面介紹的?食譜網站,?包括16食譜從父站點中提取的數據庫。想象一下,用一個RSS feed,一個WebSocket或XHR連接的,定期更新這個數據庫。這將使您的用戶能夠訪問到最新的食譜,即使他們有沒有網絡連接。
索引型數據庫,您可以直接操作和索引的JavaScript對象。使用索引型數據庫搜索本地信息的優點是它不會強迫你總是在云中搜索,降低了計算成本。這是假設你€?重新能夠維持,是緩存在本地系統中的數據的相關性。
在以下領域有突出的體驗:
1、語義特性(Class:Semantic)
HTML5賦予網頁更好的意義和結構。更加豐富的標簽將隨著對RDFa的,微數據與微格式等方面的支持,構建對程序、對用戶都更有價值的數據驅動的Web。
2、本地存儲特性(Class: OFFLINE STORAGE)
基于HTML5開發的網頁APP擁有更短的啟動時間,更快的聯網速度,這些全得益于HTML5 APP Cache,以及本地存儲功能。Indexed DB(html5本地存儲最重要的技術之一)和API說明文檔。
3、設備兼容特性 (Class: DEVICE ACCESS)
從Geolocation功能的API文檔公開以來,HTML5為網頁應用開發者們提供了更多功能上的優化選擇,帶來了更多體驗功能的優勢。HTML5提供了前所未有的數據與應用接入開放接口。使外部應用可以直接與瀏覽器內部的數據直接相連,例如視頻影音可直接與microphones及攝像頭相聯。
4、連接特性(Class: CONNECTIVITY)
更有效的連接工作效率,使得基于頁面的實時聊天,更快速的網頁游戲體驗,更優化的在線交流得到了實現。HTML5擁有更有效的服務器推送技術,Server-Sent Event和WebSockets就是其中的兩個特性,這兩個特性能夠幫助我們實現服務器將數據“推送”到客戶端的功能。
5、網頁多媒體特性(Class: MULTIMEDIA)
支持網頁端的Audio、Video等多媒體功能, 與網站自帶的APPS,攝像頭,影音功能相得益彰。
6、三維、圖形及特效特性(Class: 3D, Graphics Effects)
基于SVG、Canvas、WebGL及CSS3的3D功能,用戶會驚嘆于在瀏覽器中,所呈現的驚人視覺效果。
7、性能與集成特性(Class: Performance Integration)
沒有用戶會永遠等待你的Loading——HTML5會通過XMLHttpRequest2等技術,解決以前的跨域等問題,幫助您的Web應用和網站在多樣化的環境中更快速的工作。
8、CSS3特性(Class: CSS3)
在不犧牲性能和語義結構的前提下,CSS3中提供了更多的風格和更強的效果。此外,較之以前的Web排版,Web的開放字體格式(WOFF)也提供了更高的靈活性和控制性。
jquery mobile和bootstrap都是較好的框架。為了使用便利,下文列舉了目前最強大應用最廣泛的幾款前端開發框架。
1. Bootstrap
Boostrap絕對是目前最流行用得最廣泛的一款框架。它是一套優美,直觀并且給力的web設計工具包,可以用來開發跨瀏覽器兼容并且美觀大氣的頁面。它提供了很多流行的樣式簡潔的UI組件,柵格系統以及一些常用的JavaScript插件。
2. Fbootstrapp
Fbootstrapp基于Bootstrap并且提供了跟Facebook iframe apps和設計相同的功能。包含用于所有標準組件的基本的CSS和HTML,包括排版、表單、按鈕、表格、柵格、導航等等,風格與Facebook類似。
3. BootMetro
BootMetro框架的靈感來自于Metro UI CSS,基于Bootstrap 框架構建,用于創建Windows 8 的Metro風格的網站。它包括所有Bootstrap的功能,并添加了幾個額外的功能,比如頁面平鋪,應用程序欄等等。
4. Kickstrap
Kickstrap是Bootstrap的一個變體。它基于Bootstrap,并在它的基礎上添加了許多app,主題以及附加功能。這使得這個框架可以單獨地用于構建網站,而不需要額外安裝什么。你需要做的僅僅是把它放到你的網站上,然后用就可以了。
5. Foundation
Foundation 是一款強大的,功能豐富的并且支持響應式布局的前端開發框架,你可以通過Foundation快速創建原型,利用它所包含的大量布局框架,元素以及最優范例快速創建在各種設備上可以正常運行的網站以及app。Foundation在構建的時候秉承移動優先的策略,它擁有大量實用的語義化功能,并且使用Zepto類庫來取代jQuery,這樣可以帶來更好的用戶體驗,并且提高運行的速度。
6. GroundworkCSS
GroundworkCSS 是前端框架家族里面新添的一款小清新框架。它是基于Sass和Compass的一個高級響應式的HTML5,CSS以及JavaScript工具包,可以用于快速創建原型并且建立在各種瀏覽設備上可以正常工作的網站和app。
7. Gumby
Gumby 是一款基于Sass和Compass的簡單靈活并且穩定的前端開發框架。
它的流式-固定布局(fluid-fixed layout)可以根據桌面端以及移動設備的分辨率自動優化要呈現的網頁內容。它支持多種網格布局,包括多列混雜的嵌套模式。Gumby提供兩套PSD的模板,方便你在12列和16列的網格系統上進行設計。
8. HTML KickStart
HTML Kickstart 是一款可以用來方便創建任何布局的集合HTML5,CSS和jQuery的工具包。它提供了干凈,符合標準以及跨瀏覽器兼容的代碼。
9. IVORY
IVORY 是一款輕量,簡單但是強大的前端框架,可以用于320到1200像素寬度的響應式布局。它基于12列的響應式網格布局,包含表格,按鈕,表格,分頁,撥動開關,工具提示,手風琴,選項卡等網站中常用的組件和樣式。
10.Kube
最后,如果你的新項目需要一款實在的,不需要復雜的額外功能組件的,足夠簡單的框架,那么 Kube 將會是你正確的選擇。Kube是一款最小化的,支持響應式的前端框架,它沒有強加的樣式設計,因此給了你充分的自由來開發自己的樣式表。它提供了一些web元素的基本樣式,比如網格,表單,排版,表格,按鈕,導航,鏈接以及圖片等等。
都可以
C#適合高性能本地應用,但是上手難,調試什么的,開發周期會比較長
html5+Css會比較好上手,開發周期會比較短,不過開發的應用以網絡內容消費為主,(類似微薄客戶端,Rss閱讀器,還有一些簡單游戲)
不過總的說來學C#會好很多
在使用網頁版Gmail的時候,每當收到新郵件,屏幕的右下方都會彈出相應的提示框。借助HTML5提供的Notification API,我們也可以輕松實現這樣的功能。
確保瀏覽器支持
如果你在特定版本的瀏覽器上進行開發,那么我建議你先到 caniuse 查看瀏覽器對Notification API的支持情況,避免你將寶貴時間浪費在了一個無法使用的API上。
如何開始
JavaScript Code復制內容到剪貼板
var notification=new Notification(‘Notification Title',{
body:'Your Message'
});
上面的代碼構造了一個簡陋的通知欄。構造函數的第一個參數設定了通知欄的標題,而第二個參數則是一個option 對象,該對象可設置以下屬性:
body :設置通知欄的正文內容。
dir :定義通知欄文本的顯示方向,可設為auto(自動)、ltr(從左到右)、rtl(從右到左)。
lang :聲明通知欄內文本所使用的語種。(譯注:該屬性的值必須屬于BCP 47 language tag。)
tag:為通知欄分配一個ID值,便于檢索、替換或移除通知欄。
icon :設置作為通知欄icon的圖片的URL
獲取權限
在顯示通知欄之前需向用戶申請權限,只有用戶允許,通知欄才可出現在屏幕中。對權限申請的處理將有以下返回值:
default:用戶處理結果未知,因此瀏覽器將視為用戶拒絕彈出通知欄。(“瀏覽器:你沒要求通知,我就不通知你了”)
denied:用戶拒絕彈出通知欄。(“用戶:從我的屏幕里滾開”)
granted:用戶允許彈出通知欄。(“用戶:歡迎!我很高興能夠使用這個通知功能”)
JavaScript Code復制內容到剪貼板
Notification.requestPermission(function(permission){
//display notification here making use of constructor
});
用HTML創建一個按鈕
XML/HTML Code復制內容到剪貼板
不要忘記了CSS
CSS Code復制內容到剪貼板
#button{
font-size:1.1rem;
width:200px;
height:60px;
border:2px solid #df7813;
border-radius:20px/50px;
background:#fff;
color:#df7813;
}
#button:hover{
background:#df7813;
color:#fff;
transition:0.4s ease;
}
全部的Javascript代碼如下:
JavaScript Code復制內容到剪貼板
document.addEventListener('DOMContentLoaded',function(){
document.getElementById('button').addEventListener('click',function(){
if(! ('Notification' in window) ){
alert('Sorry bro, your browser is not good enough to display notification');
return;
}
Notification.requestPermission(function(permission){
var config = {
body:'Thanks for clicking that button. Hope you liked.',
icon:'',
dir:'auto'
};
var notification = new Notification("Here I am!",config);
});
});
});
從這段代碼可以看出,如果瀏覽器不支持Notification
API,在點擊按鈕時將會出現警告“兄弟,很抱歉。你的瀏覽器并不能很好地支持通知功能”(Sorry bro, your browser is
not good enough to display
notification)。否則,在獲得了用戶的允許之后,我們自制的通知欄便可以出現在屏幕當中啦。
為什么要讓用戶手動關閉通知欄?
對于這個問題,我們可以借助setTimeout函數設置一個時間間隔,使通知欄能定時關閉。
JavaScript Code復制內容到剪貼板
var config = {
body:'Today too many guys got eyes on me, you did the same thing. Thanks',
icon:'icon.png',
dir:'auto'
}
var notification = new Notification("Here I am!",config);
setTimeout(function(){
notification.close(); //closes the notification
},5000);
該說的東西就這些了。如果你意猶未盡,希望更加深入地了解Notification API,可以閱讀以下的頁面:
MDN
Paul lund’s tutorial on notification API
在CodePen上查看demo
你可以在CodePen上看到由Prakash (@imprakash)編寫的demo。
本文題目:html5metro的簡單介紹
網頁路徑:http://m.newbst.com/article24/phhice.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、企業建站、云服務器、定制開發、小程序開發、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯