2013-09-05 85 views
1

我一直在尋找HTML5應用程序的一些細節,但發現它很難或可能我不是以正確的方式搜索。基本上我想了解使用HTML5和CSS3創建應用程序的新方法,它將提供本機應用程序的體驗。以下是我的疑問。響應HTML5應用程序

  1. 如何逐頁瀏覽。在典型的Web應用程序中,每個頁面都被請求到服務器,並且服務器將刷新並在瀏覽器中加載新頁面。在現代社會中,沒有頁面刷新效果的頁面導航方式是什麼。

  2. 在典型的Web應用程序中,使用動態Web編程(如asp.net,JSP)在瀏覽器中生成HTML文件。什麼是現代化的方法,我們仍然需要使用相同的方式,或純靜態的HTML文件可以使用,並可以通過jquery進行修改。

  3. 如何完成客戶端服務器通信以便不會發生頁面刷新。我們可以使用jquery進行所有通信。瀏覽器是否會工作太多?

  4. 如何託管HTML5文件。在服務器或每個客戶端必須有本地HTML文件的副本。

解釋這一點的任何資源都會很好。

+1

HTML5並不意味着沒有刷新,也沒有刷新並不暗示HTML5,這只是AJAX。 – Virus721

回答

1

這個問題非常普遍,但我會試着回答它。

1. 根據w3.org,HTML5只是HTML的新版本,它仍在draft之下。
HTML5仍然是HTML,並且HTML通過向服務器請求服務器主動響應的下一頁的新副本導航到其他頁面。然而,這將刷新瀏覽器中的現有頁面,並引入新頁面。(是的,當再次請求同一頁面時,顯示瀏覽器中的緩存副本或向服務器發送新請求,內容,小或巨大,重新加載)。這是重新加載的部分。但是,您可以使用AJAX必須提供的異步服務,您可以使用該服務請求html頁面的一部分。

的Ajax是一組用於在客戶端 創建異步web應用程序相互關聯的web開發技術。使用Ajax, Web應用程序可以將數據發送到,並從中檢索服務器 異步(後臺)數據不與 顯示和現有網頁的行爲干預。



2.靜態頁面很少使用這些天。但是,如果站點沒有太多用戶特定的組件,或者該站點只有靜態數據,靜態頁面會很有幫助,因爲可以避免加載JavaScript內容。但是再次,所有現代網頁都是動態的。

這裏有很多把動態內容在網絡上像 的Model View Controller方法和基於事件的方式方法。

而只是給你一個想法,新的外觀是一個頁面看起來凡在本網站的所有內容顯示在一個單獨的頁面,並有多個控制器,飼料頁面的各個部分和所有這些都組合成一個視圖。
看一看here

3.現在有很多新的js選項,node.js和angular.js是最新的補充。 Node.js是一個很好的選擇,如果你想你的網站完全通電的JavaScript,但沒有多少託管網站支持node.js呢。不過,現在JavaScript似乎是未來。

4.這個問題是很大的,因爲你從根本上缺乏研究。因爲,託管和副本是兩個不同的東西,因爲除了託管網站和您的客戶端(即瀏覽器)之外,還有很多其他服務器與客戶端非常接近以便即時爲頁面提供服務,因此該文件被迅速帶到瀏覽器。

所以,從某種意義上說了很多具有命中的數量龐大的網站有緩慢時後端服務器的快速緩存服務器的 層快速提供 請求。然後,還有快速緩存的數據庫服務器 在較慢的數據庫服務器上。

所以,我想在這裏強調的是,這是一個純粹的性能相關的決定,你必須採取。所以,如果有什麼你想要達到的,無論是速度還是別的,都有很多選擇需要探索。

即將到來的CSS3部分,動畫CSS3的一部分仍然是全球接受。全球仍有用戶無法處理CSS3D轉換(用戶使用舊版本的IE等)。這就是它。

也就是說,這些東西純粹與性能有關,HTML5或CSS3在這方面沒有任何作用。

0

查看jQuery Mobile!

基本上,jqm和其他web移動框架使用Ajax來避免任何頁面刷新,並帶有很好的動畫作爲獎勵。

0
  1. 這更關鍵的是你想從服務器上將數據拉入你的web應用程序嗎?那麼是的,這將是一個Ajax請求,是的,你將不得不將它插入到你的HTML頁面,但這並不意味着你的整個頁面必須來自服務器。基本上可以有三層安裝,服務器,中間人和你的前端。你的中間部分將有你的「頁面」的html模板,並將從服務器插入傳入的數據,並且你的前端將處理並使所有事情都發生。它可以像php/angular或jquery設置,或php/handlebars/jquery或javascript設置,還有很多其他的。你的頁面導航又取決於你的框架設置。
  2. 再次有點像上面。路由是目前與服務器通信的最常用方式。 YOu基本上通過不同的路由向服務器請求數據,然後處理傳入的數據-json,可能在任何你想要呈現給最終用戶的模板引擎中。對於路由,php解決方案是最流行的,比如slim或symfony。
  3. jquery完全沒問題,現在說角度要快得多。把手非常適合創建模板頁面。角度結合,qjuery,把手和一些其他的東西在一個。 Backbone.js是另一個不錯的選擇。
  4. 這是一個奇怪的問題,或者告訴我你需要對整個概念進行更多的研究。但是考慮框架和MVC類型模型。
0

我明白你需要在一個頁面HTML 5的應用程序,爲用戶瀏覽網頁時,你可以使用jQuery mobile.It通過ajax.If您需要本地應用的體驗實現它。(在移動設備中JQM可以是一個小慢)你需要在jQuery Mobile中進行一些性能改進,比如移除未使用的小部件,未使用的主題,使用巧妙的javascript來實現最小的頁面重排等。

對於這樣的應用程序,爲了代碼可維護性,我們需要使用JavaScript框架,比如骨幹js,敲除js等(您有各種各樣的MVVM框架可供選擇)。

對於客戶端服務器通信,您可以進行AJAX調用。