作为一个前端工程师,那不仅仅就是公开地处理那些漂亮的html5, css3 和javascript特效。小而重要的一部分工作就是要让项目朝着代码稳定和代码标准方向进展。设计、信息结构以及后台限制都会成为我们设计出精致、简洁和无懈可击前端代码的绊脚石。下面将给大家提供3个有用的技巧,不过你要巧妙的运用,因为每个技巧都是有使用范围的。
实际上,对于前端工程师来说,影响项目的过程,那是相当困难的。这不是说我们的工作没有价值,而是我们得真正把问题给解决了吗没有。只要简单的混杂下css和Javascript代码就能实现效果,按照这样的方法很容易就使之融进系统去了。作为前端工程师想要发送请求也是很难的,大多是因为我们缺乏阐述问题的标准数据和害怕某些不利的决定。幸运的是还有其他的方法来“捍卫”我们不受“伤害”。
1. 经典: 搜索引擎优化
当互联网最终面向大众,你的网页在不断扩大的网络中受到关注将会变得越来越困难。大约在同一时刻,语义化在网页设计者们滥用多年html之后开始发挥作用。起初看似毫无关系的两个概念,却能在一个不太可能的婚姻中找到彼此。
然而,语义化却让事情变得困难得多。编写html实际上成为了一种需要这种语言知识的技能。再者,它使得css、可访问性和机器能够从中受益,但遗憾的是这三个参数很难让人信服。特别是当实现这些新的html结构所导致的一些后端发展问题(它总是这么做,突然就认为默认的cms代码不够好)。
但另一方面,seo一路走来多亏了谷歌seo成为了我们这些html设计者们抓住不放的第一关。正确地使用标题、段落和表格......,它们都在确定一个网页在搜索结果中的位置时被考虑进去。这将为迫使人们注意到我们的html页面开辟了一条新道路。它是将我们自己的html页面推入工程的杠杆,以至于不仅仅css和可访问性能够从中获益,但我们却终于能够发表一些合理结构化的html代码。
2. 更新经典: 响应式
如今许多cms系统制造者粗制滥造出相当不错的html页面,至少从搜索引擎优化的角度来看是如此。它们大多数仍然与html5页面无关,而这无疑使得seo参数失去了一些重量。这不是意味着我们必须遵循流行的cms系统的默认html页面。我们新的标准是:响应式网页设计。
虽然现在很多cms系统对语义化规则有了很好的掌控,但是它们大多数仍然缺失结构化的合理性。这往往是处理响应式需求真正的难题,因为一个很合理的结构化容易让我们识别周围的元素。没有它,我们必须回到讨厌的javascriptheike和css结构。
Position:absolute; 和box:flex;在这里是我们的拯救者。他们需要特定的结构,但往往是默认的cms代码所缺失的,意味着自定义的html代码实际上需要一种让所有事情工作起来的方式,使得一个页面在不同的窗口上的显示无论何时都不会被破坏。
3. 新事物: 性能
但是你问的css和javascript又怎么样呢?嗯,这一两年一直流行的"性能"。如今提供良好的移动用户体验是一个运行良好的网站的关键。遗憾的是(哈!)智能手机当前的状态不允许有太多的花哨的装饰。
响应式图片的技术和单独对响应式布局的返工已经耗费了我们太多的时间,并且通常伴随着一些如登天的功能需求。这就是性能发挥作用的地方,因为所有那些花哨的解决方案经常需要依赖于复杂的javascript和css。这种依赖并不是必须遵循智能手机的规格,导致发热、延迟和电池的耗尽。
性能是当我们想缩小功能复杂性时衡量的尺度。最近出现的许多工具可以帮助我们准确地判断应用到一张网页上的特定技术的总体性能影响,这对于我们想要阻止实现那些具体的功能需求来说是一个巨大的帮助。
提醒一句
记住:尽管上述的三个参数全部是有效的,它们却并不神圣。如果你到处对别人叫喊,因为性能问题他们不能有X或者Y,或者由于没有一些支撑你的观点的坚实依据,如响应式需求等原因他们需要实现Z,这样你想必不能在一个项目中工作太久。
在适当的案例中使用上述的参数,但是在一个阻止其发展的案例中你可以将它们作为一个参考来使用,在某些细节上偷懒其实可以提高前端代码的总体质量。相信我,其他人都已经这么做了(设计师,信息架构师,后端开发人员),所以不用感觉太糟糕了。只要你在这么做的时候不要太明显就好了。