写点什么

谷歌实验室发布图片压缩 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:322856

评论 2 条评论

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

能不能手写Vue响应式?前端面试进阶

bb_xiaxia1998

Vue

Java中的自旋锁和适应性自旋锁是什么意思?其分类依据是啥?

wljslmz

Java 自旋锁 10月月更 适应性自旋锁

【愚公系列】2022年10月 Go教学课程 015-运算符之赋值运算符和关系运算符

愚公搬代码

10月月更

mysql中的事务隔离级别序列化如何实现

知识浅谈

MySQL 隔离级别 10月月更

测试

乌龟哥哥

9月月更

多线程——死锁的原因和解决方案

StackOverflow

编程 多线程 10月月更

多线程(进阶)

StackOverflow

编程 多线程安全 10月月更

【牛客刷题-算法】 NC13 二叉树的最大深度

清风莫追

二叉树 数据结构与算法 10月月更

GaussDB(DWS)如何实现实时,批量和交付式查询一站式开发

乌龟哥哥

9月月更

大数据ELK(九):使用VSCode测试分词器

Lansonli

ELK 10月月更

promise执行顺序面试题令我头秃,你能作对几道

loveX001

JavaScript

spring-cloud-kubernetes与SpringCloud Gateway

程序员欣宸

Kubernetes spring-cloud 10月月更 spring-cloud-kubernetes

腾讯云搭建wordpress网站超详细介绍

乌龟哥哥

9月月更

面试官:说说Event Loop事件循环、微任务、宏任务

loveX001

JavaScript

【CSS】:什么是z-index属性?该属性有哪些取值类型?

翼同学

CSS 前端 样式设置 10月月更

从特斯拉人形机器人亮相看AI人工智能模型落地面临的两个难题

felix

落地 机器人 AI人工智能

When allowCredentials is true, allowedOrigins cannot contain the special value ___ since that cannot be set on the _Access-Contr

共饮一杯无

Java springboot 10月月更

大画 Spark :: 网络 (8)-Spark 网络中的“四次握手”Driver 如何获取 Executor 的 EndpointRef 烧脑

dclar

大数据 hadoop spark 源代码 spark源码

浅谈云原生安全

HummerCloud

云原生 云安全 云原生安全

问:React的setState为什么是异步的?

beifeng1996

React

【牛客刷题-算法】 NC19 连续子数组的最大和

清风莫追

数据结构与算法 10月月更

【牛客刷题-算法】1-算法入门-数据结构-栈

清风莫追

算法与数据结构 10月月更

从单机百万tpmc到分布式千万tpmc,GaussDB性能提升的3个关键技术剖析

乌龟哥哥

9月月更

React面试:谈谈虚拟DOM,Diff算法与Key机制

beifeng1996

React

linxu入门指令

乌龟哥哥

9月月更

启动 Hello Spring Security Boot 应用

HoneyMoose

【结构体内功修炼】结构体内存对齐(一)

Albert Edison

C语言 结构体 10月月更 内存对齐

阿里云搭建halo博客

乌龟哥哥

9月月更

计算机网络——MAC地址、IP地址

StackOverflow

编程 计算机网络 10月月更

在vue的v-for中,key为什么不能用index?

bb_xiaxia1998

Vue

操作系统导论:分页

小白钊钊

操作系统 java; 10月月更

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