《Web前端开发最佳实践》——1.2 Web前端开发现状

简介:

本节书摘来自华章计算机《Web前端开发最佳实践》一书中的第1章,第1.2节,作者:党 建 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 Web前端开发现状

前端开发虽然起步时间晚,但是发展势头迅猛,在各种新技术、新标准的推动下,各大互联网公司也开始重视Web产品的前端重构与开发,如淘宝、腾讯、新浪、百度、搜狐等都对自己的网站进行了重构并同时使用了HTML5中的新特性。现在开发的Web新产品的页面交互也越来越丰富,视觉效果也越来越绚丽。互联网公司除了重视前端开发之外,还在积极推动互联网技术的发展,2001~2012年,腾讯、百度及奇虎360公司先后加入了万维网联盟(W3C),共同参与互联网技术标准的研究和制定,促进了国内互联网产业的发展。
在Web前端发展的过程中,浏览器的发展起着至关重要的作用。浏览器厂商在这场Web浪潮中表现突出,具体表现在浏览器的版本升级周期短、对前端标准的支持也越来越好、浏览器的性能也有大幅的提升等。IE浏览器也开始发力,最新发布的IE 10浏览器无论是标准的支持还是性能都表现突出。浏览器的快速发展使得低端的浏览器如IE 6、IE 7等快速退出市场。
下面看一下全球范围内浏览器的占有率情况。根据StatCounter的统计,2012年10月份,全球浏览器占有率前5位的分别是Chrome、IE、Firefox、Safari及Opera,占有率分别为34.77%、32.08%、22.32%、7.81%和1.63%。按照浏览器的版本统计,在低端浏览器中,IE 8占有率为12%,IE 7的占有率仅为0.88%,IE 6的占有率则更低。
此外,移动设备上的浏览器在整个浏览器占有率中上升速度很快。根据StatCounter的统计,Safari iPad在浏览器的占有率已经达到了2.76%。目前移动设备的普及率极高,用户已经逐渐习惯于通过移动设备来浏览网页。主流的移动平台主要为Android和iOS系统,对应的浏览器都是以WebKit为核心的,性能和对标准的支持都不错。
以上介绍的是浏览器在全球范围内的占有率情况。从上面的统计可以看出,在全球范围内,低端浏览器的占有率已经很低了,但国内浏览器占有率的状况则比较复杂,低端浏览器如IE 8、IE 7和IE 6等还占有不小的份额。根据StatCounter的统计,2012年10月份,国内浏览器占有率前5位分别为IE 8、
IE 9、IE 6、搜狗浏览器和360安全浏览器,占有率分别为48.7%、14.09%、8.29%、5.74%和2.72%。其中低端浏览器IE 8、IE 7和IE 6的总占有率大约为58%,低端浏览器依然占有“半壁江山”,而高级浏览器如Chrome、Safari、Firefox等占有率则很低。值得称道的是,360安全浏览器和搜狗浏览器这两款浏览器都是基于开源的浏览器内核,对标准支持较好,性能表现突出。这两款浏览器的占有率目前虽然不高,但发展势头迅猛,是推动老旧浏览器退出市场的中坚力量。
除各大互联网公司和浏览器厂商的积极推动外,Web前端开源社区的参与热情也极为高涨。在著名的网络代码托管系统GitHub上,开源的项目仍然是以前端相关项目居多,按语言排名,前3位分别为JavaScript、Ruby和Python;按项目排名,靠前的大部分也是前端项目,如Prototype、Bootstrap、jQuery及相关插件等,具体内容可参考GitHub官方网站。国内的一些前端社区则发展较为缓慢,多是以推广HTML5为主,靠一些酷炫的效果来吸引眼球,反而关注前端基础的较少。国内Web互联网公司(如淘宝、百度、腾讯等)也有部分优秀的开源前端框架,这些公司的前端技术分享氛围不错。整体来讲,国内前端技术发展还是比较迅速的,也不乏顶级的前端技术人员,但普遍缺乏的是开放的心态和与国内外同行交流的能力,国内前端技术的发展任重道远。
Web前端整体技术的发展和前端工程师个人的能力是相辅相成的。目前,前端工程师很多是“半道出家”,一部分是从页面UI开发转行为Web前端开发的,一部分则是由后端工程师转行而来,所以前端工程师普遍自学成才,并没有受过足够的专业训练,也缺乏实际的项目经验。
除了以上这些Web前端开发的外在环境之外,Web前端在技术方面也存在着大量的挑战,大量旧的网站需要重构来提高网站用户体验和性能等。这些网站的前端代码普遍存在的问题有:代码组织混乱,CSS代码和JavaScript代码混合在HTML代码中;代码的格式问题突出,不够整洁;页面布局随意,HTML代码不符合标准;网站整体性能差,还没有意识到要去应用诸如缓存、动态加载、脚本压缩、图片压缩等提高性能的技术。
此种状况并非是个案,查看目前访问量颇高的某网站的首页源代码,可以很直观地看出其中不规范的内容:页面没有body的闭合标签,页面代码缩进随意,页面中大量使用内联样式并且页面中还在使用诸如< marquee >、< font >等标准不推荐的标签。以下是其中的代码片段:



