公司要开发新OA系统是选择WEB应用系统还是传统桌面软件系统呢?
我主要从以下2方面分析:一、开发桌面版管理系统一般主要有几点:1.是简单,仅开发一套客户软件,直接连接数据库;2.客户端有考虑直接连接其他,如:监控、考勤、门禁,打印机(web程序需要现场部署打印服务插件)等网络和串口及usb设备;3.无需额外服务器,4.小型系统为主,5.大平台系统为了巩固客户群(一般会采用前后端分离+http接口模式),上述基本都是优势;桌面版劣势:1.每个客户端连接都是一个独立连接,100个人打开就会形成100个到数据库的连接,数据库连接负载能力一般不如服务器接口,尤其目前我们使用免费且相对低性能mysql数据库,数据库优化再好也无法治本(现在PLM和公司开发的物料系统卡卡的就有可能是这情况),2.不能随时更新内容,程序布局或逻辑改变时经常需要升级(现在很多移动端或桌面都是采用混合开发,原生开发容器内置web程序,淘宝app,钉钉桌面版,成本高些),
同样服务器资源和客户端链接数量条件下的负载性能
二、开发web管理系统一般情况是考虑:1.纯数据没有直接连接设备需求(早期版本web程序不支持,现在手机web已经支持直接调用手机大部分硬件接口,同时新版ES6支持websocket直连设备,为物联网准备的),2.夸平台夸设备多兼容性支持需要,3.发挥有限服务器的最大效能(同样一台服务器和同样的访问数量和数据,采用http形式比tcp、socket等热连接的连接负载性能要高一倍到几倍不等,如果采用在服务进程和数据库之间采用nodejs异步单线程连接数据库,服务器和数据库性能发挥更高,和以往追求java等多线程不同,这是近年流行的新反向思维,简单理解就是单位时间内单位资源下能做的事情,并行和串行理论是一样多,做一百件事情,单线程一个线程做完,多线程会生成一百个线程,服务器资源就浪费,一般数据库100个连接会很低效,目前淘宝的各大平台都采用nodejs等单线程异步非阻塞方式开发的接口或在现有多线程接口与数据库之间放一个中间层),
单线程与多线程在服务器端应用的原理区别
4.随时发布更新新版本,无需升级,5.高级交互体验(目前web前端被称为大前端时代,软件的用户体验几乎全部来自前端的视觉、交互效果等表现出来,目前桌面软件因为市场需求相对没有web前端这种迫切性和竞争性,还没形成像web前端一样拥有模块化、自适应、工程化、参数化等多种方式的样式设计能力及一系列便捷修改样式布局及动画的插件,),6.功能模块化装配、拓展简单高效。Web应用劣势:1.不能直接连接设备或网络数据库(文本类数据库可以)。2.基本都需要前后端分离模式开发。3.可调用的系统资源有限(依赖和取决于http超文本浏览器情况),4.必须在访问服务器时候服务器才能下发数据。5.首屏加载速度不及桌面应用(web程序通过设置缓存样式和静态资源可大大提高再次访问速度,操作过程中通过异步获取数据相对桌面应用不会有卡顿情况)。结论:1. 开发新桌面版OA系统可以采用web管理系统方式为主,也就是常说的B/S架构,桌面为辅模式;2. 开发桌面版软件需要用前后端分离+http数据接口模式(C/S架构);
免责声明:本文内容由互联网用户贡献,不作为任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!如有侵权请联系我们删除,本文链接:http://www.panmou.com/web3/56411.html。