为什么Web开发人员在2020年不用最新的CSS功能
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
原文出处:https://dzone.com/articles/why-masses-are-not-using-latest-css-features-in-20
尽管CSS每年都会发布全新的特性,但实际上这些新功能很少会被web开发人员实际在生产项目中使用到,甚至去了解它们的动力也不会比去多完成几个需求更多。那究竟是什么原因导致的呢?
1.使用最新特性不是优先事项
在一个新项目的初期阶段,它用到的可能只是几条CSS规则,但随着项目的持续更新和迭代,项目中使用到的规则就会变得越来越复杂,CSS也会越来越复杂尺寸也会随之不断膨胀。因此,作为项目优化的第一要务,作为资源的CSS需要尽可能的精简和减少复杂度,第一是为了便于更好地理解和维护,第二也是为了加载更为高效。那么,更实用且可投入生产环境的一些CSS特性会被高频使用,其他的特性则会被暂时搁置一旁。
并且,在一般情况下,样式和品牌在一段时间内都会相对固定,完成任务的需求要比使用最新CSS的特性要更紧迫。
(图片来源于网络)
2.预算限制
预算成本是影响了所有项目的主要因素。它在开发阶段会高度影响事项的优先级。集成新的CSS功能需要时间,而开发团队来说,增加的这部分时间成本会影响到项目的整体进度。因此,开发进度会重视在优化其他功能(而不是CSS功能)时花费的时间成本。
另外,引入了最新的CSS特性,还可能会使开发团队把一部分精力放在解决浏览器兼容性问题上。这点和JavaScript不同,JavaScript有Babel来完成编译,而CSS没有提供类似功能。
(图片来源于网络)
3.社区发展还未跟上
JavaScript每隔一段时间举行一次会议。同样,Vue和React也会为了帮助开发人员跟上社区的步伐而定期举行会议。但是,对于CSS而言,它们根本没有这样的活动!因此,开发人员很难掌握其功能和路线图。他们应该如何保持对新功能发展趋势的了解? 没有版本发布说明,也没有定期的发布会,这根本不能点燃社区用户的学习激情。
对普通用户而言,既然旧的技术已经满足了需求,那么又何必那么麻烦阅读文档学习新的功能呢?
和框架和其他编程语言不同,CSS没有针对安全问题的补丁程序。他只是一套标准,反正大多数客户只需要关心网站看起来UI差不多就行了。
4.很难提升简历的含金量
即使你在掌握CSS方面付出了很多的努力,对CSS的新特性也了如指掌,但你也很难向你的客户或老板证明这一点,因为类似像这样“熟练掌握CSS3以外的CSS特性”对他人而讲是没有意义的,因为它不是CSS3。在CSS开发领域,CSS3的出现是很有意义的,因为它完成了前端领域的统一:
- Web开发人员提升了技能
- 加速浏览器厂商统一支持了全新的CSS标准
- 企业的技术栈更新
巨大的需求带来了巨大的机会。除了大量的书籍、课程和视频来帮助人们了解CSS3外,还催生了全新的布局模型,如Flexbox和Grid,尽管它们不是CSS3的一部分。
但这里我们指的是CSS3外的特性,它们本身除了认可程度很低外,对开发团队来讲也是个相对不熟悉的东西,因此,开发团队很难会把时间花在对市场没有意义的事情上,客户也不会关心你到底用不用新的技术。
5.缺乏时间
编写CSS的主要目的是使你的网站的表现内容的形式更美观及易于理解。CSS通过控制两类事物来帮助开发人员去实现这个目标:布局和设计。布局(Layout)负责元素列和行排布,而设计(design)指颜色、字体、间距、动画和边框等基础外观。
但目前,旧的特性已经能处理的很好了,为什么要花更多时间去使用新特性去替代已经很好的形式呢?
总结
CSS发布周期没有固定的周期和计划,导致一切都来的很突然 ,另外旧的CSS特性已经能很好的完成日常工作了,这让很多Web开发人员没有特别的动力去升级它们。
另外,新的特性知名度也不高,对最终用户的吸引力也不足,很难从需求层面驱动使用。所以这就是为什么都2020年了,CSS的新特性仍然使用的人较少的原因。
为什么Web开发人员在2020年不用最新的CSS功能的更多相关文章
- Web开发人员必读的12个网站
The more you actually create, the more you’ll learn.(创造的越多,学习的越多),世界上有无数个开发人员会在网上分享他们的开发经验,我们无法向所有人学 ...
- 成为一个高效的web开发人员,只需要三步
想成为一名专业的web开发人员并不像你想象的那么容易,开发人员在开发自己的web项目时常常需要牢记很多东西,他们要不断寻找新理念,新创意,在特定时间内开发出高质量的产品,一名优秀的程序员必须明白时间的 ...
- 【特别推荐】Web 开发人员必备的经典 HTML5 教程
对于我来说,Web 前端开发是最酷的职业之一,因为你可以用新的技术发挥,创造出一些惊人的东西.唯一的问题是,你需要跟上这个领域的发展脚步,因此,你必须不断的学习,不断的前进.本文将分享能够帮助您快速掌 ...
- 值得 Web 开发人员学习的20个 jQuery 实例教程
这篇文章挑选了20个优秀的 jQuery 实例教程,这些 jQuery 教程将帮助你把你的网站提升到一个更高的水平.其中,既有网站中常用功能的的解决方案,也有极具吸引力的亮点功能的实现方法,相信通过对 ...
- Web 开发人员不能错过的 jQuery 教程和案例
jQuery 把惊喜延续到设计领域,处处带来极大的灵活性,创造了许多体验良好的设计,而且拥有不错的性能.这里分享一组 Web 开发人员不能错过的 jQuery 教程和案例,帮助你更好的掌握 jQuer ...
- Web 开发人员必备的12款 Chrome 扩展程序
之前已经分享过一些帮助 Web 开发人员和设计师的 Chrome 扩展,这次我们继续展示一组很有用的 Chrome 应用程序.这些免费的 Chrome 应用程序可以简化您的工作流程,为了加快您的工作流 ...
- 值得 Web 开发人员收藏的20个 HTML5 实例教程
当开始学习如何创建 Web 应用程序或网站的时候,最流行的建议之一就是阅读教程,并付诸实践.也有大量的 Web 开发的书,但光有理论没有实际行动是无用的.现在由于网络的发展,我们有很多的工具可以用于创 ...
- 值得 Web 开发人员收藏的16款 HTML5 工具
HTML5 正在迅速改变创建和管理网站的方式.HTML5 在不同的领域让网页设计更强大的.快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5 开发各种网站和应用程序. ...
- SlimerJS – Web开发人员可编写 JS 控制的浏览器
SlimerJS 是一个提供给 Web 开发人员,可通过脚本编程控制的浏览器.它可以让你使用 Javascript 脚本操纵一个网页:打开一个网页,点击链接,修改的内容等,这对于做功能测试,页面自动机 ...
随机推荐
- 使用Buildpacks高效构建Docker镜像
1. 前言 Spring Boot 2.3.0.RELEASE 正式发布了几天了,其中有个新的特性:可以将Spring Boot应用代码直接打包为Docker镜像.这是什么科技?我赶紧去官网查了一番才 ...
- Unity设置应用后台运行
- 通过adb调试Unity开发的安卓应用
命令: 1. adb logcat -s Unity 2. adb | grep Unity
- [CSharp]传一个包含多个属性的对象,只改变其中个别属性值的方法
需求 假如有这么一个需求,一个对象Person内的属性设置外包给了另外一个类Options, 而要设这个Person对象的属性,就必须传一个Options实例, 但又不能每个属性重新设一遍,只设要修改 ...
- angularjs 指令传参规则
angularjs 指令传参规则 xx-,data- 驼峰
- Rocket - debug - TLDebugModuleInner - Drive Custom Access
https://mp.weixin.qq.com/s/1bIqzDYXM36MIfSsjvvYIw 简单介绍TLDebugModuleInner中的针对Custom的访问. 1. customNode ...
- jchdl - RTL实例 - And2And(结构体嵌套的使用)
https://mp.weixin.qq.com/s/PQIPkDymvcGc_re8ux50vA 结构体可以嵌套使用. 参考链接 https://github.com/wjcdx/jchdl ...
- JVM虚拟机 与 GC 垃圾回收
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.JVM体系结构概述 1.JVM 与系统.硬件 JVM是运行在操作系统之上的,它与硬件没有直接的交 ...
- Java实现 LeetCode 735 行星碰撞(栈)
735. 行星碰撞 给定一个整数数组 asteroids,表示在同一行的行星. 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动).每一颗行星以相 ...
- Java实现 蓝桥杯VIP 算法训练 数组查找及替换问题
描述 给定某整数数组和某一整数b.要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序.如果数组元素数值在A到Z的ASCII之间,替换为对应字母.元素个数不超过100,b在1至100 ...