开发完wpf版本后开发web版本被完虐
wpf版的客户端已经能很好的跑起来后给,该开发web端了,想想以前用过mvc5 + avalon + amd加载,后面玩过angular1 + web api,现在想着该最新的了
于是开始了血泪史
1,angular8
我们的界面基本上就是点菜单加一个tab,而不同的tab之间要能够流畅的切换,并且只能用显示隐藏来切换,后面会说原因
用了一个组件 ndc-dynamic 来动态加载组件,不错,终于能把界面搭起来了
然后发现ng8不支持中文名来绑定, 我们行业很多变量从plc出来的,那边的人基本都是中文命名,不管用哪种办法转英文都会带来麻烦,绝对不行
2, vue2.0 + typescript
vue和ts的组合网上找资料还有点难,好不容易成型了,开始测试chart组件的性能
https://www.cnblogs.com/gxrsprite/p/12160032.html
然后发现,chrome的64位版本 加上 --args --js-flags="--max_old_space_size=4096"属性,js最多也就给2g内存用,并且界面非常卡顿,而我们擅长的就是八联罐,跑十几天的数据,最后客户全部一起看,这个操作wpf完全扛得住还非常流畅,web端echart highchart,一个就卡的快受不了了,echart多个直接爆内存,这个数据量用v-show切换都开始卡了,更别说什么router-view了,那玩意不需要这么大数据切起来就很慢了
但是我想单页面不可能了,要不就新建窗口传参,在通过识别url动态增加tab,这样就分配到不同进程上去了,不至于一口气崩溃,虽然一个页面也承载不了所需要的chart量。
然后又被webpack虐了,配了半天就是个麻烦版本的bundle,我想要配置成amd加载这种按需延迟加载的,配不成,也不方便,合着前端从各种require到各种import一路下来,基本上没进步嘛。
结尾: 使用a标签右键新开页面,新开的页面利用路由识别,添加tab页,完成在新窗口打开动作,使用单页开发模式开发了多页模式