什么是單頁面應(yīng)用?
如果您想向您的朋友解釋,什么是單頁面應(yīng)用。簡(jiǎn)單一句話,頁面不刷新的web應(yīng)用就是了。
萬維網(wǎng)的資源千千萬萬,怎么標(biāo)志和索引他們呢?我們使用的是統(tǒng)一資源標(biāo)志符(URI)。只要這個(gè)東西不變,就是單頁面。
當(dāng)然既然是應(yīng)用,就不能簡(jiǎn)簡(jiǎn)單單是一個(gè)普通的網(wǎng)頁。總要?jiǎng)右粍?dòng),實(shí)現(xiàn)一點(diǎn)功能,顯得與普通的html不同。才能算得上應(yīng)用,一個(gè)簡(jiǎn)單的示例是百度翻譯。
它之所以會(huì)動(dòng)是使用了所謂的ajax技術(shù)。
當(dāng)然這個(gè)太簡(jiǎn)單了,隨著ajax技術(shù)的發(fā)展,出現(xiàn)了許多中型甚至重型的js框架,比如Sencha Touch(以前叫extjs)里面有很多單頁面應(yīng)用的demo,最出名的一個(gè)是模仿了windows桌面。
現(xiàn)在隨著html5技術(shù)的發(fā)展和成熟。使用websocket和服務(wù)器通訊,瀏覽器直接使用opengl es在客戶端繪制canvas的單頁面應(yīng)用甚至可以做成一個(gè)大型游戲。github上面有一個(gè)網(wǎng)易開源的項(xiàng)目(pomelo)。(不知道能不能貼網(wǎng)址 https://github.com/NetEase/pomelo/wiki/Home-in-Chinese )這是一個(gè)包含客戶端,服務(wù)端,工具鏈的完整的mmorpg游戲框架,對(duì)用戶來說也是一個(gè)單頁面應(yīng)用。