项目管理者必知:适用于仪表盘项目的7个优秀JavaScript库
仪表盘是用于目标或业务流程的视觉指示工具,也用于切割杂乱无章的数据,从而分割出要点的重要工具。它可以帮助评估信息并及时做出正确的决定,一款实时可视化的仪表盘通常由图标、测绘图、图形符号以及数据表格等组成。
作为项目经理,经常会面临“我们的进度怎么样了,接下来会怎么样?”这样的问题。如何用最少的几个关键指标说明项目的整体情况成为考验项目管理者的大难题!
就像开汽车,虽然汽车运行中的各种参数非常多,但仪表盘上只要显示速度、转速、油量、水温等基本信息可以确保正确驾驶。对于刹车、离合、机油和安全气囊等其他信息,只在有问题的时候报警。这样驾驶者就可以将注意力集中方向、速度和道路情况上,而不必去关注大量的数据。所以“要是能用个仪表盘一样的东西把项目最主要的数据信息显示出来就好了!”
目前市场上有一些开源或商业的库用于创建仪表盘,在本文中,我们将会展示一些可帮助创建美观且可自定义的仪表盘的 JavaScript 库,希望可以对您的工作有所裨益。
在介绍这7款JavaScript库之前,我们先来了解一个问题:项目管理者在仪表盘开发中应该起到什么作用?
项目管理者在仪表盘开发中的作用
要实现一个仪表盘方案的交付需要许多人的通力合作,项目管理员的职责就是将每一个成员紧密的结合起来,并高效的完成项目开发工作,同时管理项目的开发进度。项目管理员主要关注两个方面:
1)数据
正如前面所提到的,数据是项目中最复杂的部分。这是因为已经存在的数据库架构和仪表盘需求总是无法匹配起来,开发人员必须付出艰辛的努力来确保商业指标背后有数据,如果没有数据,数据库架构就不得不扩展或重新设计以匹配新的数据。项目管理员可以咨询数据库团队关于这部分工作大概需要的时间,以作出合理分配。
2)选择仪表盘系统
需求总是不停的在变化,这是任何软件开发都不得不面对的事实。IT团队应该和商业分析师合作,确保选中的仪表盘系统能够把握变化着的需求。唯一能将变化带来的风险最小化的方法是根据个人经验和对仪表盘系统的掌握情况。
7大优秀JavaScript库
1. Gridster.js

Gridster.js 是Ducksboard的开源项目。它是一个 jQuery 插件用来构建直观的可拖放的布局,支持多列布局,你还可以动态的添加和删除表格中的元素,甚至可以获得一个具有所有小部件位置的对象的 JavaScript 数组,从而可以在以后使用这些数组来加载小部件。
主要特性:
只依赖jQuery;
支持元素的添加和删除;
文档比较全;
拥有测试用例,你可以查看你的浏览器的测试结果;
比较适合开发益智游戏;
点击文档查看更多信息
源代码:https://github.com/dsmorse/gridster.js
2. angular-gridster

这是一个用于 Angular JS 的格子状小部件的实现。它具有 jQuery gridster 插件等功能,但也具有一些其他的功能。它完全使用 Angular 指令重写,并允许使用 Angular 的数据绑定功能。查看文档以了解更多信息。
源代码:https://github.com/ManifestWebDesign/angular-gridster
3. gridstack.js

gridstack.js 是一个用于小部件布局的 jQuery 插件,主要是受到gridster.js的启发开发而成。它是一个可拖放的多列网格。此外,它还允许你构建可拖拽的响应式 Bootstrap v3 的友好布局。
它还适用于 knockout.js、angular.js 以及触摸设备等。查看gridstack.js文档以了解更多。
源代码:https://github.com/troolee/gridstack.js
4. jQuery Gridly

jQuery Gridly 是个网格式的拖放移位 jQuery 插件,此插件还有其它特色功能,比如关闭、点击放大、增加模块等等 。点击文档了解 Gridly。
源代码:https://github.com/ksylvest/jquery-gridly
5. Packery
Packery 是一个 JavaScript 库和 jQuery 插件,可用于生成无缝且可拖拽的布局。它使用 bin-packing 算法来填充空隙,其布局可以是智能有序的,也可以是有组织狂野的。节点可以被固定在某一处,或找到某一处完美的地方,也可以被随意拖动。
它适合用来创建一个可拖拽的仪表盘以及无缝的 “砖石图像画廊(Masonry image galleries)”布局。点击文档了解 Packery。
源代码:https://github.com/metafizzy/packery
6. GridList

GridList是一个构建在GridList 类之上的 jQuery 库,它是一个响应式可拖拽网格布局,可以动态增加网格,改变网格的大小,根据网格数量及尺寸计算网格进行合理的流体布局。点击文档了解更多信息。
源代码:https://github.com/hootsuite/grid
7. Dazzle

