2024年了,精通 HTML 有什么用?我想很多人都听过诸如“HTML 两三天就能学会”的言论吧。你们千万不要当真,也不要将其作为自己的言论输出,会被人笑掉大牙的。
HTML并不简单
请问 HTML、JavaScript、PHP 和 Java 中,哪一个更容易学习?
我想几乎所有的技术人员都会选择 HTML。
如果我再问一个问题,请问 HTML、JavaScript、PHP 和 Java 中,哪一个精通的人多?
答案一定不是 HTML。
也就是说,在整个业界,精通 HTML 的人一定是屈指可数的,不用反驳,肯定屈指可数。
这就非常有趣,明明 HTML 最易学习,为何精通的人反而最少?
门槛低不等于简单
上手 HTML 的门槛极低,低到你可以认为它没有门槛。
首先,它运行简单。任意的文本文件修改后缀名为.html 就能运行,而对于 PHP和 Java 这类后端语言,光安装运行环境就需要折腾很久。
其次,它语法简单。HTML 是一种标记语言,用方括号<>套几个字母,里面写上内容就可以了,用户就算没有任何计算机编程基础也能轻松书写。
最后,它规则简单。例如,理论上,仅仅使用<div>这一种标签就可以开发出几乎所有的 Web 应用。
毫不夸张地说,对于 HTML 这门语言,小学生也可以一天速成。
但所有这一切只表明入门 HTML 简单,并没有表明精通 HTML 简单。
这就好比做菜,会煮白米饭、会煮汤、会炒菜就能应对日常饮食,但要说精通到职业大厨的水准,显然就不简单了。
HTML 也如此,这门语言的知识体系非常庞杂,涉及 Web 交互开发、SEO(搜索引擎优化)、安全、无障碍访问等各个领域,并不仅仅是单纯的标签结构。
大家之所以对 HTML 有错误认知,一是因为不关心,二是因为认为它可替代,三是因为它缺少好的科普著作。
得心应手带来的双刃剑
上手一门技术的门槛低有利于这门技术的普及与长盛,但对于个体而言,容易造成认知偏差,产生自满心理,也就是很多人熟知的邓宁-克鲁格心理效应。
我们日常开发常用的 HTML 知识仅仅占据了整个 HTML 体系很小的一部分,且我们普遍关心所见的上层部分,这也导致平时的技术应用过于狭隘。
大多数开发人员只会关心一个普通的链接元素的跳转地址,并不在意是否会影响 SEO,是否需要告知来源信息,是否向目标页面开放窗口对象等行为,或者说压根就不知道还有这些东西。
因为这部分内容不可见,测试不会反馈,所以他们无法感知,自然就不知道,最后还沾沾自喜,以为掌握了全部知识。
依赖路径并非最优解
Web 前端开发不同于后端开发,有时候,对于同一个前端功能,HTML、CSS和 JavaScript 这三门语言都能够实现,但在后端开发中,语言是唯一的,最优解与否的区别往往在于算法而非语言本身。
例如,简单的点击、展开、收起这样的互动效果,通常都是通过 JavaScript 实现的,但实际上,CSS 和 HTML 都能实现类似的效果,并且在很多场景下,单纯使用HTML 实现才是最优解。
但是,由于存在路径依赖,即之前我都是通过 JavaScript 实现的,且一直运行良好,那么当遇到类似需求时,我肯定还会使用 JavaScript 实现,因此就很难有意识或者动力去走出当前的舒适圈,质疑现有的方法,寻求更优的实现。
社区环境与学习资源
框架与工具的普及降低了开发门槛,提升了开发效率,因为前端开发不需要关心技术细节,也能开发出满足需求的产品。因此,广大开发人员就没有深入学习语言细节知识的动力。
同时,Vue、React 等语言的流行让 HTML 变成了纯粹支撑数据结构的骨架,HTML 本身的特性与能力变得不再重要,例如数据的验证不是使用 HTML 现有的能力,而是直接使用 JavaScript 对数据本身进行验证。
这也使得业界对 HTML 的讨论日渐稀少,因为 HTML 的功能体系本质上还是行为驱动的,面向 DOM 而不是面向数据,有别于目前流行的开发体系。
当然,还有一个最重要的原因,那就是业界缺乏系统且深入 HTML 领域的学习资料,很多人对 HTML 的理解还停留在 10 年前。其实 HTML 一直在发展,其更新迭代不比 JavaScript 慢,一个简单的 HTML 属性背后往往就是一个庞大的 Web 知识体系。
这其实是一个恶性循环,由于缺少相关知识的科普和传播,很多优秀的 HTML特性无人知晓,无人知晓就无人使用,无人使用就不会有实践经验分享,也就不会有社区讨论,从而进一步导致这些优秀的特性无人问津。
所以,我才想到写一本专门讲解 HTML 的书,可以说,本书是市面上唯一深入HTML 领域的书,希望可以借此提升整个行业的 Web 开发水平。
《HTML并不简单:Web前端开发精进秘籍》(张鑫旭)【摘要 书评 试读】- 京东图书
精通HTML有什么用
这是一个很有意思的问题,为什么说有意思呢?
如果我们把精通的对象换一下:精通 JavaScript 有什么用?这个问题就显得有些愚蠢,但换成 HTML,似乎就合情合理了。
因为在 Web 前端开发体系中,JavaScript 是最具主导性的语言,也是门槛最高、区分度最明显的一门开发语言。
精通 JavaScript 就意味着你是前端开发高手,就业选择面广、薪资高,好处不言而喻。
而精通 HTML 明显就要多思考一会儿。这有两方面的原因:
-
HTML 是 Web 前端三剑客中地位最低的,你如果精通 HTML 但不擅长JavaScript,则在行业中寸步难行,反之则没有任何问题。
-
业界缺少精通 HTML 的人,所以很多人并不知道精通 HTML 有什么好处。
Web 前端开发有别于 Node.js 开发、客户端开发或者其他任意的开发模式,它是多语言交叉作用的开发模式,其绝大多数功能都需要 HTML、CSS 和 JavaScript 通力合作才能完成。
你中有我,我中有你,而不是简单地区分你我他,彼此是合作关系,而不是竞争关系。
而 HTML 是与整个 Web 知识体系结合最紧密的一门语言,综合性最强,对其了解得越多,对 Web 的理解也会越深刻,会助你成为真正的 Web 开发高手,而不仅仅是 JavaScript 语言高手。
精通 HTML 必然意味着你掌握了更多的技术选型,在面对复杂场景的时候往往能应用出最佳实践,事半功倍;在遇到罕见场景的时候还可以另辟蹊径,妙笔生花。
所谓的开发高手,不就是“有他人不能有之效率,解他人不能解之难题”吗?
Web 前端开发还有一个特点,就是既需要逻辑思维,也需要细节创意,前者决定合格的下限,后者决定品质的上限。
精通 HTML 有助于你在看不见的地方提升产品的品质,获得额外的商业收益,自然在职业发展中的机会也就更多。
有人会说,我们公司对用户体验、交互细节不在意,只需要功能正常就好了,没有必要学习。
这种想法很多同行都有,这显然搞错了主次,局限了视野。
我多次说过,在社会这个“大染缸”里,一定要有行业视角,要站在整个行业看待自己,而不是将视野局限在自己所在的团队或公司。
我们都希望以后有美好的未来,都追求高薪的岗位,而那些福利良好、薪资有竞争力的公司往往都对产品品质有较高要求,因为它们的产品用户基数大,使用场景更为广泛,更加注重口碑。
也就是说,学习 HTML 知识不是为了当下,不是着眼于当前的“一亩三分地”,而是为了未来,让自己有机会去更好、更大的舞台成就更好的自己。
所以说,千万不要搞错顺序,认为自己先去一个优秀的团队,当这个团队需要关注细节时,自己再去学习。这个世界不是这么运转的,你要先证明自己能够创造价值,才有施展的机会,商业公司毕竟不是培训机构。
当然,花大量时间去学习对自己未来职业发展帮助程度未知的知识也是颇具风险的,所以,为了降低风险,节约成本,我们需要高效学习,这也是本书的意义所在,集个人十几年研究心得与实践经验于一书,去粗取精,有的放矢,可以让大家在很短的时间学到大量深入且实用的 HTML 知识,助力大家的职业发展,让大家有机会去更好的公司、更好的团队,获得更高的收入。
限时五折优惠,快快抢购吧!
如果喜欢本文
欢迎 在看丨留言丨分享至朋友圈 三连