因为单页面web应用的流行,客户端与服务器端之间都相应的产生了一些微妙的变化,比如,客户端原来只是用来展示页面和理清逻辑,而如今逐渐转变成了一个能够进入驱动状态的应用程序。
未来的企业级应用发展方向,以及最终的技术落实相较于目前一定会有很大的改变,但新的变化也一定会为开发和管理人员带来一些困扰,从而引发出一系列技术上或是实际操作的问题。
如果服务器端排除页面渲染功能…
1.减轻服务器本身压力。服务器端不用保存任何客户端的状态内容,间接的提升了服务器的处理容量。
2.同一个服务器端能够适应不同类型的客户端,包括iOS、Android和浏览器。
3.当服务器需要切换的时候,以往的做法是全部推倒重做。而现在,之前的所有的页面和接口都可以重复使用,很大程度的降低了项目的技术成本。
4.提高效率。页面开发和服务器端的开发可以同时进行,相互之间不会产生牵绊。
5.降低可避免错误的发生率。渲染页面的功能从服务器端排除之后,直接导致页面中写SQL和谐业务逻辑的可能性变为零。
项目内部人员产生的困惑和质疑…
在上述思路被抛出之后,项目的开发人员和管理人员一定会随之而来引发出许多的问题,比如:
Twitter已经从Client Side渲染转向ServerSide渲染了,是不是证明还是Server Side的渲染性能更好?
FaceBook已经在手机上放弃HTML5了,是不是其中出了一些状况?
新生事物都是没有经过考验和认证的东西,具体实际操作是否可行?
这些问题很难一时之间解释清楚,但人的特点就是不愿意改变自己已经很熟悉的流程。当一个很紧急的项目摆在眼前,没有充足的时间来做完整评估,之后的进展可能就会出现各种各样的问题,这是才会意识到之前的判断是错误的。也正是面对很多次这样的失败经历,才更加激励我们应该去尝试一些新方法。
解决企业应用中的客户端和服务器端问题
许多言论都对JS口诛笔伐,但当你深入了解了AngularJS语言后,一定会对此有大改观。AngularJS能顺理成章的引导我们接受并且认可Node,排除了很重要的语言障碍,解决了客户端的性能问题。
很多架构师会说Java有非常成熟的框架架构,但目前面临的最大问题是,在开发过程中只把Java当成过渡语言来使用。太多次因为无关紧要的service配置问题导致整个web无法启动,类似这样的问题太多,所以Java应用最终应该渐渐趋于统一化,从而降低做单元测试的成本。