要想提高工作效率,必须得有好的工具。大数据有很多组件,但是邪了门儿的就是,竟然没有一个好用的客户端程序。
没办法,我只好用antd+webview自己做了一款跨平台的桌面应用。

先看下效果。

这是github地址:https://github.com/CJSoldier/whitepawcat。我一个人做有点孤单,还有点累,希望能跟大家一起玩。

为什么要做成桌面应用,做成web服务,用浏览器不好吗?

我觉得不好。因为我经常打开太多tab页了,到时候就不知道哪个tab也是咱们的大数据客户端程序了。而且当我们把右边所有的tab都关闭时,很可能会把我们的大数据客户端也关了。还有一个不好的地方就是没办法用alt+tab来切换应用。

做成web服务的形式不是不可以,但是比较尴尬。首先它会占用一个端口,我不喜欢看到“端口冲突” 的错。
更重要的是,做成web服务的话,jar包冲突怎么解决? 就算自定义一个classloader,每次加载不同的jar包。但是这个http服务什么时候开启呢?
在双击程序之后就立马启动还是提前部署到某个地方?

要知道这是桌面应用诶,桌面应用不应该是一双击就能用的吗?

为什么不用electron?

因为打包后文件太大,而且启动速度太慢。VS Code启动速度很快呀。 对,但它是微软出品的。一般情况下用electron打包的程序启动很慢的。我试过。

为什么不用bootstrap+jquery?

因为react可以做成单页面,这样看起来更像桌面程序。而且,似乎react渲染的更快一些。

为什么用自定义一个classloader来加载Jar包?

这是为了解决jar包冲突的问题。试想一下,我要连接两个版本的Hbase,一个是0.94,一个是1.2.0,如果jar包都放在一起冲突了怎么办?

为什么Java代码不做成服务的形式

我不想占用用户的端口。而且我觉得这是个真·桌面程序,不想让它看起来像一个web程序。

webssh不还是用了bootstrap+jquery?不还是要占用一个端口?

问的好。 我自己没本事做一个ssh客户端程序。只好把huashengdun/webssh直接拿来用了。 这个我也是无奈。如果你有心,你可以用react-xterm+java来做一个ssh,感激不尽。

为什么有很多硬编码?

约定大于配置,我是这样安慰自己的。

为什么代码看起来很矬?

Keep it simple stupid,我是这样安慰自己的。

为什么没有Linux版本的?不是号称跨平台嘛?

问的好。因为webview在linux下编译需要安装gtk-webkit。我没装成功。
这是zserge/webview的地址: https://github.com/zserge/webview.
你可以按文档说的试一下,其实不难的。

感觉开发起来好复杂

乍一看是复杂,我在写README的时候就感觉到了。 仔细一想其实不复杂。 C代码不用动,第一步就不用编译了。webssh我也已经编译好了。除非你修改了需要重新编译,否则直接从release里拷贝一份就可以了。 剩下的就跟开发web应用一模一样了。

