thin client pitfall
20231107-thin-client-pitfall
发现在开发很多问题排查&提效工具时, 服务端同学仍然陷入定势思维. 强调服务端优先, 瘦客户端. 从而导致整体实现过为臃肿, 开发&改造周期长, 性能不太好等问题.
但个人思考, 要跳出定势思维与舒适区, 定义好服务端&客户端的边界. 把很多功能放到 前端 或者 与Alfred整合, 可以很好地解决上边的问题.
插件&工具 经常会处于鄙视链底端, 大家都想要做平台, 把饼画得大大的.
但实际上好的插件&工具, . 例如, 支付宝是不是个工具? 微信其实本质也是个工具. 为啥会觉得做工具Low呢?
举几个例子:
- Tracing 系统, 关键词过滤
N多个上下游系统, 通过traceId(UUID)把请求关联. 建设了一个Tracing系统. 具体实现是:
想要输入某个traceId之后, 会把traceId拼接成SLS SQL, 请求服务端→请求SLS获取结果.
如果想要基于traceId再添加其他关键词进行进一步筛选:
- 目前实现: 输入其他关键词后, 继续拼接SLS SQL, 请求服务端→请求SLS获取结果. 太耗时了, 很容易把使用者的耐心消耗掉. 尤其是在需要频繁修改附加关键词的时候.
- 个人建议: 把关键词筛选直接放在前端, 前端有很多很好用的搜索框架. 例如 Fuse.js | Fuse.js https://github.com/mattyork/fuzzy 等
- 多账号登录Chrome插件
- Alfred插件
个人也愈发不满Java的笨重, 上来就是一套JVM+Spring, 还得编译打包. 要开发个web应用就更重了, 还得引入servelet容器.
运行时内存overhead也不小.
虽然SpringBoot让开发相对简单了.
但总体来说还是过于臃肿.印象中Java就是一个严肃古板的老学究.
尤其是跟Go/Python比对. 所以多尝试写写Go/Python吧.
Small is beautiful, small is powerful~