AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

谷歌实验室发布图片压缩 PWA:Squoosh

  • 2018-12-07
  • 本文字数:1051 字

    阅读完需:约 3 分钟

谷歌实验室发布图片压缩PWA:Squoosh

2018 Google Chrome开发者峰会上,Google 发布了Squoosh,这是一个开源的图片压缩渐进式 Web 应用(PWA),它同时也是现代 Web 技术的一个实际展示。


Squoosh 提供了一种快捷和简易的机制,能够实现多种格式的图片压缩。用户可以直接浏览 Squoosh.app,将图片拖放至浏览器的 Tab 标签中,然后能够尝试多种图片优化和转换的设置。这个应用会在屏幕的两侧分别展现按照选定的压缩配置在压缩前和压缩后的图片视图。


就目前来看,Squoosh 不会成为众多图片压缩应用的竞争者,这种应用包括传统的图片编辑工具,如 Photoshop 和 Sketch.app,以及基于 Web 的服务,如TinyPNGImageResize.orgCompressor.io,还包括各种桌面应用。


谷歌实验室发布 Squoosh 的主要目标是演示高级 web 应用程序如何利用现代技术在 web 浏览器中提供高性能的体验。


Squoosh 使用了多项技术来交付可靠的用户体验:



Squoosh 遵循了很多现代化的模式,包括:


  • async/await;

  • 使用 Canvas 进行图片绘制;

  • Decorators(目前早期草案版本得到了 TypeScript 的支持);

  • meta,目前由 Dojo 和其他组织在推广,在反应式架构中,能够提供各种属性;

  • 可离线使用的渐进式Web应用(PWA)和 service worker;

  • 使用 JSX 的反应式、虚拟 DOM 架构,由 React 在推广支持。


Squoosh 支持各种图像压缩格式,包括 BMP、GIF、JP2、JPEG、MozJPEG、PDF、PNG、TIFF 和 WebP。对图像压缩的支持因浏览器而异。例如,Firefox 支持对 BMP 进行编码,Safari 将编码功能委托给操作系统实现并且支持更多的格式,而 Chrome 本身支持的格式更少一些。Squoosh 使用 WebAssembly 来处理不同浏览器中不包含某些图像编解码器的场景,并用其执行编码和解码过程。


Squoosh 可以在 Apache 2 开源许可证下获取。谷歌鼓励开发者在遵循Squoosh贡献指南的前提下,通过Squoosh GitHub 项目为其做出贡献。

英文原文

https://www.infoq.com/news/2018/11/google-squoosh-pwa-webassembly


2018-12-07 15:322936

评论 2 条评论

发布
用户头像
看来基于node.js的photoshop离我们并不远了嘿:)
2018-12-09 12:45
回复
没有更多了
发现更多内容

云栖盘点:2022 云网络产业干货分享

云布道师

云网络 云栖大会

安装户外LED显示屏安装注意事项

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

用Vue.js开发企业管理后台,我做到了

博文视点Broadview

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

​GOPS演讲 | 如何构建现代运营与支持体系,实现团队的高效协同

龙智—DevSecOps解决方案

gops ITSM ITSM解决方案 GOPS全球运维大会

AR Engine光照估计能力,让虚拟物体在现实世界更具真实感

HarmonyOS SDK

AR HMS Core

用javascript分类刷leetcode3.动态规划(图文视频讲解)

Geek_07a724

JavaScript LeetCode

技术内幕 | StarRocks 支持 Apache Hudi 原理解析

StarRocks

#数据库

TDSQL携手金蝶云·苍穹,发布“国产数据库联合解决方案”

腾讯云数据库

数据库 腾讯云 tdsql 金蝶 腾讯云数据库

在线研讨会报名 | 如何通过自动化测试实现降本、增效与提质

龙智—DevSecOps解决方案

自动化测试 研讨会

docker如何在容器外执行容器内命令

A-刘晨阳

Docker Linux 运维 11月月更

你知道IPC二级和IPC三级有什么区别吗?两者对PCB产品的影响又是什么呢?

华秋PCB

PCB ipc PCB设计

JavaScript刷LeetCode-字符串类解题技巧

Geek_07a724

JavaScript LeetCode

成为web前端工程师培训和自学选择

小谷哥

开源代码安全 | 西门子为保护代码安全采取了什么措施?

龙智—DevSecOps解决方案

SCA SCA工具 开源代码安全

linux(centos)中部署docker(步骤超全,含带一些发展史和一些概念)

A-刘晨阳

Docker Linux 运维 11月月更

JavaScript刷LeetCode心得

js2030code

JavaScript LeetCode

堡垒机小知识科普-行云管家

行云管家

网络安全 信息安全 堡垒机 等保2.0

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM

龙智—DevSecOps解决方案

版本控制 软件开发生命周期 版本管理 ALM

云栖盘点 | 一文 get 云原生峰会的最全发布

云布道师

云原生 云栖大会

【LeetCode】只出现一次的数字Java题解

Albert

算法 LeetCode 11月月更

DAO社区治理代币投票挖矿系统开发合约定制

开发微hkkf5566

软件测试面试真题 | UI自动化测试如何通过子元素定位父元素?

测试人

软件测试 面试题 自动化测试

JavaScript刷LeetCode拿offer-js版字典

Geek_07a724

JavaScript LeetCode

让数据流动起来,RocketMQ Connect 技术架构解析

阿里巴巴云原生

阿里云 RocketMQ 云原生

HarmonyOS线上Codelabs系列挑战赛第二期:调用三方库,制作酷炫的视觉效果

HarmonyOS开发者

HarmonyOS

HarmonyOS 3开启新一轮升级,3年前的nova 6也能更新!

极客天地

Go语言入门16—锁

良猿

Go golang 后端 11月月更

params传参与body传参区别

源字节1号

软件开发 前端开发 后端开发 小程序开发

新双机热备软件排名看这里!

行云管家

高可用 双机热备

干货|分析PostgreSql单表60w数据却占用55g空间

查拉图斯特拉说

数据库 postgresql db 11月月更

谷歌实验室发布图片压缩PWA:Squoosh_大前端_Dylan Schiemann_InfoQ精选文章