微软 Live 实验室对外发布了 Volta 技术预览版——一个可以使开发者更快地构建多层 Web 应用的开发工具集。从宣传口号“只需使用现有的资源进行 Web 应用开发”可以看出,Volta 在内部自动处理层的分离,让开发者专心进行浏览器或者桌面的 Web 开发。
有些人不满 Volta 的黑箱操作,另一些人则引用 Martin Fowler 的分布式对象设计第一定律:
不要分布你的对象!
确实,很多人已经指出不当的 [对象] 分布所带来的危险性。但是,Dan Creswell 针对上面的定律做了解释,将 Volta 带回到和分布式系统社区和谐共处的境地:
网络来回传输常常要比数据库事务操作的耗费低得多,原因是数据库事务操作中不可缺少的日志事务操作非常消耗硬盘性能,因此,网络传输并不总是性能瓶颈。
微软解释了将 Volta 以“实验品”的形式发布的原因:
让客户和合作伙伴进行测试,以更早地收集反馈和修正 Live 实验室技术与概念的方向。
不过这个实验品却带来了围绕分层部署的深刻思考:
Volta 自动处理那些跨多层分布式应用的基础部分,让开发人员将创造力放在对应用特性的思考上。
通过清晰的层分离,Volta 使得开发者可以延迟确定那些不可逆转的设计决策,直到最后一刻,从而更快速和方便地修正架构以适应变化的需求。
通过 MSIL 重写技术,Volta 将单层应用转化成一个多层应用,自动生成通信和序列化的例程。
最后,Live 实验室团队也坦率指出了一些 Volta 的不足之处——对任何架构师而言在开发过程中部署 Volta 都需要注意的重要信息:
- Volta 编译器产生的 JavaScript 代码没有充分优化。
- Volta 类库不支持多线程。
- 层之间的序列化不是特别快速。
尽管 Volta 没有被列入任何技术路线图,我们不应该忽视它对未来.NET 平台 Web 开发的影响。要了解 Volta 的更多信息,可以参见 Channel 9 上的视频:Volta——Wrapping the Cloud with .NET第一部分和第二部分。
评论