大家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!
今天给大家带来的主题是 Perspective,即一种交互式分析和数据可视化组件,特别适用于大型、流数据集。话不多说,直接开始。
1.什么是 Perspective
Perspective 是一种交互式分析和数据可视化组件,特别适用于大型、流数据集。 可以使用它来创建用户可配置的报告、仪表板(dashboards)、笔记(notebooks)、编辑表格等应用程序,然后在浏览器中独立部署,也可以与 Python 和 Jupyterlab 协同部署。
Perspective 具有以下明显特征:
- 快速、内存高效的流式查询引擎(streaming query engine),用 C++ 编写并为 WebAssembly 和 Python 编译,具有 Apache Arrow 的读/写/流式处理,以及基于 ExprTK 的高性能柱状表达式语言。
- 与框架无关的用户界面,打包为自定义元素,通过 WebAssembly 在浏览器中或通过 WebSocket 服务器(Python/Node)虚拟地提供支持。
- 一个 JupyterLab 小部件和 Python 客户端库,用于 notebook 中的交互式数据分析,以及可扩展的生产 Voila 应用程序。
下面是 Perspective 的一些生产示例,还是非常惊艳的,更多基于 Perspective 的示例可以在官网查看。
目前 Perspective 在 Github 上通过 Apache-2.0 许可开源,有超过 6.3k 的 star、0.7k 的 fork,代码贡献者 80+,是一个值得关注的前端项目。
2.JavaScript 中使用 Perspective
Perspective 的 JavaScript 库提供了一个由快速流数据引擎提供支持的可配置 UI。 开发人员能够为自由挑选需要的模块,并为用户提供一个干净的用户界面,从而通过它来分析数据。
Node.js 环境安装
Perspective 发布包含多个不同的构建,以便在大多数环境中轻松使用,无论是通过带或不带打包器的 NPM,还是通过 CDN 或 Assets 服务器的