来自Redmond的真实声音

最近,InfoQ前往了Redmond(美国微软总部)参与了一场关于技术发展的最新趋势的非正式讨论会。通常来说当我们进行这样的事实探究任务 时,演讲者的笔记是不允许记录的,但这次我们特意申请批准按实情报道。除了去掉了一些电子邮件地址和一部分关于NDA的材料,下面的这些记录都是我们仅供 内部编辑人员分享的。

David Salamon, Visual Studio 竞争战略高级产品经理

我们的向导和主要联络人

争论(开发)是只使用.NET技术还是只使用Java技术的日子已经结束了并且种种迹象表明它们再也不会回来了。现在我们需要关注的是怎样才能整合 多种平台(来进行开发)。我们所听到大量关于(微软公司架构)重组的谣言是真实的,但这并不是一个严重的问题。对外而言,一切都和以往一样,对内,他们 (HR部门)将研发人员的不同职能整合成了一个常规的职能组,这样使得工程部门和商业部门能更好地结合。(这里提到的变动明显与研发部门更为相关;另外的 一些在服务器和商业工具部门的变动David并没有在他的记录中提及。)

观点

  • 在Windows Phone应用中使用Java后台技术
  • 在Java,Android或者iOS前台产品中使用.NET/WCF后台技术

Scott Hunter, ASP.NET

为何我们要使用jQuery而不是其他的开发原型或类库呢?因为它已经被40%的网站所运用并且这个数字在今年将有希望达到55%。

重点强调一下在ASP.NET中使用开源的工具的原因:

  1. 我们(微软公司)没有必要再去开发一个工具,如果已经有人为我们开发了。(重要的观念改变)
  2. 相对于我们正常的开发周期,游览器的更新太过迅速了。

Modernizer对于推进HTML 5来说是一个必要工具。

Web Matrix这个网页工具的轻量级IDE完全可以直接与PHP进行对抗。

下面列出三种使用ASP.NET和Visual Studio来创建网页的方式:

  • 页面开发(Web Pages):非常的轻量级,易于页面的搭建。无需(搭建)底层架构,和PHP以及传统的ASP开发非常相似。对网页生成的HTML可以完全掌控。
  • MVC架构:和页面开发一样的轻量级开发引擎,但后台完全由MVC框架支持。对网页生成的HTML可以完全掌控。(网站)的升级周期大概是一年的时间。
  • 网站控件开发:基于组件的网站开发模式。在必须(符合)交付时间的情况下使用。尤其在内部开发且对网站的观感并不十分苛刻的条件下使用。(网站)的升级周期与.NET核心框架的升级周期密切相关。

以上的三种技术可以在同一网站的开发中使用;开发人员没有必要将自己局限于某一种开发模型。

网站控件开发模式仍然代表着绝大多数的基于ASP.NET架构的网站(开发模式)。强烈建议将正在进行(研发)中的ASP.NET MVC框架功能移入网站控件开发模式。

Razor视图模式起初是为页面开发模式设计的,后来也被MVC 3所采用。

(网站网页)同时支持HTML 5以及低版本的游览器是必须的。但我们怎样才能实现这个呢?

  • 用Modernizer进行功能检查而不是浏览器检查。
  • 网站控件可以根据浏览器的功能来呈现不同的代码效果。
  • “这是一个ASP.NET*可能*实现的功能。如果(网站)只有唯一的Default.cshtml文件那我们将向所有的客户端提供这个 文件(的展示)。如果终端设备是一个移动终端(手机之类)那么我们可以先搜索(网站)是否存在Default.m.cshtml文件,如果没有找到该文件 则退回去(展现)Default.cshtml页面。我们(微软)正在考虑在将来(实现)这样的展现方式。

以上这些都是我们正在思考的主意,还没有为它们规划特定的功能。

观点

  • ASP.NET中开源工具的角色
  • 何时在你的网站开发中使用网站控件、网站页面、MVC开发模式
  • 同时支持HTML5和低版本浏览览器的策略

Lisa Feigenbaum – Visual Studio/Managed Languages

微软的技术部门正在研发在Visual Studio中加入Python语言的工具。详见InfoQ的报道:http://www.infoq.com/news/2011/04/VS-CPython

