• 为什么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的新特性仍然使用的人较少的原因。

  • 相关阅读:
    JS BOM对象 History对象 Location对象
    JS 字符串对象 数组对象 函数对象 函数作用域
    JS 引入方式 基本数据类型 运算符 控制语句 循环 异常
    Pycharm Html CSS JS 快捷方式创建元素
    CSS 内外边距 float positio属性
    CSS 颜色 字体 背景 文本 边框 列表 display属性
    【Android】RxJava的使用(三)转换——map、flatMap
    【Android】RxJava的使用(二)Action
    【Android】RxJava的使用(一)基本用法
    【Android】Retrofit 2.0 的使用
  • 原文地址:https://www.cnblogs.com/powertoolsteam/p/13156113.html
Copyright © 2020-2023  润新知