2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Proxx:构建高效的 Web 应用

作者:Guy Nesher

  • 2019-06-21
  • 本文字数:896 字

    阅读完需:约 3 分钟

Proxx:构建高效的Web应用

Proxx是谷歌 Chrome 团队推出的一款 JavaScript 游戏。该项目展示了如何开发快速平滑的 Web 应用,这些应用在多种平台和输入设备上提供了相近的用户体验。



Proxx 项目的独到之处在于它主要针对的是智能功能机。智能功能机是低价智能机替代设备,在印度和非洲广为使用。根据Counterpoint的市场研究报告,智能功能机在 2019 年至 2021 年期间的销量有望达到 3.7 亿部。


相对于智能机,智能功能机的硬件非常简单。它不支持触控,屏幕相对较小,大多采用 240x320 分辨率的 QVGA 屏,CPU 的处理能力也相对较弱。


这些硬件的局限性给 Web 开发人员提出了新的挑战。大多数开发人员并未习惯于针对如此受限的资源开发 Web 应用。


为解决智能功能机的性能受限问题,Proxx 项目使用了一种“Web Worker”技术。该技术支持以后台线程方式运行 JavaScript 代码。


Proxx 将游戏逻辑分散为多个独立线程,确保只有与用户界面相关的计算是在主线程中完成。这种设计确保了应用的平滑渲染,特别是在配备较差的设备上运行的时候。


Proxx 团队使用了 Canvas 和 WebGL 技术来渲染游戏。由此实现了两个独立的层,一层用于后台动画,一层用于显示表格。这种设计让后台可以使用规模更小的画布,降低内存消耗。


与游戏的交互是通过一个隐藏的 DOM 网格来处理的,该网格位于画布层之上。这种简化的事件处理机制让 Proxx 团队能够易于支持屏幕阅读器。


Proxx 团队选择使用Preact来管理 DOM 的渲染和交互。Preact 是 React 的一个更简洁的替代方案,它提供了近似于 React 的渲染 API,但体积只有 3KB。


Proxx 团队使用Puppeteer在服务器上预渲染初始屏幕,进一步改进了项目的加载时间。


最后,Proxx 团队使用了Rollup。Rollup 是一种 JavaScript 模块捆绑器,相较广为使用的 Webpack 库,Rollup 进行了一些优化。 具体地说,Rollup 可在主线程和 Web 工作线程间共享依赖项,避免代码重复加载。


Proxx 团队计划于今年晚些时候公布更多的开发进展。


如果开发人员现在有兴趣深入了解,可访问项目的网站,或是观看Google I/O大会Proxx演讲


Proxx 的源代码可在GitHub代码库上找到。Proxx 基于 Apache 2 开源许可。


查看英文原文: Proxx: Building Fast Web Applications


2019-06-21 09:407290
用户头像

发布了 391 篇内容, 共 155.5 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

Conc,一个神奇的Go语言并发利器!

左诗右码

哈尔滨二级等保设备选型指南

等保测评

“代码跑着跑着,就变快了?”——揭秘Java性能幕后引擎:即时编译器

poemyang

编译原理 Java虚拟机 即时编译器 JIT编译器 #java

MyEMS开源能源管理系统实际案例分析

开源能源管理系统

开源 开源能源管理系统 MyEMS

华为开发者空间使用CodeArts IDE调用API实现电商平台问答助手

华为云开发者联盟

AI+ 华为云CodeArts Qwen1.5 华为开发者空间

CST怎样安装补丁?CST Studio Suite 2022 SP2补丁包

思茂信息

电磁仿真 CST软件 CST Studio Suite

私有化即时通讯有什么优势,推荐BeeWorks聊天工具

BeeWorks

即时通讯 IM 私有化部署

星云低代码:低代码不再是平台,而是“中间件”

星云低代码中间件

低代码 开发工具 企业管理系统 Vue 3 #java

三级等保测评流程优化实践

等保测评

工厂工地如何利用MyEMS实现安全绿色生成,助力企业节能减排,降本增效

开源能源管理系统

开源 能源管理系统

Altair HyperWorks仿真案例:通过设计优化最大化发挥增材制造的潜力

智造软件

仿真 Hypermesh hyperworks

大模型训练故障恢复效率提升方案

qife122

机器学习 容错机制

零代码生成 3D 游戏:基于 Amazon Q Developer CLI 和 Three.js 的实践

亚马逊云科技 (Amazon Web Services)

大数据-60 Kafka 消息消费与心跳机制详解:原理、流程及参数调优

武子康

Java 大数据 kafka 分布式

播放器音频后处理实践(一)

百度Geek说

基于多代理协作的智能电子取证解决方案

qife122

人工智能 多代理系统

闭源精密战与开源敏捷性:能源管理系统的双线引领

开源能源管理系统

开源 能源管理系统

区块链Web3项目开发的进度管理

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

合合信息亮相WAIC大会—推动AI鉴伪技术革新,打造可信数字世界【人工智能大会最新AI安全技术成果】

申公豹

人工智能

如何选择合适的LED显示屏像素间距?

Dylan

LED LED display LED显示屏 LED屏幕

本地IntelliJ IDEA连接开发者空间-云开发环境,进行小游戏开发

华为云开发者联盟

云主机 IntelliJ IDEA 华为开发者空间

三级等保在哈尔滨智慧城市建设中的战略价值

等保测评

物理信息随机投影神经网络的线性稳定性分析

qife122

神经网络 数值分析

2025年最佳加密软件精选

qife122

数据保护 加密技术

苹果电脑怎么在虚拟机里安装office办公软件?Mac怎么运行Windows版的office365?

凡凡不烦

Office Parallels Desktop下载 虚拟机软件 Mac效率办公软件 如何在Mac运行win

BeeWorks私有化即时通讯,局域网办公安全可控

BeeWorks

即时通讯 IM 私有化部署

Gunra勒索软件集团推出高效Linux变种

qife122

加密技术 勒索软件

基于开发者空间编写ODBC应用程序操作OpenGauss数据库

华为云开发者联盟

GaussDB(for openGauss) ODBC C++ API 接口 华为开发者空间

TRAE cue 体验提升之 Latency 篇

北京中暄互动广告传媒有限公司

小白也可以只用 2 轮 prompt 生成你的“哈利波特测试器”

北京中暄互动广告传媒有限公司

Proxx:构建高效的Web应用_大前端_InfoQ精选文章