写点什么

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

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

关注

评论

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

linux应用开发面试题,java黑马程序员资源,如何保证redis高可用

Java 程序员 后端

Java高级工程师面试题目,尚硅谷kafka文档,和腾讯大牛的技术面谈

Java 程序员 后端

Java高级架构师面试题,李玉婷尚硅谷漂亮,程序员怎样优雅度过35岁中年危机

Java 程序员 后端

Java高级软件工程师面试题,java菜鸟教程多态,Java程序员面试笔记pdf

Java 程序员 后端

JVM面试题附答案,Dubbo高频面试题+解析

Java 程序员 后端

jvm常见面试题,图灵it教育学院多大,这个框架直接干掉了Servlet

Java 程序员 后端

kafka入门教程,linux教程第四版pdf下载,mysql基础教程

Java 程序员 后端

Mybatis-Plus的使用小技巧,linux数据恢复教程,Nginx面试

Java 程序员 后端

Java高级开发面试视频,nginx教程pdf,linux初学者入门书籍

Java 程序员 后端

JDK、JRE与JVM的区别与联系,springmvc基础知识pdf下载

Java 程序员 后端

linux基础入门知识,kafka入门教程步骤,2021年Java网络编程总结篇

Java 程序员 后端

linux学习笔记,springboot前后端分离教程,我先收藏为敬

Java 程序员 后端

kafka入门教程,springboot高级教程,聊聊你对分布式锁技术方案的理解

Java 程序员 后端

Java高级技术经理面试题,西安尚学堂教育,已开源下载

Java 程序员 后端

kafka入门与实践百度云,牛客网平安科技,和快手大牛的技术面谈

Java 程序员 后端

linux基础教程试题,linux驱动程序开发视频教程,netty入门与实战

Java 程序员 后端

mybatis入门案例,图灵学院第三期视频百度云,阿里中间件

Java 程序员 后端

linux内核教程推荐,尚硅谷mysql,一文轻松搞定

Java 程序员 后端

linux应用开发面试题,极客时间破解付费课程百度云盘,Java面试官

Java 程序员 后端

Java高级知识体系,java性能调优实战网盘,大厂首发

Java 程序员 后端

Java高级知识体系,kalilinux新手教程,Java实习面试经验汇总

Java 程序员 后端

jvm常见面试题,尚硅谷和黑马,2021国内知名大厂Java岗面经

Java 程序员 后端

linux内核教程推荐,兄弟连尚硅谷,顺利收获Offer

Java 程序员 后端

Java高级技术架构,linux操作系统教程海南师范大学,nginx入门书籍推荐

Java 程序员 后端

JVM虚拟机原理深入解析,springboot实战视频教程百度云,你不懂还不学?

Java 程序员 后端

kafka教程pdf,spring入门教程,你会的还只有初级工程师的技术吗

Java 程序员 后端

Mybatis-plus常用API全套教程,springcloud实战视频

Java 程序员 后端

Java高级面试手册,架构师修炼之道pdf百度云,Java开发实战经典答案

Java 程序员 后端

kafka实战最佳经验,牛客网华为机试题答案,Java开发面试问题

Java 程序员 后端

Kafka必须掌握的核心技术,尚硅谷java入门,Nginx面试

Java 程序员 后端

kafka面试题阿里,牛客网面试题库java,农民工看完都会了

Java 程序员 后端

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