在这段代码中,和标签已经不再被W3C制定的标准推荐使用,所呈现的效果完全可以通过JavaScript代码实现,并且实现的效果可以更好。标签完全可以通过CSS样式代码实现。
此外,此站点首页HTML代码中包含大量不必要的标签和多余的样式设置,代码的可读性较差。再来看一段代码:

<!—第一段代码片段 -->
<div id="slideshow">
  <div class="current"><img src="./images/pic011.gif" width="189" height="176" />
</div>
  <div><img src="./images/pic012.gif" width="188" height="176" /></div>
  <div><img src="./images/pic013.gif" width="188" height="176" /></div>
</div>
<!—第二段代码片段 -->
<div><br/>
    <a href="./gljd/gywm/">关于我们</a>  | 网站
声明
    <br />

     </div>

在上面的代码段中,第一段代码中的标签外的

标签是可以省略的,标签内的width和height属性可以统一通过CSS代码设置,标签内需要添加必要的alt属性来说明图片的信息。在第二段代码中,依靠
标签来增大距离是不合语义的做法,应该通过CSS样式来设置。因此,```javascript
以上两段HTML代码至少可以简化为:
<!—第一段代码片段 -->


img info
img info
img info

<!—第二段代码片段 -->


关于我们 | 网站声明

```

另外,站点中的CSS样式文件和JavaScript脚本文件,没有任何文件被压缩和合并。推荐的做法是分别压缩合并样式文件和脚本文件,在缩小文件大小的同时也减少了文件的HTTP请求次数,提高了性能。
综合以上的这些信息,Web前端开发的现状可以概括为:前端技术发展迅速,但起步较晚,基础薄弱;前端工程师热情高涨,但缺乏足够技能培训,对代码规范重视不足,对一些基础原理的理解不够深刻。

相关文章
|
5天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
29 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
8天前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
26 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
1月前
|
Web App开发 编解码 vr&ar
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
使用Web浏览器访问UE应用的最佳实践
|
3月前
|
监控 前端开发 JavaScript
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
59 6
|
3月前
|
监控 前端开发 JavaScript
前端工程化和传统前端开发的区别是什么?
前端工程化相比传统前端开发,在开发模式、代码组织与管理、构建与部署流程、团队协作、性能优化以及技术选型等方面都有了显著的改进和提升,能够更好地应对现代前端应用开发的复杂性和高要求。
|
3月前
|
前端开发 JavaScript 开发者
前端小白逆袭记:从零开始,如何快速掌握前端开发精髓?
本文从一个前端小白的视角,分享了快速掌握前端开发核心技能的逆袭之路。通过学习HTML、CSS和JavaScript,逐步接触前端框架如Bootstrap、Vue.js和React,克服挑战,最终实现从入门到精通的蜕变。
47 4
|
3月前
|
测试技术 持续交付 PHP
PHP在Web开发中的应用与最佳实践###
【10月更文挑战第25天】 本文将深入探讨PHP在现代Web开发中的应用及其优势,并分享一些最佳实践来帮助开发者更有效地使用PHP。无论是初学者还是有经验的开发者,都能从中受益。 ###
94 1
|
4月前
|
人工智能 前端开发
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
113 0
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
|
4月前
|
存储 前端开发 JavaScript
从 Web 2.0 到 Web 3.0:前端开发的历史与未来
【10月更文挑战第4天】本文探讨了从 Web 2.0 到 Web 3.0 的前端开发演变过程。Web 2.0 时代,前端开发者从静态网页设计走向复杂交互,技术框架如 jQuery、React 和 Vue 带来了巨大的变革。而 Web 3.0 以区块链技术为核心,带来了去中心化的互联网体验,前端开发者面临与区块链交互、去中心化身份验证、分布式存储等新挑战。文章总结了 Web 2.0 和 Web 3.0 的核心区别,并为开发者提供了如何应对新技术的建议,帮助他们在新时代中掌握技能、设计更安全的用户体验。
119 0
从 Web 2.0 到 Web 3.0:前端开发的历史与未来
|
2月前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南

热门文章

最新文章

  • 1
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
    29
  • 2
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    51
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 4
    巧用通义灵码,提升前端研发效率
    93
  • 5
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    141
  • 6
    详解智能编码在前端研发的创新应用
    96
  • 7
    智能编码在前端研发的创新应用
    83
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    37
  • 9
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    121
  • 10
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    75