1

我一直在搜索 HTML5 应用程序的一些细节,但发现很难,或者我可能没有以正确的方式搜索。基本上我想了解使用 HTML5 和 CSS3 创建应用程序的新方法,这将提供原生应用程序的体验。以下是我的疑问。

  1. 如何逐页导航。在典型的 Web 应用程序中,每个页面都向服务器请求,服务器将在浏览器中加载新页面并刷新。在现代方法中,在没有页面刷新效果的情况下进行页面导航的方法是什么。

  2. 在典型的 Web 应用程序中,动态 Web 编程如 asp.net、JSP 用于在浏览器中生成 HTML 文件。什么是现代方法,我们仍然需要使用相同的方式还是可以使用纯静态 HTML 文件并且可以通过 jquery 进行修改。

  3. 客户端服务器通信必须如何完成才能不发生页面刷新。我们可以使用 jquery 进行所有通信吗?对浏览器来说是否工作太多了。

  4. HTML5 文件的托管方式。在服务器或每个客户端必须在本地拥有 HTML 文件的副本。

任何解释这一点的资源都会很棒。

4

4 回答 4

1

这个问题很笼统,但我会尝试回答。

1. HTML5 只是 HTML 的一个新版本,根据 w3.org仍在草稿中。
HTML5 仍然是 HTML,HTML 通过向服务器请求下一页的新副本来导航到其他页面,服务器会主动响应。但是,这将从浏览器中刷新现有页面并引入新页面。(是的,当再次请求同一页面时,会显示浏览器中的缓存副本或将新请求发送到服务器,并且所有内容,无论是微小的还是巨大的,都会重新加载)。这是重载部分。但是,您可以使用 AJAX 必须提供的异步服务,您可以使用这些服务请求部分 html 页面。

Ajax是一组相互关联的 Web 开发技术,用于在客户端创建异步 Web 应用程序。使用 Ajax,Web 应用程序可以异步(在后台)向服务器发送数据和从服务器检索数据,而不会干扰现有页面的显示和行为。



2. 现在很少使用静态页面。但是,如果站点没有太多的用户特定组件,或者站点只有静态数据要放入,那么静态页面会很有帮助,因为可以避免加载 javascript 内容。但话又说回来,所有现代网页都是动态的。

有很多方法可以将动态内容放到 Web 上,例如模型视图控制器方法和基于事件的方法。

只是为了给您一个想法,新外观是单页外观,其中站点中的所有内容都显示在一个页面中,并且有多个控制器提供页面的各个部分,所有这些都组合成一个视图.
看看这里

3. 现在有很多新的 js 选项,其中 node.js 和angular.js是最新添加的。如果您希望您的网站完全使用 javascript, Node.js是一个很好的选择,但是目前还没有很多托管网站支持node.js。然而,现在 javascript 似乎是未来。

4. 这个问题很大,因为从你的角度来看完全缺乏研究。因为,托管和拥有副本是两件不同的事情,因为除了托管站点和您的客户端(即浏览器)之外,还有许多其他服务器合理地靠近客户端以动态提供页面,因此文件被带入快速到浏览器。

因此,从某种意义上说,许多点击量巨大的网站在慢速后端服务器上都有一层快速缓存服务器,以快速处理请求。然后在速度较慢的服务器上也有快速缓存的数据库服务器。

所以,我想在这里强调的是,这是您必须做出的纯粹与性能相关的决定。因此,如果您想要实现某些目标,无论是速度还是其他任何目标,都有很多选择可以探索。

来到 CSS3 部分,CSS3 的动画部分仍然被全球接受。世界各地仍有一些用户的浏览器无法处理 CSS3D 转换(使用旧版本 IE 等的用户)。就是这样。

也就是说,这些东西纯粹与性能有关,HTML5 或 CSS3 在这里没有任何作用。

于 2013-09-05T12:13:57.383 回答
0

查看 jQuery Mobile!

基本上 jqm 和其他 web 移动框架使用 Ajax 来避免任何页面刷新,并带有漂亮的动画作为奖励。

于 2013-09-05T11:54:50.647 回答
0
  1. 这更多的是您希望如何从服务器将数据拉入您的 Web 应用程序?那么是的,这将是一个 ajax 请求,是的,您必须将其插入到您的 html 页面中,但这并不意味着您的整个页面必须来自服务器。你基本上可以有一个三层设置,服务器、中间人和你的前端。您的中间部分将为您的“页面”提供您的 html 模板,并将插入来自服务器的传入数据,您的前端将处理并使一切发生。它可以像 php/angular 或 jquery 设置,或 php/handlebars/jquery 或 javascript 设置,还有很多其他设置。您的页面导航再次取决于您的框架设置。
  2. 又有点像上面的。路由是当今最常用的与服务器通信的方式。您基本上通过不同的路由向服务器请求数据,然后在您想要呈现给最终用户的任何模板引擎中处理传入的数据 -json。对于路由,php 解决方案是最流行的,如 slim 或 symfony。
  3. Jquery 完全没问题,据说现在 Angular 快得多。Handlebars 非常适合创建模板页面。Angular 将、qjuery、车把和其他一些东西合二为一。Backbone.js 另一个不错的。
  4. 这是一个奇怪的问题,或者告诉我您需要对整个概念进行更多研究。但是从框架和 MVC 类型模型的角度来考虑。
于 2013-09-05T11:59:44.747 回答
0

我了解您需要一个单页 HTML 5 应用程序,对于页面导航,您可以使用 Jquery mobile。它通过 ajax 实现它。如果您需要本机应用程序的体验。(在移动设备中 JQM 可能会有点慢)您需要在 jquery mobile 中进行一些性能改进,例如删除未使用的小部件、未使用的主题、使用巧妙的 javascript 来最小化页面重排等。

对于此类应用程序,为了代码的可维护性,我们需要使用 javascript 框架,例如骨干 js、knockout js 等(您有多种 MVVM 框架可供选择)。

对于客户端服务器通信,您可以进行 AJAX 调用。

于 2013-09-05T12:00:41.640 回答