投票 关于性能文化的最新投票 Chris Coyier 于 2024年7月18日 DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200美元免费额度! 您主要项目中的网页性能状况如何?为了简单起见,也为了更广泛的覆盖面,我将其分解为五个选项,从无人关心到人人关心。这与您性能表现如何无关,而是与性能在您项目文化中占据多大比重有关。 要投票,请在侧边栏(大屏幕)或下方某个位置(小屏幕)查看投票。 这会很有趣,不是吗?性能如今是一个热门话题,它是否产生了影响,使得大多数团队都全心投入其中?或者它仍然是一场斗争?也许大多数人仍然不关心?我们将拭目以待。
如果您问设计师和管理层是否希望获得出色的性能,他们会说“是的”。
但随后网页设计师使用网页字体指定整个网站,然后另一位设计师使用具有10种变体的不同字体制作信息图表 - 然后他们购买网络版本以便能够使信息图表具有响应性和可访问性。
然后开发人员发现了它。
所以基本上设计师和管理层想要他们想要的东西,而他们没有意识到这会影响性能。
并不是说他们不关心,只是他们不了解权衡取舍。
就是这样。
在行业中,很少有人会说性能无关紧要。但大多数人只是口头上表示重视。
至少有7/10次,美观性胜过性能。加载视网膜图像、自定义字体、高清视频被认为比速度更重要。(我意识到性能与美观性不是二元决策,但在截止日期内,对于那些不真正重视性能的人员进行实施,结果往往是如此。)
我做了一些工作来减少加载时间,通常都能取得很好的效果,方法是抓住唾手可得的成果。我曾经展示了背后的研究,做了这项工作,改进了数据,甚至为此做了一个小型公司演示;我受到了赞扬,每个人都谈论性能真的很重要。两周后,它又回到了标准流程。
(我偶然申请了下面的 bob,犯了一个错误。应该发布在这里。抱歉。)
你让它看起来像是开发人员是性能的玫瑰花瓣,而设计师则一无是处。
有偏见的评论。
我和很多对性能没有兴趣、没有线索或没有扎实知识的开发人员合作过。我给他们提供干净的 HTML 和 CSS,接下来我看到:在最终输出的网站中到处都是空标签,因为内容创建者在该部分的 CMS 中没有添加任何内容。他们不是因为没有内容而不注入标签,而是因为没有内容而注入空标签。
然后你会看到那些爱上 Bootstrap 的人。整个框架。
然后你会看到那些从未听说过 SVG,更不用说使用过它的人。要求使用 PNG 取代……而且,甚至不是作为精灵图,而是作为单独的文件。
并不是说他们不关心,只是他们不了解权衡取舍。
@Ricardo,
说的是你自己吧。
我只是在谈论我的情况,而不是对所有设计师或所有开发人员进行概括。
这里的大多数设计师仍然以印刷为主导,并将网络视为事后才想到的事情。他们甚至考虑购买网页字体以使信息图表具有响应性和可访问性,这实际上是他们向前迈出的一大步。
我从未说过开发人员没有责任。哎呀 - 我们使用 Foundation。但我们尽我们所能 - 包括尝试教育其他人了解这些权衡取舍。
相信我 - 我从 90 年代就开始做这个了。技术在变化,但美观与性能之间的拉锯战从未改变。
RioBrewster 和 Bradley 提出了一些非常好的观点。
“并不是说他们不关心,只是他们不了解权衡取舍。” 击中要害了。
我也从 90 年代中期就开始参与网络工作。随着网络的发展,人们也需要随之发展。我们仍然看到很多印刷人员将网络视为另一个印刷品,形式优先于功能。客户仍然希望对其所见即所得编辑器拥有终极控制权,人们仍在发布包含 Lorem ipsum 文本的网站,因为他们更关心设计而不是内容。
很多时候,这仅仅是意识和理解的问题。我们可以两全其美,但在此过程中会有一些妥协;产生差异的不同之处在于,哪些妥协是正确的,对于特定网站,在特定时间。
一些设计师根本没有意识到/不在乎他们精心排版的模型和色彩还原不会完美……这没关系。您可以立即分辨出谁在乎谁不在乎——任何在描述良好网页设计时使用“像素完美”的人都是问题的一部分。
不知道如何格式化文档?只需在 Photoshop 中完成并将其保存为 JPEG 即可。问题解决!在我看来,这就是那些旋转的英雄横幅仍然如此受欢迎的原因——它是桌面和印刷导向设计的最后一个避风港。这是横幅的大小,你能填满它吗?等等……网络从未,也永远不会是 Photoshop 画布的完美呈现,它怎么可能呢?
正如 Bradley 提到的,其他人只是将网页性能视为某些客户对待 SEO 的方式……难道你不能只是在代码上撒一些一次性的魔法仙尘,放一些关键词和元标签,现在我们的性能问题就解决了?
对不起,伙计们,它不是这样运作的。然而,仍然有很多会告诉客户“当然,我们可以做任何您想做的事情”的人,或者可能是竞争导致价格下降,您会遇到一些根本不具备正确执行能力的人。
就像品牌一样,如果没有人在持续监控网站的性能以确保一切正常,它就会陷入困境。就像设计师将他们的网站交给客户,两个月后,颜色和品牌都偏离了;没什么不同。
只有一个正确的答案。如果您没有选择“每个人都关心并积极努力维护和改进”您主要项目的网页性能状况,那么您就是在损失金钱。如果您的老板不赞成改进性能,那么您可以在网上找到大量研究来向老板解释为什么不优先考虑性能会导致金钱损失。如果您不关心金钱,您是否关心:读者?访客?吹嘘的权利?如果您不优先考虑性能,您就会失去所有这些。
我想到的唯一一些不需要优先考虑性能的情况是,您不想让其他人看到的个人项目,以及人们如果想完成某件事就必须使用的政府网站。
我一直讨厌关于性能、美观性和可访问性的“俘获受众”论点。我曾经在一家呼叫中心工作,将通话平均减少 1 秒,每年可节省 14 万美元,但我们经常被要求交付一个可以通过简单地在表上设置主键或稍微优化 SQL 来使速度提高 10-15 秒的产品,更不用说 UI 中的优化了。错失良机。我们得到的另一个论点是,我们不想向客户宣传节省劳动力,因为他们不想裁员。通常,所有这些政治胡言乱语都会推动开发人员做他们做的事情,而不是理性和衡量的策略。
在我的主要工作中,Ninja Forms WordPress 插件,性能是团队的事情。但它必须如此,因为我们维护着广泛使用的插件。它在所有 200,000 多个安装中并不完美,但它绝对是团队的主要关注点。
但是,我参与过其他项目,这些项目需要性能,但可以很快将优先级赋予其他设计美学。
性能很容易被遗忘,直到它打在你脸上。这是一个缓慢的耳光,但它仍然会让人感到疼痛。
它尚未发布,但在任何关于“性能”与网站技术相关的讨论之前,The Web Ahead #106 都是一个#必听节目。
http://thewebahead.net/
作为一名工程师,我全心全意地支持性能。客户也想要它(如果它成为讨论的话题),但他们通常没有意识到他们的一些设计决策和愿望可能会对性能造成重大影响。即使他们知道影响,除非这是一个巨大的瓶颈,否则他们仍然可能会坚持使用他们最初的设计理念。
最常发生的情况是我“默默地”投入更多时间进行优化,以使每个人都满意。
性能对我们公司至关重要。我们有一个专门的团队只专注于改进客户端性能。从第一个字节的时间、改进感知到的页面加载时间、渲染优化等等。所有其他在前端代码上工作的团队显然也都在关注这一点 :-)
我认为这是性能的设计问题,在这一点上我不同意RioBrewster和Bradly的观点。如果美观和性能是完全分离的事物,那么其中一个参数看起来就没有必要了。
无论你是否同意,这对许多商店来说都是现实。
如果一个人同时负责设计和代码,或者这两个功能都在同一个团队中完成,那么你真的没有借口。
但在许多情况下——包括我们自己的情况——这两个功能没有整合,开发人员对设计决策没有否决权。
所以就像Zoki所说的,我们会尽力使所选的设计加载速度尽可能快。
归根结底,这一切都取决于人和个性——无论我们这些技术极客喜欢怎么想。
总体评论——我不确定这是否被认为是性能优化,但我很惊讶有多少网站(各种规模的公司)仍然为移动设备提供多兆字节的主页/子页面(4MB+)。您是否将带宽考虑因素归入性能,或者这是一个单独的问题?TTFB 至关重要,但我认为考虑最终用户的流量计划也很重要。
我觉得我们遇到的许多性能问题都存在于设计和开发之间仍然存在一道墙。至少在我工作的地方,设计师对构建网站的每个细节都了如指掌,甚至一些开发人员也没有过多考虑性能。就像其他人所说的,美观性胜出,因为您可以看到它们的外观,而不是使用大型图像并且没有考虑实际使用条件的实际影响。
我们对快速的网络连接过于习以为常,重要的是我们要使用我们的4G连接并限制我们的桌面设备,以了解现实世界中真正发生了什么。
我认为量化影响的方法很重要,因为大多数人在工作时永远无法看到普通用户如何使用他们的产品。Etsy 在这方面做得很好,他们有一个仪表板显示他们在不同设备/位置的加载时间。
我认为你会发现,每次自定义编码你的网站而不是依赖框架,可以节省更多性能。
每个环境都不同。
考虑到我们网站的规模、大量贡献者、每天的更新次数、开发团队的规模和广泛的技能水平、所需快速周转时间以及我们必须支持的各种平台和浏览器,框架对我们来说是有意义的。
也就是说,我们会尽一切努力来降低开销。
我同意第一位评论者的观点。性能意识始于企业,然后是视觉设计,最后才是开发人员。假设最佳情况,即开发人员重视性能,他/她仍然面临着与业务和设计决策作斗争的艰巨挑战。
实际上,仅仅意识到是不够的。需要做出决策并以性能为重,而这在所有这些层面上都非常难以实现。即使面对理性的数据和商业案例,这也是一件很难做到的事情。
在过去的几个月里,提升网页性能对我来说是一件非常令人兴奋的事情。我曾经认为,对css、javascript和html使用gzip就足够了。这对于我在上一份工作中维护的小规模网站来说是足够的。
现在,我为一家公司工作,我能够花时间通过添加更多高级功能来加快我们网站的速度,包括各种网站功能的自定义缓存、在适用时预加载页面以及尽可能减少提供的元素数量。
我一直在使用gtmetrix.com来确认我们的加载时间一直在下降,以及一些自制的RUM,因为,你知道,使用其他服务器,那是另一个DNS查找,以及另一个0.1-0.3秒的加载时间;P
它也改变了我编写代码和集成外部API的方式。通过在可能的情况下采用缓存策略,我已经能够减少每个页面的往返次数和加载的元素数量,此外,如果不幸的是外部服务中断,我们仍然有一个数据缓存,我们可以快速提供服务。