刚学Java的时候,听闻JavaEE才是Java的主战线,耐着性子一点点从基础开始,终于学到了JavaEE,然后完成了JSP的学习,后来暂停了SSH的学习,渐渐地再也没有学习JavaEE的动力了。但我当时还是觉得B/S结构是某些问题的绝佳解决方案,也试着找过有没有什么比JavaEE更简单的方法,毕竟我只想要一个画面,底层的东西根本不需要非得放WEB服务器上。
起初是想深入研究一下Java语言,才暂停了JavaEE的学习。后来开始不喜欢JavaEE了,原因是这只是单纯的职业技术,没有什么玩点,我把多数时间用于研究算法和结构。最近突然发现不仅是JavaEE,我仿佛看透了整个B/S,B/S着实是个令人失望的理念。
B/S结构名义上的优点是不需要安装定制的软件,只需要浏览器就可以,而且更新软件只需要在服务器上更新,网页是动态的不需要去终端机更新。这个想法很丰满,但现实却相当骨感。当我以用户的身份对企业网站接触渐深后,我发现企业网站跟公共网站根本是两回事。B/S的优点我只在公共网站上看得到,对于企业网站,B/S结构不仅没有体现出应有的优点,反而要比C/S甚至单机软件表现得更糟。
企业网站不需要在终端机安装定制的软件?错!企业网站通常会绑定一种浏览器,有时候运气好能兼容两种。但经常不会是我们习惯用到的浏览器,而是需要指定品牌的指定版本,而且多数时候需要安装插件。安装插件还算人性化了,毕竟插件可以从网页上自动获取,只需要在合适的浏览器上点击安装就可以了。我目前这家公司的企业网站不止要指定前面那些,还必须安装桌面软件才能登入。B/S做到必须依赖单机软件也是无话可说了。
B/S结构的企业应用只需要在服务器更新就可以了?表面上是这样,但其实不是。B/S结构的企业应用在服务器上更新之后可能会引起浏览器版本不兼容,需要终端更新浏览器。当然,把问题抛给用户是一种不错的策略,我所不喜欢的是这种做法并没有节省什么工作量,反而令系统处于轻度失控的状态。在服务器上更新应用本来就不方便,软件测试难度也会加大,还可能会导致用户也要更新浏览器。这倒不如把安装包分发给用户来得简单。B/S应用无法获取浏览器的机器状况,也就不能根据实际情况调整参数,常常导致不同的终端上出现不一样的效果,甚至软件完全达到标准却还是不能正确打开网站。分发安装包到底有什么问题?即便使用B/S结构,用户也经常需要下载文件,相比之下,下载一个安装包没什么大不了的。要知道,我们打开一个网页时下载的html文件的大小就相当于一个安装包了。在某企业打开一个几万行的企业网页用时5分钟,可不是html有几万行就只要下载几万行。网页里面还有图片、脚本、嵌套网页,这些东西每一次打开都是重新下载的。所以说B/S结构简直是在浪费资源。