简单说:脱裤子放屁。
深入点说:桌面应用可以用的UI支持比网页那残疾水平的CSS高了五百万个JS。
你这想法基本上相当于“我看三轮童车挺好用的,为什么富豪们都不买童车买迈巴赫啊?如果富豪们都骑三轮车,有什么优点和缺点呢?”
嗯,优点是很好笑,令人心情愉快;缺点是可能把人笑死。
从技术角度来说,不管是使用哪一种方式,都可以完成任务,没有实现不了的功能。
但是在实际应用当中,一些涉及复杂计算,图形处理,还是用CS架构比较好。
如果业务并不复杂,或者支撑能力很强,可以考虑bs架构。
最大的缺点就是复杂元素的渲染
你可以试着做一个10w行级别的复杂列表滚动
套壳的话你基本上得卡的动弹不得
但是完全native组件的话这样的长列表简直是小case,系统都给你优化的非常好了
utorrent最新版就是把界面给做到浏览器里去了,结果就是新版utorrent无法下载我手头几个文件数量达到3w个级别的种子
steam新的游戏库,库里游戏达到上千个之后也会卡的几乎不能自理,必须分组显示否则真的卡
套壳目前对于长列表真的很难处理好,如果用lazy load的话对于滑动加载的问题不大,但用户没法直接拖右侧滑块一拉到底,或者就是一拉到底马上无响应
当然,你可以用wasm+canvas做,会流畅很多,但这样都把套壳唯一的优势方便给舍弃了,我为什么不直接写native组件呢?难不成有人觉得webgl这种阉割过的东西比得过桌面的d3d?webgl连xp的d3d9都打不过好不好
一般这么干的,主要是因为要发太多平台,且产品是先做web,再转到“native”,又没有精力搞那么多种native开发。
但,目前有electron这种技术存在了,就没必要了。