写点什么

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:407133
用户头像

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

关注

评论

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

FabFilter Total Bundle 2024 for Mac(音频插件合集)v2024.12.16直装激活版

小玖_苹果Mac软件

博客写作软件 MarsEdit mac v5.1.4激活版

小玖_苹果Mac软件

中化信息与枫清科技深化合作:共探“AI+”产业新生态

Fabarta

数智化转型 #大模型

SD-WAN在企业组网中的重要作用

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SDWAN SD-WAN国际专线

企业组网解决方案与常用技术解析

Ogcloud

SD-WAN 企业组网 企业网络 SD-WAN组网 SD-WAN服务商

AI-Native的路要怎么走?一群技术“老炮儿”指明了方向

Alter

中昊芯英入选工信部“人工智能赋能新型工业化典型应用案例”

科技热闻

京东商品详情数据接口丨京东API接口指南

tbapi

京东API接口 京东商品详情接口

iBarcoder v3.16.0免激活版 专业的条形码生成器

小玖_苹果Mac软件

QLab Pro for Mac 激活版 音频编辑处理工具

小玖_苹果Mac软件

Axure RP 9 for Mac(交互原型设计软件)v9.0.0.3746中文激活版

小玖_苹果Mac软件

Native Instruments Maschine for Mac(全球最全面的采样器)v3.0.1激活版

小玖_苹果Mac软件

如何看待Java面试造火箭工作拧螺丝?

了不起的程序猿

后端 架构师 java程序员 java面试 Java八股文

复旦大学与华为共建鲲鹏昇腾科教创新孵化中心 着力科研创新与人才培养

Geek_2d6073

Python绘制七段数码管字母:从理论到实践

快乐非自愿限量之名

Python

如何运用获得京东商品详情API接口搬运商品到自己的电商平台?(一篇文章全搞定)

科普小能手

数据挖掘 淘宝 电商 API 接口 API 测试

Lightroom Classic 2025 for Mac(LRC2025)v14.1.1中文激活版

小玖_苹果Mac软件

2024冬季FORCE大会,火山引擎边缘云全面展示边缘云 + AI 产品技术方案

火山引擎边缘云

机器人 火山引擎 AI 大底座 具身智能 边缘智能

ON1 Photo RAW 2025 .1 for Mac(照片编辑器)

小玖_苹果Mac软件

RTX 4090 显卡,除了打游戏还能做什么?

Finovy Cloud

gpu 显卡 云电脑

NAS极速远程访问!贝锐花生壳推出飞牛fnOS专属内网穿透服务

贝锐

私有云 内网穿透

拦截烂SQL,解读GaussDB(DWS)查询过滤器过滤规则原理

华为云开发者联盟

数据库 GaussDB(DWS) #SQL

GitHub上疯传数万次的蚂蚁内部绝密分布式高可用算法笔记太香了

程序员高级码农

Java 编程 程序员 分布式 算法

中昊芯英荣登2024创业邦100未来独角兽榜单

科技热闻

AI视频无损放大Topaz Video AI for Mac v6.0.0激活版

小玖_苹果Mac软件

MouseBoost PRO for Mac 鼠标右键助手专业版下载

小玖_苹果Mac软件

Final Draft 13 for Mac激活版 剧本写作软件

小玖_苹果Mac软件

阿里P8面试官让我吃透这份10W字java面试题终于可以拿java高级岗

程序员高级码农

Java 编程 程序员 java面试 Java面试题

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