当前位置:伍佰目录 » 站长资讯 » 站长资讯 » 网站优化 » 文章详细

为什么大部分网站都是用php,而不是用java来写?

来源:网络转载 浏览:207次 时间:2022-09-29

很多系统应用站点是用java开发的,就网站部分而言,有jsp技术java开发的很多很多代码在服务端,即使给你源码,很多时候让你配置都困难,普通用户上手不是很方便。

而PHP开发的程序的源代码网上有很多都是公开的,他人拿到php开发的程序后都可以进行修改。开发快速,性能也不错。所以就实际应用而言,php更简单快捷。

就如同我熟悉C++ delphi java 但我如果接项目,一般是尽量用delphi,因为delphi开发快速方便。

什么语言开发的web最快?

JavaScript开发的web最快。

但是这个问题又分为几个方面:


1、下载数据量方面:

网页种只有三个大分支:HTML、CSS、JavaScript。


其中 HTML 是必要的,不可或缺的。剩下两个实际上完全删除都是 OK 的。(很多交互逻辑是不需要 JavaScript 的)


但是不能一味追求速度,网站还是要基本好看的,所以 CSS 要加进来。虽说 HTML + CSS 能实现大多数的交互逻辑,但是 JavaScript 有时能简化这些逻辑,使得代码量减少,或者有些复杂交互逻辑只能使用 JavaScript 来实现,所以按需使用 JavaScript 也是有必要的。


要使网页的访问速度提高,一个首要条件是下载的数据量降低。一个总大小 1MB 的网页和一个总大小 1KB 的网页谁的加载速度快,这很容易理解。


所以尽可能精简 HTML 文件体积,尽可能精简 CSS,尽可能精简 JavaScript,可以非常有效、肉眼可见地提升网页的加载速度。


精简 HTML、CSS、JavaScript 可以在很多方面入手,最轻松的方式是尽可能的使用新特性,比如 HTML5、CSS3 和 JavaScript ES6。在不考虑古代浏览器兼容性(以 3~5 年内主流浏览器兼容为标准最佳)的情况下,建议尽可能【不要】使用 babel 之类的工具进行转码,可以不降低代码的执行效率,并且不增大文件体积。


还有就是尽量不使用第三方类库,原生 JavaScript 现在已经非常好用了,在没有必要的情况下,尽可能全部交互逻辑使用原生实现。或是使用一些可拆分的精简类库(对于特别复杂的情况)。或者对于开源类库,在遵守开源协议的前提下截取关键代码来使用。


然后使用各种压缩工具将 HTML、CSS、JavaScript 文件中不需要的空格、标记符全部删除,最后使用 Brotli 或是 GZip 对文件进行压缩。


数据量少了,访问速度就上来了。


2、资源方面:

对于网页种用到的第三方资源,比如图片之类,尽可能压缩(在不损失质量的情况下),并尝试使用 WebP 等新格式。视频也是类似。对于 CSS、JavaScript 等资源尽可能内联到文件中,避免单独下载,最好是启用 HTTP/2,对资源使用 Server Push。


3、服务端方面

对于静态类型页面(纯静态,或是使用 API 加载页面数据类型的网站),可以开启 HTTP/2,可以预先将文件使用 Brotli 和 Gzip 分别压缩好存储起来。


对于动态类型页面(模板页面,内容通过服务端代码运算后填充),建议不要等所有数据全部计算完再向前端返回数据,可以考虑边算边输出(减少 TTFB 时间)。如果服务端计算很慢的话,可以先返回 HTML 的 <head> 部分,让浏览器先去下载外部资源(CSS、JavaScript 之类),还可以做一些 Prefetch 之类,让浏览器不要闲着等数据。对于需要用到 DOM 元素的 JavaScript,可以灵活使用 defer 属性以减少代码量、下载数据量。


要使网页的访问速度最快,用什么语言开发最好?


前端:原生 JavaScript ES6,这是唯一选择。尽量不要使用大型的前端框架(动不动给你打包一个 1M 的 bundle 是很吓人的。而且页面变化不复杂的话,这些框架的虚拟 DOM 带来的性能提升还弥补不了大量代码带来的性能损失,得不偿失。所以请在绝对必要的情况下再去使用这些东西。)


后端:看你具体的业务场景了,各种语言应对各种不同的场景,没有一家独大一说(不然让其他语言怎么活)。Java、Go、Python、C#.Net、Node.JS、Ruby、PHP……或者使用 C/C++ 来写后端也是完全可以的,灵活实现不同场景[手动滑稽]。(你要愿意,直接写汇编都可以)


总的来说,常规优化做好了,根据实际业务场景来选择语言技术栈,才是提升访问速度的关键办法。


(或者能给广大用户提一下物理网络速度也好)


伍佰目录声明:本站部分文章来源于网络,版权属于原作者所有。如有转载或引用文章/图片涉及版权问题,请联系我们处理.我们将在第一时间删除! 联系邮箱:tsk@qq.com

快速链接

最新收录

最新点入