据说最近股市又开始热闹了 :),用 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
9102 次点击
所在节点    分享创造
47 条回复
FloatK
2019-02-19 08:52:35 +08:00
厉害了,楼主,赞一个
pumpkimn
2019-02-19 09:26:16 +08:00
Nb 收藏了.
lovezww2011
2019-02-19 09:46:53 +08:00
你的股票接口,用的哪家的?
anjiannian
2019-02-19 10:12:57 +08:00
求 API + 1
outmanone
2019-02-19 11:14:38 +08:00
@lovezww2011 API 就是新浪的股票 API,免费的那个,当然就是不够稳定。http://hq.sinajs.cn/list=
ddzzhen
2019-02-19 12:29:15 +08:00
不错
SunFarrell
2019-02-19 12:41:26 +08:00
目前跨平台的 UI,开发都不如 WEB 方便?我 QT 不服
outmanone
2019-02-19 12:44:00 +08:00
@SunFarrell 看好你!!
ucanuup
2019-02-19 12:47:28 +08:00
打开怎么就一张 gif 图片
Paaranoia
2019-02-19 13:05:33 +08:00
插个眼
a592974776
2019-02-19 13:09:59 +08:00
年后首次 2000+绿票,可喜可贺
ZiLong
2019-02-19 15:57:56 +08:00
firefox 无法看到数据,只看到$符号飘来飘去,chrome 无问题
edsheeran
2019-02-19 16:06:46 +08:00
中國的事故,不是股市
simon4761
2019-02-19 17:29:18 +08:00
666,求开源+1
MrFat
2019-02-19 17:38:50 +08:00
想问一下你这个项目的股票数据是跟随大盘实时更新的吗?
还是只是每天做一次汇总展示
outmanone
2019-02-19 17:45:39 +08:00
@MrFat 交易时间,每隔 10 秒刷新一次,由于用的新浪免费接口,不能保证完全实时,因为每次获取数据时,估计会有错误发生。非交易时间,用最后一次获取到的数据。
askfm
2019-02-19 18:00:15 +08:00
不明觉厉
hosea
2019-02-19 18:53:17 +08:00
chrome..打开只看到一张$ gif..
haihongblog
2019-02-19 18:58:41 +08:00
这个显示的结果,个人感觉没多少做交易的人是这么看数据的
fromdark
2019-02-19 21:15:54 +08:00
两只跌了一年的股开始疯涨,抓紧时间一波热度,抢在割韭菜前溜。

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

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

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

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

© 2021 V2EX