什么语言开发的web最快?

 我来答
猪八戒网
2023-06-06 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部

理念上的不同导致了java和php在web应用开发上显示了不同的结果,尽管java的数学计算和数据库访问都有优势,架构也相当完美,但是php却可以简单轻松地支持高强度web访问,能够快速开发应用,支持php的虚拟主机多如牛毛,使得用php开发一个网站比用java开发一个网站要快得多,容易的多。java所拥有的优点只适合传统的以软件项目为核心的开发模式,而php更适合于以客户为核心的saas的开发模式,因此,php目前在web网站开发的优势完全是因为web网站开发的特殊性而导致的,并非编程语言特性所决定。


java语言相比php有明显的优势,java使用的是面向对象的系统设计方法,而php还是采用面向过程的开发方法。php只能实现简单的分布式两层或三层的架构,而java可以实现多层架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如struts就是利用java的web开发技术实现了mvc的设计模式,而在业务逻辑层也有spring框架,数据库持久化

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和JavaScriptES6。在不考虑古代浏览器兼容性(以3~5年内主流浏览器兼容为标准最佳)的情况下,建议尽可能【不要】使用babel之类的工具进行转码,可以不降低代码的执行效率,并且不增大文件体积。


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


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


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


2、资源方面:

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


3、服务端方面

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


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


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


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


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


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


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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式