V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GrapeCityChina
V2EX  ›  推广

分析:为什么 Web 开发人员在 2020 年不用最新的 CSS 功能

  •  
  •   GrapeCityChina · 2020-06-19 10:16:48 +08:00 · 2121 次点击
    这是一个创建于 1397 天前的主题,其中的信息可能已经有所发展或是发生改变。

    尽管 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 的新特性仍然使用的人较少的原因。

    3 条回复    2020-10-26 15:20:39 +08:00
    huai
        1
    huai  
       2020-06-19 10:44:19 +08:00 via iPhone
    说的蛮中肯。

    新的属性会有兼容问题。大多数都因为浏览器的支持度,而没办法背绕过。

    生产环境我认为要基于实际情况尽量保持稳定
    Originalee
        2
    Originalee  
       2020-06-19 10:59:16 +08:00
    啥时候不用考虑兼容性了。。。啥时候。。。
    mostkia
        3
    mostkia  
       2020-10-26 15:20:39 +08:00
    反正我很少用 flex 之类布局,旧有的布局方案已经能满足各种日常需求,而且兼容性也能有保证,新的方案还需要时间去积累,就像 html5 刚刚推出的时候,好看不好吃。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5277 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:40 · PVG 17:40 · LAX 02:40 · JFK 05:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.