随着这几年 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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/536200
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.