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