VBA——还在等待联系人的信息。(通过David得知联系人名为Jay Schmelzer)

VB/C#: 目前(新技术的)采用率都是均等的,也都对内部的人员提出了相同数量的问题。

微软论坛:和预想的一样,目前(各个网站)实际被使用的方式大量重叠。

三个方面被强调:

  • 陈述性
  • 动态性
  • 并发性

F#并不是协调演化语言的一部分。相对于VB/C#这些通用的编程语言,它是一个为了更明确的目标群体所创建的开发语言。

目前Lisa建议将IronPython作为嵌入式脚本。当下无论在微软内部的产品开发团队还是来自外部的程序员都强烈渴望一种更健壮的嵌入式脚本语言。

旁记

我们现在非常需要一直专注于数据库的队伍,不管是传统的数据库类型或者NoSQL数据库。这样就需要聘用三至五名对ORMs(对象关系映射)以及 DBA授权具有深刻理解的编辑。我提出了一些更好地处理C#/VB中自动实现属性的方法,且她(WHO?)建议我提交一份一页纸的建议书。特别是关于我们 需要在WPF/Silverlight中支持IPropertyChangeNotification情况的说明。

观点

(在之后的Visual Studio中)我们将用什么语言来取代VBA成为提供内部IDE支持的嵌入式脚本语言?(和Jay Schmelzer继续探讨)

Jon Harris – Expression Blend

当我们发布Expression Studio的时候我们搞砸了。我们将其定位于追赶Adobe和设计师市场的产品。我们甚至花费了过去的四年时间来试图宣布,“不,这个产品不仅仅是针对设计师的。她是针对所有用户界面开发人员的。”

Jon花费了很长一段时间来评论Rick Barraza在MIX会议上的演讲并表达了“每一个人都是设计师”的观点。事实上他们要论证的是每一个搭建用户界面的人都是设计师。尽管他们还没有接受过设计师的培训,但他们已经在做这个角色(设计师)的事情了。点击此处查看相关信息。

目前还没有任何关于如何正确使用Blend的指导手册,尤其是从研发人员或者开发者/设计者的角度(编写的使用手册)。更重要的是,目前还没有任何官方的关于怎样使项目易于融合并避免之后痛苦的指导手册。在开发人员的交流会上,Jon在他的讲演中用了一张幻灯片来为这个课题给出承诺。“实际上他的幻灯片中突出地列出了一些对研发人员在第一次试图融合项目时非常好的着手点……帮忙多提供给一些对研发人员有用的功能点上的关注比帮助他们去把项目变得易于融合更有意义。”

同样的,目前还没有任何关于WPF/Silverligh中如何恰当地管理资源字典的指导手册。

Expression Blend和Visual Studio将不会合并。

  • Visual Studio是人们在以编码为中心的工作中需要用到的工具。
  • Blend是人们在以设计为中心的工作中需要使用的工具。
  • 这两种工具可以并且应该同时被使用。
  • 我们(提供这两种工具)的目的是(为大家)提供“(解决)同一项目或者问题的两种不同的(处理)视角”。

“(产品的)质地”是非常重要的。它更多的是指(客户)对系统的感觉而不是系统的外观。这里包含了细小的(提高系统) 可用性的技巧比如说提示信息在展现和隐藏状态之间的转换等。对工作流和可用性的重视对内部应用系统来说是至关重要的。每年许多公司都会因为她们内部系统粗 糙的用户界面而损失无数的时间和金钱。比如说,在微软内部的预订航班和宾馆的系统上进行价格比较是非常困难的。这就意味着员工将会浪费很多时间在这个本以 为十分简单的操作上并且他们通过这个系统为计划中的旅行得到优惠折扣的几率非常小。

观点

  • “每个人都是设计师。”
  • “怎样避免(项目)融合中的错误。”(编者注:John Harris认为“怎样保证项目易于融合”这个标题更合适。)
  • “如何在WPF/Silverligh中恰当地管理资源字典”
  • “(系统)可用性在终端用户生产力中的重要性”

关于作者 

Jonathan Allen从2006年起就为InfoQ撰写新闻报道,现在他是.NET编辑队伍的主管。

查看英文原文: Raw Notes from Redmond


感谢崔康对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。

This entry was posted in 未分类. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s