在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

GraalVM系列(二):GraalVM核心特性实践

孤岛旭日

GraalVM

大话Java异常

若尘

Java 异常 异常处理 520单身福利

生态“群海”:数字化转型的供需之变

脑极体

5分钟速读之Rust权威指南(五)

wzx

rust

如何制定战略?

石云升

创业 战略 职场经验 5月日更

闲言碎语:为什么阿里做不好业务中台

孤岛旭日

GraalVM系列(三):GraalJS多线程实践

孤岛旭日

GraalVM

中台反思:提质增效

孤岛旭日

效率 中台 企业中台

IDEA 这么设置 Maven,再也不用担心依赖下载失败了

楼下小黑哥

Java IDEA

毫秒级的竞技PK | 电信行业需要的5G速度

VoltDB

大数据 数据分析 5G 实时计算

数据挖掘从入门到放弃(六):K-means 聚类

数据社

机器学习 5月日更

人工智能基础2 - DAY10

Qien Z.

人工智能 基础 5月日更

平台化服务的基石(四):再议用户权限,更优雅的模型

孤岛旭日

用户权限 企业建模

【签约计划】试用期名单公布

InfoQ写作社区官方

签约计划 热门活动

2021金三银四Java岗大厂面试经验总结(附面试真题)

北游学Java

Java 面试

520单身福利|女朋友又找我要礼物

孙叫兽

程序员 520单身福利 520 单身福利

Node.js学习 —— 简介

空城机

JavaScript 大前端 Node 5月日更

分库分表 springboot+dubbo+mybatisPlus+shardingSphere

try catch

dubbo 分库分表 springboot ShardingSphere MyBatisPlus

区块链与资产数字化

CECBC

中台反思:技术中台设计架构

孤岛旭日

中台 企业中台 技术中台

作业二:分析微信朋友圈高性能复杂度

刘丽

架构训练营

分布式架构的根基:深入浅出一致性算法

孤岛旭日

分布式 一致性算法 PAXOS 共识算法

Dubbo 并发控制

青年IT男

dubbo

北京市级预付费资金监管平台正式上线试运行 内嵌区块链存证技术

CECBC

【干货分享】开放原子超级链动态内核XuperCore核心技术揭秘

百度开发者中心

区块链 超级链

浅谈前端异常监控平台实现方案

devpoint

异常处理 indexedDB leveldb

520 属于程序员的诗

荩沫

520单身福利

实现私域流量的长效积累,一场医美直播背后的数字营销密码

脑极体

中台反思:技术中台的未来

孤岛旭日

中台 低代码 中台架构

网络攻防学习笔记 Day19

穿过生命散发芬芳

5月日更 网络攻防

浪潮“分布式云+”行动计划持续深化 三大产品正式发布

云计算

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