要想提高工作效率,必须得有好的工具。大数据有很多组件,但是邪了门儿的就是,竟然没有一个好用的客户端程序。
没办法,我只好用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. 初学node遇到的问题(慢慢补充)

    一.看到菜鸟教程的Web模块运行client.js的时候遇到报错: E:\node\server>node client.js events.js:72throw er; // Unhandle ...

  2. Python中使用多进程来实现并行处理的方法小结

    进程和线程是计算机软件领域里很重要的概念,进程和线程有区别,也有着密切的联系,先来辨析一下这两个概念: 1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和 ...

  3. VS2010与Matlab2010b混合编程

    环境: 1.VS2010 2.MATLAB 2010b 3.WINDOW 7 (X64) 1.Matlab环境设置 要建立独立运行的C应用程序,系统中需要安装Matlab.Matlab编译器.C/C+ ...

  4. JDK1.8环境下依然报错 Unsupported major.minor version 52.0

    JDK1.8环境下依然报错 Unsupported major.minor version 52.0 在配置elasticsearch-rtf全文搜索引擎时,按照Github上项目readme.md来 ...

  5. SQL动态长度行列转置

    一,案列问题描述: 某销售系统中,注册的用户会在随后的月份中购物下单,需要按月统计注册的用户中各个月下单的金额.源数据表如下: FM::注册月份,CM: 下单月份, AMT:下单金额 期望得到如下统计 ...

  6. js中Array数组的属性和方法

    这是我自己整理出来的一些关于Array数组的属性和方法,即查即用. 1.Array.length属性:数组的项数组,始终返回0或者更大的值. 2.instanceof操作符:value instanc ...

  7. 20155219付颖卓《网络对抗》EXP7网络欺诈技术防范

    实验后回答问题 1.通常在什么场景下容易受到DNS spoof攻击 在公共共享网络里,并且同一网段可以ping通的网络非常容易被攻击. 2.在日常生活工作中如何防范以上两攻击方法 不在不信任的公开网络 ...

  8. ubuntu18.04 下利用conda安装opencv3

    ubuntu18.04 下利用conda安装opencv3 安装opencv3 conda install -c https://conda.anaconda.org/menpo opencv3 出现 ...

  9. 7 种 join

    DROP TABLE IF EXISTS `test_student`; CREATE TABLE `test_student` ( `id` ) NOT NULL COMMENT '学号', `se ...

  10. 找出n之内的完全数, 并输出其因子

    定义: 完全数:所有的真因子(即除了自身以外的约数)的和,恰好等于它本身.例如:第一个完全数是6,它有约数1.2.3.6,除去它本身6外,其余3个数相加,1+2+3=6.第二个完全数是28,它有约数1 ...