Win8将引领我们走向何方?(译文)
昨晚看到一篇文章,就用我的烂英语翻译了一下,分享之~~~~~
原文:So where do we go from here?
好吧,微软终于揭开了所谓的“Win8”的神秘面纱。如果你这周正好在西藏某个秘密的寺院学习盖世神功,或者在南极洲海岸捕鱼的话,你或许错过这次通告会,以及其中暴风雨般的观点和被特写的宣讲。一些人觉得这为Windows敲响了丧钟,而另一些人则觉得这是微软勇敢个大胆的一大进步。不管你怎么想,有一点是很清楚的:Metro界面为Windows应用程序走出了美妙的一步。
首先让我来澄清一点:Metro界面并不是你在Windows中唯一可以用的界面。对于平板电脑来说,它是一个美妙的选择,如果你有一部Windows Phone的手机的话,你就会意识到它是多么的好用了(我就喜欢我的Live Tiles),但是如果你想要使用非触摸的界面,你仍然可以使用Aero接口为你提供你所熟悉的gooey goodness(实在不知道怎么翻译这两个词——注)。新版本的Windows所呈现的一个很大新特性是,它开始走向了其他的处理器和技术,这是超越以往传统的“Windows+Intel”的一步,对所有关心它的人来说是个好消息。作为一个开发者,令我备受鼓舞的是我或许将可以在同一个环境中为平板、手机以及个人电脑写程序。
让我来确认另一些东西吧(遗憾的是或许你已经有所耳闻了),微软没有放弃所有其他语言和技术对HTML 5和JavaScript的支持。对,这是为微软的战略之一:一次编写,处处运行,所做的重要的架构上的准备,也是为了让应用程序在“云”中运行。我曾经是HTML 5的怀疑者,但是当我仔细研究了HTML 5以及WCF vNext后,我简直不敢相信它在MS Stack中会有如此好的发展(翻译不大通请看原文——注),因此我将在以后写更多的于此有关的程序。如果你明白了我要说的,你也会喜欢上它的。事实是,不仅在网络以及云中表现出色,HTML 5程序不需要依赖运行的桌面环境或者你不想暴露IP的某个应用程序(翻译应该有问题——注)。这就是为什么我对如同.NET, Silverlight, WPF and C++这类技术的未来感到兴奋的原因。有传言说Win C++对Win8具有巨大的影响,微软对.NET 和 XAML已经做出了如此巨大的投资,怎么可能去疏远他的整个开发人员的生态系统呢?
事实上,微软最大的问题看起来仍是没有将这些信息有效地沟通出去。他们对新加入的人员如此兴奋,却忘了去提醒已有的人员。那么,他们为什么会这样?他们宣称人们意识到他们不会切掉自己的鼻子,却忘了人们仍然记得那段关于技术失败的历史。还是让我来向你保证吧:从我通过已有的交流和谈话中获取的信息来看,你的技术投资是安全的。你所编写的应用程序将会在将来看起来与众不同,能响应不通的输入,所以你将要学习一些新的API,只是这将使你感到兴奋,而不是害怕。
最后,让我来引用伟大的Jeremiah Morrill的一席话吧:
“那么,为什么人们对这次通告会感到如此的惊讶呢?因为人们一直在说至少要在将来的5到6个月之后才能见到Win8。
我觉得有必要重温一下鲍尔默那带有瑞士口音的讲话。那就是Win8的应用程序将能够使用C++,C#和JS编写。他小心翼翼地使用了“语言”,而不是“框架”。现在有许多的疑问,诸如,“能否运行Silverlight?”或者“能否运行WPF?”,微软将会回答:“当然,这是Windows嘛!”,确实如此,他们展示的Win8 Demo也运行了“传统的”应用程序。
我想我们应该问:我能用什么技术能编写那些新型的沉浸式的Win8程序呢?
我想问的另一个问题是(主要对于开发人员而言),“这个新玩意在编写滑动的用户界面的时候是不是比Silverlight或者WPF更好呢?”,如果是这样,除了后向兼容,Silverlight或者WPF和它相比有没有别的优点呢?Silverlight或者WPF是否仍然是一块富饶的岛屿,或者仅仅是与“波涛汹涌”以及“CPU税”相关的岛屿?(意思大概是用的人又少,又加重CPU负担吧——注)
有一点我可以肯定的是,XAML是微软血统中的一部分,他们而再、再而三地向我们强调:对于XAML的投资是安全的。只是我不确定的是:我们的“投资”是怎么定义的呢?是指我们对知识的掌握和熟悉,还是我们实实在在的代码?这是我们前进道路上坚实的一步,还是仅仅抛弃了大量的老代码?我的建议是我们耐心地等到九月份吧,对于开发者来说,还有太多太多的问题,仅仅靠Win8的一个Demo是无法回答的。”
或许你能从中体会到一些睿智的言语。
附:原文
Well,Microsoft has finally unveiled what is commonly known as Windows 8.
If you have been learning Kung Fu in a secret Tibetan monastery or yak fishing
off the coast of Antarctica, you may have missed the announcements this week
and the blizzard of opinion and talking heads pronouncements. To some it’s the
death knell of Windows, to others it’s a brave and bold move. Whatever your
take, one thing is clear, the Metro UI represents a dramatic step forward for
Windows applications.
First of all, let me make it clear that the Metro UI is not the only UI that you can
use in Windows. It’s a great choice for Tablets, and if you’ve used a Windows
Phone, you’ll know just how useful it really is (I love my Live Tiles), but if
you want to use a non touch UI you still have the Aero interface to provide
that familiar gooey goodness. What the new version of Windows represents is a
step out to other processors and technologies; a move beyond Wintel, and this
has to be good news for all concerned. As a developer, the exciting thing is
that I should be able to write software that targets tablets, phones and PCs
all from the same environment.
Let me clear something else up. Despite what you may think you have heard,
Microsoft is not abandoning all other languages and technologies in favour of
HTML 5 and JavaScript. Yes, this represents an important plank in Microsoft’s
strategy to write once run-anywhere, and have applications run in the cloud. I
was one heck of an HTML 5 sceptic, but having looked into HTML 5 and WCF vNext,
I can’t believe just how good developing for it can be in the MS stack – I will
be writing more on this in the future; take it from me, you’re going to love
it. The thing is, though, while this is great in webby, cloudy environments,
HTML apps just don’t mut the custard in desktop environments, or in
applications where you really don’t want your IP exposed. This is why I’m
excited about the future of technologies like .NET, Silverlight, WPF and C++.
Microsoft has made a huge investment in .NET and XAML, and it seems incredibly
unlikely that they will alienate virtually their entire developer ecosystem –
and rumour has it that Win C++ is going to have a big impact in Windows 8.
Indeed,Microsoft’s biggest problem still seems to be that it isn’t communicating this
information effectively. They get so excited about all the new stuff that’s
coming, they don’t mention the existing stuff; after all, why should they? They
assume that people realise that they aren’t cutting their own noses off, and
forget that people remember the history of failed tech. Let me assure you, from
conversations I’ve had, and from talking to those in the know, your
technological investment is safe. Your apps may look different in the future,
and respond to different inputs, so you may need to learn some new APIs, but
that should excite you, not frighten you.
Finally,let me quote the great Jeremiah Morrill:
“Anyways, why is everyone so surprised about the
annoucement? People have been saying this was going to be a feature of Win8 for
at least 5 or 6 months
I think it’s important to remember what Ballmer said
in his Swiss keynote. That Win8 applications can be written using, C++, C# and
JS. He was very careful to NOT mention a framework, only languages. Now there
are is a lot of “Will it run Silverlight?” or “Will it run WPF?”. Microsoft
will respond with “Yeah, its Windows”. This is true. They did demo Win8 also
running “traditional” applications.
I think we should be asking: What technologies can I
use to make these new immersive Win8 applications?
The other question I would ask, mostly to devs is,
“Does this new thing perform better than Silverlight/WPF at making fluid user
interfaces?” If so, besides backwards compatibility, what advantages does
Silverlight/WPF have over this new thing? Will Silverlight (or WPF) still be an
island of richness, or an island of relative choppiness and CPU tax?
One thing I can say for certain, is XAML is part of
Microsoft DNA. They have promised us our investment in XAML is safe, over and over.
What I’m not certain about is, what is our investment defined as?
Knowledge/familiarity or our actual code? Will there be a solid upgrade path,
or will we be left dumping old code? My advice is we should all be patient
until Sept. There’s just too many questions that cannot be answered with a Win8
demo that wasn’t geared for devs.”
Possibly the wisest words you’ll hear on the subject.