- 一些客户端同事反映每天都是"画页面", 工作重复且没有技术含量. 一些人觉得网页完全可以替代客户端, 也有一些人开始想转做服务端开发, 觉得那样可以学到更多知识.
- 也有一些人反映业务逻辑太复杂, 简单的加个按钮也需要考虑好几个判断条件, 稍不注意就改出新bug.
自己想了一下, 其实客户端也有复杂的, 服务端也不一定就能接触到更有技术含量的工作. 具体工作内容有没有技术含量可以从以下维度思考:
重客户端VS轻客户端
- 属于重客户端的有视频\直播\美图\地图等等, 还有游戏. 这些客户端的特点是有特殊的领域技术. 拿视频来说, 用到的技术有视频编解码, P2P, 边下边播, 大文件下载等. 这些功能用web技术不太好实现, 或者效率不高.
- 属于轻客户端的如新闻类\房屋中介类等. 大多是数据的展示和基本点击操作, 没有视频编解码, 没有大文件下载, 没有长连接, 没有大图片展示, 没有高性能的要求.
- 当然, 你做重客户端的程序不一定比做轻客户端学到的东西多. 重客户端的公司会有更多的细分部门, 也许你所在的部门就是"画页面"的工作. 轻客户端也有可能学到东西, 如程序架构, 通用网络库, 通用图片库等.
- 总的来说, 在重客户端的公司学到专用领域知识的可能性更大.
业务逻辑是否复杂可以从以下维度思考:
C2C vs B2C
这里的C2C\B2C不是指的电子商务, 而是指App是否提供自有的内容.
- C2C指产品不提供自有的内容, 只提供用户与用户之间交换信息的服务, 如QQ\淘宝\滴滴\美团, 这些产品提供用户之间的交流的平台, 有的用户之间没有差别, 有的用户之间有差别, 如买家和买家. 这类App的特点之一是登录后才能使用核心功能.
- B2C指产品本身提供内容供普通用户消费. 如视频类\新闻类\地图类App. 这类App的特点之一是会有很多内容类相关工种, 如视频检查\文章编辑\地图采集.
- C2C的服务端一般都保存有大量用户信息. 这类App的测试稍微复杂, 有些特定的情况得用特定的测试账号. B2C服务端会存有很多内容信息, 如视频音频的内容.
- 个人感觉B2C比C2C的业务逻辑会少一些.
总结
如果想学更深的技术, 而又不想被一堆一堆的业务逻辑淹没, 最好就是找个B2C类重客户端的工作.
但是, 现在App变得越来越复杂和综合, 新闻客户端里也有直播, 视频客户端里也有社交, 各种类型之间的界限变得越来越模糊.
网友评论