CSS开发人员-为什么世界需要它们?

俄语(Yandex.Music) / iTunes 的音频版本在

过去的十年中,CSS通过添加越来越多的功能而呈指数级增长,从而逐渐变得相当复杂和令人困惑。今天的CSS与2001-2010十年的CSS截然不同。

在开始解释为什么世界需要CSS开发人员之前,我们需要回顾一下CSS历史。

黄鸭邮政盖

Disclaimer:
.
 .
 , , .



CSS


在2001年至2010年的十年中,互联网征服了世界,CSS停滞不前。Internet Explorer 6-7-8是领先的浏览器。微软当时对CSS规范并不十分关注,对添加新功能也没有表现出任何兴趣。这些年来,CSS一直保持版本2.1。

自2007年以来,现代浏览器Firefox和Chrome开始出现。即使在这个时候,我们仍然必须支持Internet Explorer。这阻碍了我们的发展。IE作为当时的主要浏览器,安装了几乎不存在的,接近零的CSS开发速度。那是互联网的“黑暗时代”。

黑暗时代CSS插图

CSS新时代的基本事件


我当时是一名开发人员,因此看到了两个重要事件,这些事件改变了CSS和整个Web的世界:

  1. 智能手机时代的开始(2007年6月29日) -这一切都始于首款iPhone的发布。此版本需要支持适合于Web设备新类别的新CSS功能。
  2. Chrome浏览器版本(2008年9月2日) -Chrome是一种新的浏览器,最初是作为桌面应用程序启动的。在此之前,Internet Explorer是Internet的主要统治者,并决定了Internet的发展。

Chrome浏览器和史蒂夫·乔布斯(Steve Jobs)与iPhone在2007年会议上的拼贴画

为什么前端开发人员同时处理CSS和JavaScript


那时,前端开发人员应该管理客户端的所有功能的想法非常普遍。然后只有一些CSS规则。CSS现在已经扩展,这种愿景已不再相关。

CSS 3,HTML 5和JavaScript:新时代


由于CSS 3自1999年开发以来,很难确切说出CSS 3何时诞生。Internet上的真正支持始于2011年。Chrome和Firefox当时正在增加其市场份额。智能手机已经变得非常流行。有了自己的浏览器,他们都开始支持第一个CSS 3新功能,

这些更改降低了Internet Explorer的普及程度。当时,它仍然是一个重要的浏览器,但是,Microsoft意识到它应该开始关注规范和CSS开发。他们发布了Internet Explorer 9。

新的CSS


CSS 3现在已有10年历史了,为什么不使用CSS 4?与CSS 2.1不同,CSS 3是开放标准。因此,它会不断更新。无需将新版本命名为“ CSS 4”,因为CSS 3是一个持续发展的版本,一直以来都是该版本。
图片

自2011年以来,每次浏览器更新都包含新的CSS功能。在过去的几年中,大多数浏览器-Chrome,Firefox,Opera和Edge-几乎每个月都会更新一次(Safari每年主要更新一次)。这种频率意味着我们几乎在新CSS功能出现时就获得它们。

过去十年CSS的新变化


在过去的十年中,针对不同类型
的CSS模块出现了许多新规范,例如:

  1. Layout — , Flexbox, CSS-, , writing mode ;
  2. Typography — , font-variant, line-breaking;
  3. Shapes & Graphics — , , blend-mode, clip-path, shapes ..
  4. Animations & Transforms — CSS/SVG , transitions, transforms, will-change.
  5. Units — viewport vw/vh/vmin/vmax, rem, calc(), contain, fit-content, min-content, max-content;
  6. CSS preprocessor — sass, less, stylus, postCSS
  7. — SVG, @support, CSS .

您可能会注意到,许多新功能由前端开发人员负责。这意味着他必须获得所有这些方面的经验。但这还不是完整列表。

在现实生活中,Web开发人员几乎不可能对所有这些新功能都有基本的了解。另外,JavaScript是并行开发的。并且他开发了,甚至比CSS还要强大。这使一个人难以跟上所有发展。

网络行业的重大错误


在这种情况下,前端开发人员无法应对CSS的新复杂性,因此创建了一个名为“如何不学习CSS”的新运动。
一项名为“不学习CSS”的新运动

第一个CSS框架


此错误始于诸如Bootstrap和Foundation之类的框架。它们中的每一个的第一次发布都在2011年。这个特定的日期并非偶然-这是CSS3,响应式设计,移动网站和跨浏览器排版的头几年。

我从未尝试过深入介绍Bootstrap,因为我从未喜欢过它的非语义CSS命名约定。通过帮助社区中的其他Web开发人员,我很快意识到,Bootstrap仅适合按原样使用的情况,而无需尝试自行定制。

Bootstrap标记屏幕截图
Bootstrap HTML-大多数类都是非语义的。

Angular 2:第一个符合JavaScript的框架


新的Angular是第一个引入封装样式的公司。这是一种使经验不足的Web开发人员摆脱了解CSS级联的需要的一种方法。使用此方法,您可以创建全局样式,但每个组件仍具有局部样式。

在我看来,在所有各种开发思想中,封装样式的想法是好的,因为您仍然可以为组件创建全局样式和封装样式。另外,对于CSS / SASS,HTML和JavaScript,我们仍然需要分开关注。我们可以享受一种简单的方法,仅下载必要的样式。