用antd和webview打造一款大数据客户端程序的更多相关文章

  1. 3款大数据bi工具,让企业数据分析更简单

    ​企业数据可视化的髙速发展趋势让互联网时代的数据分析及可视化拥有全新的面貌.企业针对信息内容的数据分析及可视化,的要求在日益严格,那么有哪些在企业数据分析方面做得好的大数据bi工具呢? 一.大数据bi ...

  2. php 在线 mysql 大数据导入程序

    1 <?php header("content-type:text/html;charset=utf-8"); error_reporting(E_ALL); set_tim ...

  3. [Hadoop 周边] Hadoop和大数据:60款顶级大数据开源工具(2015-10-27)【转】

    说到处理大数据的工具,普通的开源解决方案(尤其是Apache Hadoop)堪称中流砥柱.弗雷斯特调研公司的分析师Mike Gualtieri最近预测,在接下来几年,“100%的大公司”会采用Hado ...

  4. Hadoop和大数据:60款顶级大数据开源工具

    一.Hadoop相关工具 1. Hadoop Apache的Hadoop项目已几乎与大数据划上了等号.它不断壮大起来,已成为一个完整的生态系统,众多开源工具面向高度扩展的分布式计算. 支持的操作系统: ...

  5. 【转载】Hadoop和大数据:60款顶级大数据开源工具

    一.Hadoop相关工具 1. Hadoop Apache的Hadoop项目已几乎与大数据划上了等号.它不断壮大起来,已成为一个完整的生态系统,众多开源工具面向高度扩展的分布式计算. 支持的操作系统: ...

  6. Hadoop和大数据:60款顶级开源工具(山东数漫江湖)

    说到处理大数据的工具,普通的开源解决方案(尤其是Apache Hadoop)堪称中流砥柱.弗雷斯特调研公司的分析师Mike Gualtieri最近预测,在接下来几年,“100%的大公司”会采用Hado ...

  7. PayPal高级工程总监:读完这100篇论文 就能成大数据高手(附论文下载)

    100 open source Big Data architecture papers for data professionals. 读完这100篇论文 就能成大数据高手 作者 白宁超 2016年 ...

  8. PayPal 高级工程总监:读完这 100 篇文献,就能成大数据高手

    原文地址 开源(Open Source)对大数据影响,有二:一方面,在大数据技术变革之路上,开源在众人之力和众人之智推动下,摧枯拉朽,吐故纳新,扮演着非常重要的推动作用:另一方面,开源也给大数据技术构 ...

  9. 大数据和BI商业智能有何区别?有何相关?

    大数据 ≠BI商业智能,大数据也不是传统商业智能的简单升级. 1.大数据和BI两者的区别 BI(BusinessIntelligence)即商业智能,它是企业数据化管理的一整套的方案,用来将企业中现有 ...

随机推荐

  1. AutomaticReferenceCounting.html#runtime-support

    https://clang.llvm.org/docs/AutomaticReferenceCounting.html#runtime-support Runtime support This sec ...

  2. 事务的ACID特性(转)

    ACID特性 数据库中的事务(Transaction)有四个特性,分别是:原子性(Atomicity),一致性(Consistency),隔离性(lsolation),持久性(Durability) ...

  3. 20175120彭宇辰 《Java程序设计》第六周学习总结

    教材学习内容总结 第七章 一.内部类与外部类的关系 1.内部类可以使用外嵌类的成员变量和方法.2.类体中不可以声明类变量和类方法,外部类可以用内部类声明对象.3.内部类仅供外嵌类使用.4.类声明可以使 ...

  4. Python:从入门到实践--第十一章--测试代码--练习

    #1.城市和国家:编写一个函数,它接受两个形参:一个城市名和一个国家名. #这个函数返回一个格式为City,Country的字符串,如Santiago,Chile.将这个函数 #存储在一个名为city ...

  5. 30天代码day2 Operators

    Operators These allow you to perform certain operations on your data. There are 3 basic types: Unary ...

  6. html5 知识点简单总结02

    三个列表: 1.无序列表 默认样式  实心小圆点 ul type属性 "square" 实心方形 type属性  "circle" 空心圆 type属性  &q ...

  7. linux自动备份lampp的日志

    要求是:每天23:59自动备份lampp的日志/opt/lampp/logs/access_log 放到这个目录下/tmp/bak 命名格式:access_log.日期 1.新建shell脚本#vi ...

  8. Winform中Picture控件图片的拖拽显示

    注解:最近做了一个小工具,在Winform中对Picture控件有一个需求,可以通过鼠标从外部拖拽图片到控件的上,释放鼠标,显示图片! 首先你需要对你的整个Fom窗口的AllowDrop设置Ture ...

  9. 2018.8.8 SpringMVC分层

    分层: 表示层:请求分发,调用处理器,页面展示. 业务层:业务处理接口和实现. 持久层:数据访问和持久化. 各层之间解耦,下层对上层透明. 具体代码分析如下图,图转自https://blog.csdn ...

  10. mysql 安装不了的问题解决

    MySQL Won't Install on Ubuntu 11.04 Ask Question up vote 1 down vote favorite It was working fine be ...