我为避免 Javascript 奋斗了很长时间,仅仅是因为它不是强类型的。此后我在这一点上退缩了,因为 Javascript 是任何地方最强大的 DOM 语言这一简单事实,而且它还有成千上万的开源框架(只要看看 JQuery,甚至是 Typescript)。
在“每个人都需要一个浏览器”时代之前,服务器端才是王道。我记得哑终端时代。从那时起,当我们现在在每个桌面上都拥有类似大型机的计算能力时,利用客户端 PC 的能力是有意义的。如果我们真的看 MVC,我们会看到一个只做路由的控制器(如果它是客户端做的并不重要?),模型总是最接近数据库,但是......这些天客户端数据绑定为王,您需要客户端可以绑定的模型。模型本身,甚至不再是服务器端,并且使用 JSON 等协议,在客户端创建动态模型很简单,只需解析名称/值对并显示它。我们看到验证转移到客户端(这对用户输入有意义,但客户端也可以验证来自数据库的数据,以显示用户错误。这导致视图的客户端状态机。那么服务器还需要做什么呢?答:开始做,获取数据和保存数据。
当我们看到 Silverlight 甚至 Flash 开始衰退时,这是因为 RIA 事物(服务器端)时代正在被客户端框架所取代。HTML 5 加速了服务器端 RIA 的消亡,因为现在浏览器可以基于标准进行持久的 2 路通信。突然之间,将大部分 MVC 转移到客户端是有意义的。只是它对服务器端的传统主义者来说是陌生的,比如我自己(现在)......
你可以看到 Durandal、Angular、Knockout、Node 等框架只是在重新发明 MVC 和 Binding,只不过这次是客户端。现在真的是学习这些东西的好时机,因为它相对较新。它只会增长,因为所有的基础设施都已经到位。我们瞄准的新系统不再是一个巨大的服务器,而是对巨大的“浏览器”的利用。我们必须将 Web 浏览器视为一个巨大的新系统,因为它们代表了用户和电子商务的一切。我们对操作和提供 DOM 了解得越多,我们的处境就越好……服务器端将永远存在,但它不再是宇宙的中心。
他们预测,未来 10 年,移动设备的普及和对更多应用程序(客户端)的需求如此强烈,以至于开发人员短缺以跟上步伐。对我来说,这就是将齿轮切换到客户端的原因。