Angular项目中文件结构的屏幕截图

反应-语义的消亡!


React进一步发展了这个想法,并在JavaSscript中编写了所有HTML和CSS。创建可重用样式的目标死于React。它会自动生成CSS类名;因此,由于CSS类名和非语义HTML,代码变得不可读且无法理解。从我的角度来看,这与CSS和HTML在互联网开始时的编写方式相似,而CSS和HTML在工作时的外观无关紧要。

反应代码标记屏幕截图
React-无法读取的CSS类名

为什么这么糟糕?当您遇到真正的CSS问题,而常规的前端开发人员无法解决它,而需要经验丰富的CSS开发人员时,令人困惑的React代码就会成为您的麻烦。是的,两个Web开发人员都可以一起解决问题,但这需要两位经验丰富的Web开发人员花费时间。

醒来!


前端开发人员不要拖入CSS!有人必须大声说出来!是的,我知道这是一个粗略的概括,因此不是100%正确,但是我并不是想做到100%正确。
在继续之前,您应该对我有所了解。

公鸡在冉冉升起的太阳的背景下,照片
醒来-前端开发人员不会拖入CSS!

我是谁


我于2007年初开始担任前端开发人员。
在2012年初,我几乎完全停止了JavaScript的编写,主要原因是我非常喜欢CSS,而JavaScript却很少。

从2012年到现在,由于我只专注于CSS,因此在该领域已获得优势。这些年来,我写了许多关于CSS的文章,建立了一个有5,000名成员的本地CSS社区,并且在会议,研讨会和会议上进行无数的交谈

我在会议上用麦克风拍照
我在波兰华沙的ConFrontJS 2019上发言,

为什么我要告诉你这一切?因为在我的国家和网络行业中我仍然是独角兽。是的,我非常感谢,但是有一个很大的感谢!尽管这对我来说是有效的,因为我在我的国家的网络行业中广为人知,但是由于网络行业仍在努力保持“ Frontend开发人员的旧名”(这意味着尝试编写一流的JavaScript和CSS),其他人很难像以前一样

在我的国家,我认识最好的Frontend开发人员。因为我有兴趣了解Web行业,所以我总是问这些顶尖的前端人才是否认为自己擅长CSS。他们的回答继续让我感到惊讶-他们中的大多数人对CSS感到不安全,他们总是对喜欢我的喜欢CSS的开发人员感到惊讶。

网络行业需要改变


尽管这一直持续到2010年,但到2020年仍无法继续。网络行业已经发生了变化,现在是时候成熟并放弃网络行业中的早期职位,而转向一个新的定位了。
定位将满足我们时代的需求。起初是大公司。然后给其他人。

Figures 2020漂亮的字体,插图

公司的利益是什么?


在2020年,CSS是一项重要技能。当公司试图省钱时,他们可能最终会花更多的钱。在作为Web开发人员的多年工作中,我看到开发人员如何花太多时间在专业CSS开发人员可以在10分钟内解决的问题上,并使用了更高效的代码。
在2020年,CSS是一项重要技能。

什么是新职位?


在过去的八年中,我多次换过职位。我这样做是为了向看到我的LinkedIn个人资料的人解释我的能力

最初,我称自己为CSS Master(以我创建的社区的名称-CSS Masters Israel命名)。宣布这样的标题后不久,很有趣。我意识到有些公司需要CSS开发人员,但不知道如何恰当地命名它。

一份工作申请表的照片,毫无意义的图片

后来,我多次更改了帖子的名称(UI / CSS-开发人员/界面开发人员/工程师/架构师/专家),试图将自己的能力适合到作品的名称中。

不只是CSS开发人员


如今,我们有几种类型的开发人员专门研究可视化部分,例如CSS和SVG。我将在这里尝试定义这些类型

CSS Developer-此名称适用于CSS中级专业人员。这些开发人员可以接受设计并将其轻松转换为CSS。

CSS架构师-此类别适用于像我这样的开发人员,他们除了有效地构建CSS外,还是计划CSS分离并将其构建为复杂建筑结构的专家。与CSS开发人员不同,CSS架构师经验更丰富,并且知道如何智能地扩展大型项目,而其他CSS开发人员则在其团队中工作。此外,他们还与其他Web开发人员,项目经理和Web设计人员进行沟通。

许多不同的黄色橡皮鸭展示各种职业,插图
品种很棒!

CSS动画开发人员 -如今,我们可以使用CSS动画或SVG动画轻松地改善用户体验,从而将一个好的项目变成一个梦幻般的项目。这项工作可能适合大公司。

这些是2020年最常见的需求,但是还有其他类型的专业开发人员,例如:


可能还有更多-可能性无穷无尽!

最后


在本文中,我试图提高人们对我认为尚未涵盖的主题的认识。我的目标是使网络行业步入正轨。

除了我的文章之外,还有从其他角度介绍该主题的文章:


到底


如果您喜欢这篇文章,那么如果您与其他人分享,我将不胜感激,这样的想法可以提高网络行业的知名度。

我是谁?


我的名字叫Elad Shechter,我是一位专门研究CSS和HTML体系结构的Web开发人员。我为investing.com工作

我的推特网站

我在放映机的背景下,谈论项目,摄影

All Articles