V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
outmanone
V2EX  ›  分享创造

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

  •  
  •   outmanone · 2019-02-18 16:52:32 +08:00 · 9070 次点击
    这是一个创建于 2103 天前的主题,其中的信息可能已经有所发展或是发生改变。
    随着这几年 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
    47 条回复    2019-03-02 16:20:18 +08:00
    wu67
        1
    wu67  
       2019-02-18 17:48:57 +08:00
    方便贴一下源码吗, 想学习一波
    AngryPanda
        2
    AngryPanda  
       2019-02-18 17:51:13 +08:00
    NB
    AngryPanda
        3
    AngryPanda  
       2019-02-18 17:55:48 +08:00   ❤️ 1
    「这其实引出了另外一个比较重要的问题,那就是为什么非得要使用 Web 技术来开发 UI,除了跨平台,无忧升级之外还有其他优势吗?是的,还有,那就是后端技术和前端彻底分离了,前后端可以使用完全不同的架构,语言来开发,后端的服务可以微服务化,分布式部署,以满足强并发的需求。比如后端不再局限于 C++,可以用 Java, Python, Golang 开发各种微服务 API 供前端调用」

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

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

    不管你们服不服,反正我是服了
    shujun
        12
    shujun  
       2019-02-18 19:16:00 +08:00
    开源出来大家一起搞着玩
    RX03
        13
    RX03  
       2019-02-18 19:21:41 +08:00 via Android
    求开源+1
    zdb1115
        14
    zdb1115  
       2019-02-18 19:59:48 +08:00
    求开源+1
    cnmb10086
        15
    cnmb10086  
       2019-02-18 20:16:41 +08:00 via Android
    打板敢死队是时候出动了😂😂😂
    dabaibai
        16
    dabaibai  
       2019-02-18 20:33:00 +08:00
    不知道是按涨幅排序 还是按啥排序 看的脑壳疼
    dremy
        17
    dremy  
       2019-02-18 20:36:10 +08:00 via iPhone
    求 API
    mingyun
        18
    mingyun  
       2019-02-18 21:53:52 +08:00
    春天到了
    chaoxuanxiaok
        19
    chaoxuanxiaok  
       2019-02-18 23:26:28 +08:00
    满堂红,看着极为赏心悦目
    airfling
        20
    airfling  
       2019-02-19 08:35:45 +08:00
    可以加个排序,就好了
    FloatK
        21
    FloatK  
       2019-02-19 08:52:35 +08:00
    厉害了,楼主,赞一个
    pumpkimn
        22
    pumpkimn  
       2019-02-19 09:26:16 +08:00
    Nb 收藏了.
    lovezww2011
        23
    lovezww2011  
       2019-02-19 09:46:53 +08:00
    你的股票接口,用的哪家的?
    anjiannian
        24
    anjiannian  
       2019-02-19 10:12:57 +08:00
    求 API + 1
    outmanone
        25
    outmanone  
    OP
       2019-02-19 11:14:38 +08:00
    @lovezww2011 API 就是新浪的股票 API,免费的那个,当然就是不够稳定。http://hq.sinajs.cn/list=
    ddzzhen
        26
    ddzzhen  
       2019-02-19 12:29:15 +08:00 via Android
    不错
    SunFarrell
        27
    SunFarrell  
       2019-02-19 12:41:26 +08:00
    目前跨平台的 UI,开发都不如 WEB 方便?我 QT 不服
    outmanone
        28
    outmanone  
    OP
       2019-02-19 12:44:00 +08:00
    @SunFarrell 看好你!!
    ucanuup
        29
    ucanuup  
       2019-02-19 12:47:28 +08:00
    打开怎么就一张 gif 图片
    Paaranoia
        30
    Paaranoia  
       2019-02-19 13:05:33 +08:00
    插个眼
    a592974776
        31
    a592974776  
       2019-02-19 13:09:59 +08:00
    年后首次 2000+绿票,可喜可贺
    ZiLong
        32
    ZiLong  
       2019-02-19 15:57:56 +08:00
    firefox 无法看到数据,只看到$符号飘来飘去,chrome 无问题
    edsheeran
        33
    edsheeran  
       2019-02-19 16:06:46 +08:00 via iPhone
    中國的事故,不是股市
    simon4761
        34
    simon4761  
       2019-02-19 17:29:18 +08:00
    666,求开源+1
    MrFat
        35
    MrFat  
       2019-02-19 17:38:50 +08:00
    想问一下你这个项目的股票数据是跟随大盘实时更新的吗?
    还是只是每天做一次汇总展示
    outmanone
        36
    outmanone  
    OP
       2019-02-19 17:45:39 +08:00
    @MrFat 交易时间,每隔 10 秒刷新一次,由于用的新浪免费接口,不能保证完全实时,因为每次获取数据时,估计会有错误发生。非交易时间,用最后一次获取到的数据。
    askfm
        37
    askfm  
       2019-02-19 18:00:15 +08:00
    不明觉厉
    hosea
        38
    hosea  
       2019-02-19 18:53:17 +08:00
    chrome..打开只看到一张$ gif..
    haihongblog
        39
    haihongblog  
       2019-02-19 18:58:41 +08:00
    这个显示的结果,个人感觉没多少做交易的人是这么看数据的
    fromdark
        40
    fromdark  
       2019-02-19 21:15:54 +08:00
    两只跌了一年的股开始疯涨,抓紧时间一波热度,抢在割韭菜前溜。
    lovezww2011
        41
    lovezww2011  
       2019-02-20 15:14:59 +08:00
    股票代码 id 从哪里获取的?
    bmos
        42
    bmos  
       2019-02-20 21:54:04 +08:00
    插眼
    zzcflying
        43
    zzcflying  
       2019-02-21 15:12:21 +08:00
    这个做的牛逼
    kn007
        44
    kn007  
       2019-02-21 17:36:59 +08:00
    期待作品
    lovezww2011
        45
    lovezww2011  
       2019-02-22 11:04:21 +08:00
    模仿楼主的页面,我也做了一个股票看板。用 python 做的,演示: https://stock.mypython.me/ 源码: https://github.com/geeeeeeeek/py_stock/
    outmanone
        46
    outmanone  
    OP
       2019-02-22 17:27:30 +08:00
    @lovezww2011 python 的话,用 tushare 的接口要好很多,可以做很多好玩的东西。http://tushare.org/
    kn007
        47
    kn007  
       2019-03-02 16:20:18 +08:00
    hmm,域名卖掉了!?还是?
    今天想上去看看,发现不大对。。

    兄弟开源了么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1485 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 17:11 · PVG 01:11 · LAX 09:11 · JFK 12:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.