我最近提到,一个快速的Web App的关键是Ajax架构、Javascript和缓存。虽然这样说是基于我的经验——我并没有每一项的贡献的实际数据或者量化的可能节省的性能。但请听我细说~~
Ajax架构——Web 1.0的基于用户每次操作来重新加载页面显然不是正确的选择。让用户拉下页面(移动终端拉下页面来刷新的方法)然后重新请求没有任何改变的资源会是一种很 2B的用户体验。使用Web 2.0的App来维持稳定的UI就会更优雅,而且Ajax允许我们通过轻量的数据API请求和客户端Javascript来实现内容更新,这会显得平滑而 快速。
Javascript——Javascript是网站性能的中流砥柱,但是几年前它更糟糕。还记得吗?过去通常会加载一个脚本,然后阻塞HTML解析和页面中其它资源的下载。脚本一次只下载一个!在2009年,IE8成为第一个支持并行脚本加载的 浏览器。Firefox 3.5、Chrome 2、Safari4也很快跟进了,然后最近Opera 12也才跟上队伍。(在我看来对网站性能来说,并行脚本加载是唯一的、最重要的改进)除了加载脚本以外,Javascript引擎自身的速度也有了显著的 提高。所以我们比几年前强太多了。但是当我深入研究主流网站的性能的时候发现Javascript依然是导致网站比较慢的最常见的因素,特别是减慢渲染。 这主要源于几个原因。比如,Javascript请求已经增加到了约200kb了。浏览器仍然屏蔽Javascript的一些行为,比如,在有些浏览器中一个后面跟有内联脚本的样式会阻塞后面资源的下载。然后直到我们开始广泛支持渐进增强之前,很多网页在等待一个比较大的javascript加载、解析和执行之前还是一个空白页面。
缓存——更好的缓存对第一次访问的用户来说并不会让网站更快。但是在web app的背景下,我们谈论的用户是那些会停留较长时间或者会再次访问的人。在创建web app体验的过程中,与桌面页面和Native app对比,缓存是一个关键的因素。缓存让我感到忧伤。站长们并没有尽可能多的使用缓存。58%的请求没有缓存header,89%缓存期小于一个月尽管其中的38%没有变化。浏览器缓存太小,他们的清除算法需要更新。我们有带有超级简单API的LocalStorage,但是浏览器厂商说它对性能有害。应用缓存(application cache)是一个很稳重的方案,但是它比较难用(请查看Jake Archibald的牛B的分享——不知道为什么,这个国外的视频无法播放,可先查看与之对应的PPT)。
结语:
网站性能优化是前端开发的一个永恒的话题,也是前端工程师的基本技能,steve shoulder的这篇文章很有用,重点是,老外思考和解决问题的方法值得我们学习——那就是用事实和数据说话,而我们通常很少思考“为什么”和“真的是这样吗?”。。。
本文整理自:Keys to a fase web app
中文原文:快速web app之道
请尊重版权,转载请注明来源,多谢~~
相关推荐
它支持基本的控制结构、函数、类和对象,使得开发者能够快速创建Web应用程序。 ### 3. CGI(Common Gateway Interface)支持 CGI是一种标准,用于让Web服务器与外部程序交互,以生成动态内容。AppWeb支持CGI,这...
* Server-side JavaScript web framework:Appweb 服务器支持服务器端 JavaScript 网络框架,提供了快速、灵活的 Web 开发体验。 * In-memory PHP module:Appweb 服务器支持内存中的 PHP 模块,提供了快速、可靠的 ...
相比之下,基于HTML5的Web App能够实现Native App的功能,但是无需考虑不同的系统兼容问题,可以降低开发成本和维护成本。 第三部分:基于HTML5的Web App的优势 基于HTML5的Web App具有跨平台性、开发难度和版本...
“腾讯的风铃,在线制作WEB APP.txt”可能是指腾讯提供的一个在线工具或服务,帮助开发者快速构建Web App。这类工具通常简化了Web App的开发流程,提供模板和预设功能,让非专业开发者也能创建基本的应用。 “按...
理解和掌握AppWeb与ESP的源码,不仅能提升我们对HTTP服务器和嵌入式系统编程的理解,还能帮助我们在实际开发中快速定位并解决各种问题。Hi3559平台的高性能特性和广泛的应用场景,为这两者的集成提供了良好的硬件...
- Appweb的设计目标就是轻便和快速,适合在资源有限的设备上运行,如嵌入式系统和物联网(IoT)设备。 - 它拥有小巧的内存占用和高效的性能,使其能够在各种硬件配置上高效运作。 2. **模块化架构** - Appweb采用...
### 嵌入式服务器-appweb相关知识点 #### 一、Appweb简介 Appweb是一款专为嵌入式系统设计的高性能HTTP Web服务器。它的设计理念着重于安全性与灵活性,能够直接整合进客户的设备与应用程序中,从而实现高效、便捷...
3. **Web App平台框架**:提供了一组工具和API,帮助开发者快速构建功能丰富的移动Web App。 通过整合上述技术和框架,百度的Web App平台旨在简化移动Web App的开发流程,提高应用性能,同时降低维护成本。此外,该...
### appweb嵌入式WebServer服务器学习笔记 #### 一、概述 本文档主要介绍了如何构建一个基于HTML和JavaScript的简单嵌入式WebServer服务器,特别聚焦于使用Appweb框架来实现这一目标。通过本篇笔记,我们将了解...
**appweb 嵌入式Web服务器** **一、appweb简介** appweb是一款轻量级、高效的嵌入式Web服务器,专为嵌入式设备和应用设计。它以其小型化、快速响应以及低资源消耗而著称。appweb的核心设计理念是提供一个可嵌入到...
【Web App Theme】是一款全方位的后台管理模板,其...对于开发者来说,它提供了一个快速搭建和定制Web应用程序的平台,大大提高了工作效率。在使用过程中,理解并掌握这些知识点对于成功部署和维护Web应用至关重要。
HTML5 Web技术因其独特的优势,逐渐成为快速开发APP的首选方案。 1. HTML5 Web技术在APP开发中的优势 - **低成本**:HTML5的跨平台特性使得开发者只需编写一次代码,即可应用于多种操作系统,大大降低了开发成本...
而Web App则注重快速部署和广泛覆盖,适用于信息展示、轻度交互的场景。用户体验方面,Native App通常提供更丰富的交互和更顺畅的操作,而Web App则依赖于网络速度和浏览器的优化。 4. 移动应用发展趋势 随着HTML5...
本压缩包“MAC下Web App to native app的框架.zip”提供的可能是一个开源项目,名为“WebShell-master”,用于实现这样的功能。 WebShell是一个开源框架,它允许开发者将Web应用包装成Mac OS X的本机应用程序。这个...
3. **高性能**:AppWeb 采用多线程和事件驱动模型,能够处理大量并发连接,确保快速响应。 4. **高度可配置和可扩展**:通过配置文件,用户可以定制服务器的行为,同时支持模块化扩展,如 CGI、FastCGI、SSSI 和 ...
特别是在HTML5技术普及后,Web App的功能和体验得到了显著提升,使其成为当前移动应用领域的重要发展方向之一。 #### HTML5方案的优势和价值 HTML5作为一种开放标准,不仅提供了丰富的多媒体功能,还支持离线存储...
2. **快速响应**: 通过优化的HTTP协议处理和高效的内存管理,AppWeb能够快速响应请求,提供高效的服务。 3. **多平台支持**: 支持多种操作系统,包括Linux、FreeRTOS、VxWorks、Windows等,便于跨平台部署。 4. **...
百度Site App是一个为中小网站提供便捷服务的在线平台,它允许用户将现有的PC站点快速转化为适应移动设备的Web App。这一平台的出现,极大地简化了APP站点的创建过程,使得不具备专业开发能力的用户也能轻松拥有自己...
然而,移动Web App也存在一些挑战,如性能可能不如原生App流畅,对离线支持有限,以及无法访问所有设备硬件功能。但随着HTML5技术的不断发展和完善,这些问题正逐渐得到解决。 在实际开发中,移动Web App的设计方案...