开场白
众所周知,uniapp是一款跨平台的开发框架。最初了解到uniapp是从微信小程序开始的;其他城市我不知道,至少我可以很负责人说,我17年来合肥的,到现在工作也有7年了,呆过的公司,虽然不是大公司,但只要涉及到做公众号、小程序、APP这些,基本上就永远跑不出vue的圈子。因为早几点小程序的火爆,正好uniapp的写法又无限趋近于vue,上手容易,也不像微信自己搞了一套语法糖;这就让uniapp直接火了。
当然,以上只是我从我的视角去观察的,至于uniapp到底怎么火爆的,我不敢瞎说
迷茫
但有时候,我也很迷惑,uniapp 这也算了经过这么些年洗礼了,为什么总是瞎瘠薄推新技术,一开始,vue,然后推了 nvue,现在又搞了 uvue,为什么咱们国产的东西,就不能好好一把一款产品做好;起初 vue 的版本,模仿小程序的写法,却是一些功能首先;那么扩展除了 nvue,扩展了了手脚,可以理解,但是最近几年,又不知道刮起了什么妖风,又开始整什么uts了(uvue),商业公司都是要赚钱的可以理解,但为啥就不能把一个老东西善始善终呢?
有时候我也很迷惑,dcloud作为一家商业公司,当真是不知道自己的客户群都是为什么用uniapp,说句难听的,不就是为了节约成本吗?对,招一个前端,公众号、H5、多端小程序、APP。直接省掉了原生开发的成本(我不是说要断掉原生开发的财路,我也没这个能力断;就事论事不针对任何行业,大家都是臭打工的),现在 dcloud 自家编辑器一坨屎,vue 和 nvue 不去完善,跑去投入精力搞 uvue(uniapp-x),到底是怎么想的呢?
是,我不否认,ts快成前端主流了,上vue3,上uts,可以理解。但是,不能说后者还没前者功能完善,就为了向国外某些框架学习吗?是,我也不否则,从技术层面上讲,确实有些东西国外的东西就是香,但作为一个商业化的公司,是完全不对自己的用户群体负责吗?而且,dcloud应该也不是不至于不上 uvue 就要宣布破产吧?
宇宙免责声明
为什么我说,我很不理解 uniapp-x,不是代码层面的不理解;而是这玩意出现的意义何在?难道 dcloud 要靠一己之力托起原生开发的工作范围?试问真有几家公司会因为一个“功能”,招个原生开发写插件?确实,会有公司这么做,但这根本不是主流吧?
我举一个最简单的例子吧,不考虑 uniapp-x 的情况下,只用传统的 uniapp 技术栈做 app,那么,从 vue 和 nvue 的角度说,我不敢说全部,至少大部分,正常需求都是可以满足的;至少原生不是必须的;
现在做APP,都是来回抄,我说,有个在线客服,不过分吧?我说有个私信聊天不过分吧?我说,有个本地缓存的历史记录,不过分吧?
- 本地缓存历史记录,可以,确实可以用
uni.setStorageSync硬存不假,包装一下问题不大; - 但聊天记录这玩意,用
uni.setStorageSync去存,是不是多多少少有点搞笑了呢?正常都是上sqlite - 好,问题来了,vue & nvue 都可以借助 plus,也就是 dcloud 前身 mui 那一套 plus 的机制在app上操作数据,但是高潮来了,uniapp-x 我麻了,直接废掉了 plus 相关的 api,这?怎么想的?
- 本来一个全新的技术栈,不说非要完全向下兼容,不能说这么儿戏吧?
尾声
这是我来掘金的第一篇帖子,或许也是最后一篇帖子;现在是凌晨1点,2024年马上就要结束了;本来这一篇帖子我是准备宣传一下我自己的封装的 cos 库的,结果批判 uniapp 写了一大段;唉,我能为 uniapp 做得也不多了,希望uniapp越来越好吧!