Dazzle 是使用 React JS构建仪表盘的库。它不依赖于任何前端库,但这一因素使它更容易与前端库相集成。它允许你使用它来创建基于网格的布局,添加或删除小部件以及拖放小部件等。点击查看演示步骤。
源代码:https://github.com/Raathigesh/dazzle
结论
最终,你选择投入使用的库还是要归结为个人的偏好以及您和您的团队工作的类型等因素。因此,选择符合您项目需求的产品会帮助你节省时间和金钱,实现最佳的工作效益
项目管理者必知:适用于仪表盘项目的7个优秀JavaScript库的更多相关文章
- .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上下文环境检查(实战)
Microsoft.NET 解决方案,项目开发必知必会. 从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术点,所以我称为必知必会.尽管这一系列是使用.NET/C# ...
- Android项目的targetSDK>=23,在低于Android6.0的部分测试机(类似华为)上运行时出现的系统权限问题
相信大家对Android6.0以上的动态权限已经有所了解,很多童鞋也已经跃跃欲试地将自己项目的targetSDK升级到了23及其以上,很不幸的是我也成为了其中一员,然而我还是图样图森破了,升级之后的问 ...
- 团队项目——编写项目的Spec
团队项目--编写项目的Spec 一.Spec的目标 spec主要用来说明软件的外部功能,和用户的交互情况,主要用来说明软件内部的设计.图片编辑器是与生活息息相关的一个必备软件,随的流行, ...
- 09_Android中ContentProvider和Sqllite混合操作,一个项目调用另外一个项目的ContentProvider
1. 编写ContentPrivider提供者的Android应用 清单文件 <?xml version="1.0" encoding="utf-8"? ...
- 错误 : 资产文件“项目\obj\project.assets.json”没有“.NETCoreApp,Version=v2.0”的目标。确保已运行还原,且“netcoreapp2.0”已包含在项目的 TargetFrameworks 中。
升级 vs201715.6.3之后发布出现 错误 : 资产文件“项目\obj\project.assets.json”没有“.NETCoreApp,Version=v2.0”的目标.确保已运行还原,且 ...
- eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目)
eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目) NO1 导入时依次选择 import > Maven > Existing Maven Projects ...
- eclipse 使用tomcat运行JavaWeb项目,文件修改后为何不用重启tomcat? (运行web项目的4种方式)探究
1.情景说明 在eclipse中,为什么Java文件修改后,重启tomcat class文件才能生效? 为什么jsp修改后,不需重启tomcat就能立即生效? 为什么静 ...
- Android studio 添加引用Module项目 与 设置Module项目的Libs的Jar在主项目里使用
前言 添加引用Module项目 设置Module项目的Libs的Jar在主项目里使用 1.在项目里添加libs包,并且加入jar 2.设置这个module项目的build.gradle depende ...
- Bug2020011601,在ssh项目的applicaitonContext.xml中,少了一个双引号,打包成功(没报错),项目运行才发现
在ssh项目的applicaitonContext.xml中,少了一个双引号,打包成功(没报错),项目运行才发现. 加上少的双引号,解决了.
随机推荐
- WPF样式学习三
SnapsToDevicePixels 获取或设置在呈现过程,该值来确定呈现此元素是否应使用特定于设备的像素设置. 这是一个依赖项属性. true ,如果元素应以符合呈现到设备像素;否则, false ...
- Android(java)学习笔记80:Html嵌入到Java显示乱码
1. Html嵌入到Java显示乱码: 解决方案: 使用 loadData方法是中文部分会出现乱码,即使指定“utf-8”.“gbk”.“gb2312”也一样. webView.getSettings ...
- bzoj1189 [HNOI2007]紧急疏散
Description 发生了火警,所有人员需要紧急疏散!假设每个房间是一个N M的矩形区域.每个格子如果是'.',那么表示这是一块空地:如果是'X',那么表示这是一面墙,如果是'D',那么表示这是一 ...
- swift 命名空间实现的设计思考:extension YKKit where Base == String
设计问题:谁来构造.构造什么.怎么添加新功能 关键词:本体.客体.构造.映射.功能. 别名:桥接变量.型变变量.容器变量.适配变量,构造变量: 目的:添加命名空间.添加新功能. 原则:不修改本体的实现 ...
- 【51nod1743】雪之国度(最小生成树+倍增)
点此看题面 大致题意: 给你一张无向连通图,其中每条边的边权为这条边连接的两点的权值之差.每次询问两点之间是否存在两条不重复的路径,若存在则输出这两条路径上最大值的最小值. 大致思路 这题显然就是要让 ...
- python_70_内置函数2
#hex() 转16进制 oct()转8进制 print(hex(255)) print(oct(10)) #id() 返回内存地址 print(id('a')) ''' isinstance(obj ...
- 1.redis 安装
1.https://redis.io/download. 2. $ wget http://download.redis.io/releases/redis-3.2.9.tar.gz $ .tar.g ...
- 在Drupal7中创建web接口
Services 模块允许您从一个主要模块后端配置和管理区域启用您 Drupal 站点上自定义构建的内容服务器和服务.该模块中包含的服务允许您调用内容,从 Drupal 的默认和分配的 File.Co ...
- 黑马基础阶段测试题:创建Phone(手机)类,Phone类中包含以下内容:
package com.swift; public class Phone { private String pinpai; private int dianliang; public String ...
- Java 窗体的基本操作语句 JFrame
package com.swift; import java.awt.Color; import java.awt.GridLayout; import java.util.Random; impor ...