据说最近股市又开始热闹了 :),用 Java 多线程 + Vue 搞了一个 A 股大屏,看能不能找个好工作。

2019-02-18 16:52:32 +08:00
 outmanone
随着这几年 Web 大前端的发展,特别是单页 Web 应用( single page web application,SPA )的进步,加上各种前端框架( Vue,React )的推波助澜,如果现在有人告诉你,通达信的所有功能都可以全部移植到 Web 页面上,并实现跨平台运行,那么不要怀疑,这早已可以实现,只是横跨两种行业的隔阂拖延了这种事情的发生; 或许已经发生,你还并不知道而已,比如广发证券的跨平台 Web 终端,就是一种尝试。

由于目前 Web 底层的协议已经越发成熟,HTTP2,Websocket,这些协议也被各种现代浏览器所支持,使得数据推送变得更加流畅,一个股票终端要求的实时性应运而解。一旦把一个股票终端的所有功能迁移到 Web 上面,就间接实现了股票终端的跨平台运行,这里的跨平台特指计算机操作系统( OS) 的跨平台,之后目标客户无须安装任何软件,就可以在 Windows,MACOS,Linux 任何可以运行浏览器的机器上登陆股票终端,甚至在智能电视上也没有问题。

一旦满足了股票终端的实时性要求,那么股票终端的其他功能,其实更容易被 Web 技术实现,或者说用现有的 Web 技术来实现其他功能,反而更有优势,软件的开发与迭代速度更快,软件的自动升级优势会展现的淋漓尽致,你终于不用打电话提醒用户升级终端了:)

虽然上面说了那么多 Web 技术,但终究只是 UI 层面的东西,一个股票终端的 UI 层被 Web 技术替换后,后端我们该采用什么技术来满足 UI 层的需求呢?这其实引出了另外一个比较重要的问题,那就是为什么非得要使用 Web 技术来开发 UI,除了跨平台,无忧升级之外还有其他优势吗?是的,还有,那就是后端技术和前端彻底分离了,前后端可以使用完全不同的架构,语言来开发,后端的服务可以微服务化,分布式部署,以满足强并发的需求。比如后端不再局限于 C++,可以用 Java, Python, Golang 开发各种微服务 API 供前端调用,然后使用 Service Mesh 来对多语言微服务进行管理;前后端的通讯仍然依赖 HTTP1/HTTP2 , Websocket 这些现有技术,最终实现前后端架构的解耦。

程序员的世界里面有一句经典名言:Talk is cheap,Show me the code. 现在引入我们今天的主角:A 股大屏。为了将上面提到的技术应用于实践,我模仿股票终端的某些功能,开发出了终端 Web 化的第一个版本,目前已经可以做到:1,少量的统计; 2,定时刷新全市场所有股票价格。(你可以从这里访问 http://aiworkroom.com ,但建议是在电脑或者更大的屏幕上面查看) 后续功能会慢慢放出,敬请期待。由于是实验性质,所有股票行情的 API 均来自网上公开数据,后端采用 Java 开发,多线程定时获取行情数据,采用 Websocket 推送到浏览器;前端 UI 是使用 Vue 开发的 SPA。

以上内容来源于我的微信文章: https://mp.weixin.qq.com/s/nvD810hYCZhiGZG0oRkitQ
大屏访问地址: http://aiworkroom.com
9057 次点击
所在节点    分享创造
47 条回复
wu67
2019-02-18 17:48:57 +08:00
方便贴一下源码吗, 想学习一波
AngryPanda
2019-02-18 17:51:13 +08:00
NB
AngryPanda
2019-02-18 17:55:48 +08:00
「这其实引出了另外一个比较重要的问题,那就是为什么非得要使用 Web 技术来开发 UI,除了跨平台,无忧升级之外还有其他优势吗?是的,还有,那就是后端技术和前端彻底分离了,前后端可以使用完全不同的架构,语言来开发,后端的服务可以微服务化,分布式部署,以满足强并发的需求。比如后端不再局限于 C++,可以用 Java, Python, Golang 开发各种微服务 API 供前端调用」

不用 Web 技术构建 UI,也能做到后面说的这些啊。难道我的理解不对?
outmanone
2019-02-18 18:03:11 +08:00
@AngryPanda 目前跨平台的 UI,开发都不如 WEB 方便。
outmanone
2019-02-18 18:04:05 +08:00
@wu67 还没有做完,做完了,就开源。还有敲击股票代码,显示详情没有做完。
boss1024
2019-02-18 18:17:42 +08:00
赞一个 收藏了
coreos
2019-02-18 18:44:37 +08:00
看了下 就几个是绿的。
神奇的国度啊
ArcherD
2019-02-18 18:54:09 +08:00
这个全部都展示出来了。内存和 cpu 占用有点大。应该可以只展示和更新屏幕上能看到的。
vtwoextb
2019-02-18 18:59:39 +08:00
NB

赞一个
wanglufei
2019-02-18 19:08:52 +08:00
韭菜生生不息
shujun
2019-02-18 19:15:39 +08:00
可以搞一个汇总 dashboard。看起来比较直观。
今天全线上涨,神奇的国度啊

不管你们服不服,反正我是服了
shujun
2019-02-18 19:16:00 +08:00
开源出来大家一起搞着玩
RX03
2019-02-18 19:21:41 +08:00
求开源+1
zdb1115
2019-02-18 19:59:48 +08:00
求开源+1
cnmb10086
2019-02-18 20:16:41 +08:00
打板敢死队是时候出动了😂😂😂
dabaibai
2019-02-18 20:33:00 +08:00
不知道是按涨幅排序 还是按啥排序 看的脑壳疼
dremy
2019-02-18 20:36:10 +08:00
求 API
mingyun
2019-02-18 21:53:52 +08:00
春天到了
chaoxuanxiaok
2019-02-18 23:26:28 +08:00
满堂红,看着极为赏心悦目
airfling
2019-02-19 08:35:45 +08:00
可以加个排序,就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/536200

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX