写点什么

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

评论 2 条评论

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

JVM学习笔记——JVM类加载机制

王海

Java 面试 JVM

Flink 源码分析之写给大忙人看的 Flink Window原理

shengjk1

flink flink源码 flink window

官方源、镜像源汇总

JackTian

镜像源 官网源

个人编程技能全景图

南山

国内首个区块链电子档案平台上线

CECBC

区块链技术 防伪 溯源 电子档案

为什么软件交付要快?因为要有赢的感觉!

刘华Kenneth

DevOps 敏捷 MVP 最小可用产品 持续交付

ARTS打卡计划_第二周

叫不醒装睡的人

ARTS 打卡计划

程序员陪娃系列——叛逆小娃回归

孙苏勇

程序员 陪伴

愚蠢写作术(4):怎么让写作从开始到放弃

史方远

读书笔记 个人成长 写作 随笔杂谈

硬核!30 张图解 HTTP 常见面试题

小林coding

https 计算机网络 计算机基础 HTTP

小师妹学JavaIO之:用Selector来发好人卡

程序那些事

io nio 「Java 25周年」 小师妹 selector

ARTS|Week 3 本周的主题可能是乱

Puran

ARTS 打卡计划

编程基础

南山

【在云端 001】欢迎来到云原生

Bora.Don

云计算 云原生

架构训练营作业-20200614

caibird1984

架构师训练营总结-20200614

caibird1984

Shell的技巧小总结(MIT Missing Semester)

Henny

Shell MIT 计算机 Computer Science 计算机工具

大话设计模式 | 2. 策略模式

Puran

C# 设计模式

1. 版本管理工具及 Ruby 工具链环境

Edmond

rubygems CocoaPods VersionControl PackageManager Git Submodule

利用工作日志提高效率

Janenesome

思考 工作方式

架构师训练营第一讲-学习总结

索隆

ARTS Week4

丽子

你了解 SpringBoot java -jar 的启动原理吗?

猴哥一一 cium

面试 Spring Boot Fat-JAR JAR URL Java 25 周年

推荐几款有意思的小众 App(06.13)

静陌

产品 App

仓储控制系统(WCS)软件可靠性设计

申扬科技

仓储控制系统 WCS 可靠性设计 容错性 易恢复性

使用 Docker 镜像 | Docker 系列

AlwaysBeta

Docker 容器 虚拟私有云

架构师训练营作业1-食堂就餐卡系统设计

索隆

GoF 23种设计模式

无心水

设计模式 GoF 23种设计模式

软件设计原则作业

qihuajun

ARTS Week 3

时之虫

ARTS 打卡计划

软件设计原则学习总结

qihuajun

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