我一直在评估一个移动项目的体系结构解决方案,该项目除了本机应用程序外还将具有Web服务/应用程序,并且一直在研究各种库,框架和堆栈,例如Meteor,这是一种“开放式堆栈封装框架” ,与Node.js紧密绑定。
关于在客户端和服务器端使用相同语言的好处有很多讨论,但我没有得到。我可以理解,如果您想在客户端和服务器上都镜像Web应用程序的整个状态,但是却在努力寻找其他胜利...工作流效率?
我试图理解为什么将客户端/服务器语言奇偶校验视为圣杯。为什么客户端/服务器语言奇偶性在软件开发中很重要?
我一直在评估一个移动项目的体系结构解决方案,该项目除了本机应用程序外还将具有Web服务/应用程序,并且一直在研究各种库,框架和堆栈,例如Meteor,这是一种“开放式堆栈封装框架” ,与Node.js紧密绑定。
关于在客户端和服务器端使用相同语言的好处有很多讨论,但我没有得到。我可以理解,如果您想在客户端和服务器上都镜像Web应用程序的整个状态,但是却在努力寻找其他胜利...工作流效率?
我试图理解为什么将客户端/服务器语言奇偶校验视为圣杯。为什么客户端/服务器语言奇偶性在软件开发中很重要?
Answers:
在专业方面:
在CON方面:
在Web开发中,语言激增,为系统的特定部分创建了功能强大的工具,并且需要开发人员或开发团队学习许多专业知识。在其他事务处理或遵循系统设计方法的嵌入式系统等领域中,通用语言可能会有所节省。
新的Javascript框架似乎很快出现在我们眼前,并且已经完成了一些工作,以捆绑用于后端的API和用于前端的工具。保持灵活性和客户端和服务器端代码之间的关注点分离是很明智的,这样您就可以在它们之间自由浮动,而又不会因使用特定工具而停留太长时间。
大概的好处是:
即,它使项目经理的资源管理更加容易,并且几乎没有技术收益(如果雇用一堆小马,甚至可能带来负面的技术收益)
这样做的好处是,您可以在双方(在某种程度上)重复使用人们的专业知识和代码。
人
开发人员需要掌握一种语言并形成一个单一的库。而不是两个专业知识库。这使他们之间的知识传递更加容易,也使他们更容易在客户端和服务器端之间切换工作。最后,由于他们共享相同的技术背景,因此在讨论技术问题时有助于与“另一方”的团队成员进行交流。
码
有时在客户端或算法或两者兼有的状态是有用的。有时,双方都这样做。让我们以多人游戏为例:您需要在客户端和服务器上都表示游戏状态。另外,您需要在客户端(为了响应)和服务器(在验证玩家的动作)上实施规则。能够为这些事情重用代码是一个很大的优势。...在其他一些应用程序中,您根本不需要它...这完全取决于情况。
...当然也有缺点,但这是另一篇文章;)