制作快速的网站

我不想重蹈覆辙,但我必须直面这样一个事实:开发人员不了解某些最基本的东西。 我觉得需要一点回顾。

1)
不要做:
document.createElement(’div’)
相反,请执行以下操作:

无论内容是什么,都必须在服务器端准备
我了解,将div设为“仅”需要0.01毫秒,但是
—需要进行开发,因此某个地方的某人将不得不编写document.createElement(’div’)。 即使您使用漂亮的框架! 开发很昂贵
-这将占用某处的空间
-必须通过浏览器将创建者代码下载到客户端的计算机上
—当网页上的访问量达到一百万次时,该创建者代码必须运行一百万次

2)
不要做:


做:

将页面的功能部分分解成很小的模块,并利用浏览器上的缓存,这似乎是一个好主意。 但实际上,这一切都是阻塞网络,并使请求相互阻塞。

3)
不要做:
json = {en:{key1:“ value1”,key2:“ value2”},“ de”:{key1:“ othervalue1”,key2:“ othervalue2”}}
做:

value1

value2

Javascript开发人员可能觉得下一行阅读起来有些痛苦,但是我们必须承认:
人们并不是来网站上每分钟切换语言,而是消费内容。 因此,完全没有必要将语言管理委托给客户端。 当然,第一点也适用于此。

4)
不要做:

做:

内容

首先要了解原因:浏览器最初向服务器发送GET请求。 如果请求成功,它将使用html源进行回答。 这需要解释。 根据其中的外部引用,添加一些其他请求,以获取其他资源,例如javascript文件,样式表或图像。 下载这些文件(更多时间)后,应该对其进行处理(更多时间),解释(更多时间),执行(更多时间)并重新呈现页面(更多时间)。 如果您使用其他域(例如CDN),则可能需要进行额外的SSL握手等操作,以进行更多操作。
什么时候可以渲染,然后修改html,什么时候可以通过在服务器端准备好所有内容并一次性渲染来完成,因此修改html吗?

他们真的那么有活力吗? 好的,聊天就是这样,但让我们看一下显示当前名称/可用空间/汇率/等等。那不是静态内容,可以由cdn缓存,然后仅在存在时才更新需要改变吗? 让我们再次看一下用户的需求。 没有人愿意运行额外的程序只是为了让开发人员感觉更好。 人们希望读取内容,而不是要运行的程序。 不要忘记这个!

我们生活在21世纪,但互联网仍然很慢吗? 今天,我们拥有无与伦比的速度的机器,以及如此高速的网络,以至于我们甚至从未梦想过。 服务器正在以一定的速度提供内容,而几年前才提供给军队使用。
互联网缓慢的原因是我们做了不必要的事情。 使用CSS或JavaScript创建或放置html内容。 运行大量的javascript。 我并不是在开玩笑:我从来没有像现在这样拥有一台笔记本电脑,但是笔记本电脑在浏览网页时却很困难。 它不是因为带宽而苦苦挣扎,而是因为必须通过javascript一遍又一遍地渲染页面而苦苦挣扎。 这样做很麻烦,因为内容不是仅在服务器端(在另一台可伸缩计算机上)被计算一次,而且事实上,它必须由我的便携式计算机再次计算(不可伸缩)。 这不仅是我的电脑,其他所有人也是如此。 你的也是。

我从事javascript开发工作已有12年以上,并且我确信javascript很好。 但是最近,它的发展方向很糟糕。 在某种程度上,开发人员的考虑变得比对最终用户的好处更为重要。 例如硬件速度或首次加载速度和第一有意义内容的速度。 请记住,为什么我们创建网站。 为人民。 他们不想运行程序。 他们想快速消费内容。