散分讨论一个关于客户端的老问题
为轮子而生 2016-03-25 08:27:16 公司团队的一个项目在策划阶段引发了一个讨论:究竟是客户端程序好,还是基于浏览器好。虽然说“选择要依赖于需求”,但作为一个开发客户端程序很多年的程序员来说,我在主观上不太承认所谓的“客户端能做的浏览器都能做”、“bs比cs安全、方便”等说法,我觉得,浏览器对于计算机领域来说,只能作为数据展示的工具,而其他功能会受到诸多限制,现在所谓的“都能做”,也不过是通过各种牵强的方法间接实现而已,其实过程仍然复杂;而客户端程序的开发就相对直接一些,可控性强。我没有见过哪个股票交易终端或行情软件是用浏览器做的(即便有,用户也不会习惯),QQ网页版仍然没有用户,VisualStudio也不会有bs版…… 发此贴,是想听听大家在开发时遇到的有哪些“客户端能做而浏览器不能做”的事情,也就是两种方式绝对不同、无法跨越的地方。
ps:我是一个在铁路局工作的工程师,开发项目多是面向特定功能,比如环境监控终端、远程控制、文件系统、语音系统、分布式数据采集等等,所以在开发经验上会更倾向于客户端,BS粉勿喷。
顺便说一嘴,对于我们这种类似于政府部门的办公方式,不存在程序部署不方便的问题,统一部署程序反而显得更为正规。
以下是我罗列的一些:
1、没有兼容性问题
2、可直接管理内存、进程及操作本地资源,实现对终端的深度控制,比如视频会议、桌面演示、绘图工具等
3、可直接面向外部设备,如语音输入、指纹仪、人脸识别、手写板、数位板,以及具有特定接口的单片机、监控设备等
4、可以作为系统服务,不受用户关闭、刷新等操作的影响,可重复利用应用程序域
5、可直接操作本地文件输入输出过程,对于一些需要客户端大量存储数据(有时是离线数据)的情况有帮助
6、可实现客户端独立的数据库连接、网关、身份验证等过程,便于管理。同时支持面向底层通信协议的开发
7、开发成本低、开发周期短、UI设计直接方便(无需依赖任何第三方框架),如果使用WPF,这一部分特点将更为凸显
不为引发争吵,也不对任何方式存有偏见,仅讨论具体性能及开发成本,重新审视一下信仰。
以下人员请回避:
①开发纯粹数据展示、电商应用、直接套用各种框架实现简单bs数据管理的程序员
②以及没有主见盲目追随表象的新手