WPF,一次洗牌……

    WPF,一次洗牌……

    昨天,在CSDN上看一篇孟岩的文章,谈及WPF带来的震撼,其实,WPF对今天的开发者来讲,已经不是很新的概念了,在MSN里,也与部分朋友交流对WPF的看法。最早体验WPF,也许是在2004年,当时还被称为“XAML”(出于技术需要,也曾在2004年购买另外一家公司的关于XAML的实现产品)。从那以后,没有进一步的了解这个东西,直到昨天,在与一位好友沟通的时候,才开始下载Microsoft最新的SDK,北京毕竟不同于其他地方,下载的速度令好友羡慕,1.15G的东西,没有使用任何加速工具,在2小时内下载完毕。WPFi是令人炫目的东西,但对缺乏艺术创意能力的我,感觉真是怪怪的,只好从技术层面了解这个庞大的SDK

         记得1993年最初接触Visual Basic的时候,我在想,这个东西可真奇妙!比起SDK模式的Windows编程,Visual Basic 2.0真让我感到吃惊!没有注册窗口类,看不到消息队列,没有消息循环,这些令人烦恼的东西,统统不见了!当时我在想,既然这样的东西都出来了,C风格的SDK该没落了吧?事实证明我错了,有一次,我到Microsoft北京研究院,谈及软件开发,Microsoft的人说,他们很少用VB,也很少用MFC之类的东西,其实,只要稍稍看一下Microsoft自己的东西,Microsoft在如何开发呢?WPF虽好,但却是Microsoft给别人准备的,OfficeIEVisual Studio等都是.NET框架的“Host”,但确实是真正的Win32架构,Microsoft打算让别人允许它“托管”一切,真是绝妙的构想!

         我与朋友偶尔也谈论WPF,从多年与Microsoft技术打交道积累的感觉上看,WPF的确是一个精明的策略,从用户体验上入手,使得炫目的门槛降低,技术开发者,只要停留在Microsoft预期的阶层就可以了,不用再深入研究其他的东西,这样,Microsoft就可以高枕无忧了……。然而,Microsoft面对自己平台上庞大的“积累”,也不得不给别人留有充分发展的余地,其实,从Host技术上看,WPF表现为一种Active Document,在这方面,与Microsoft处理HTML的方式如出一辙,虽然WPF表面看是建立在托管环境之上,但无法回避最底层的Win32机制,因此,虽然WPF带来了冲击,但充其量是一次洗牌,不是终结,更不是毁灭。

         让别人托管,毕竟不是一件很“舒服”的事情,因此,WPF面世了,最大的受益者可能是精通Win32的开发者,从这一点上看,WPF也提高了门槛。如何开发一个灵活、强大的Win32系统,使得其可以“HostWPF,是一个有意思想法,那么,现在的COM框架,在真正的Win32架构之上,能够“HostWPF吗?答案是肯定的,你可以自由的做你想做的一切,Just like MicrosoftMicrosoftIEOfficeVisual Studio等都可以Host WPF,同样,你也可以Host WPF,使得你的系统成为一个WPF的“Shell”,这样,WPF就成了你的系统的“内容”提供者,例如,你可以将WPF与其它组件融合在一起开发IE插件:

(我的WPF制作水平很差,因此借用了Microsoft SDK的例子)

你也可以在你的MFC框架里使用WPF

.NET框架,包括WPF,会使得相当一部分开发者自然淘汰,这是没办法的事情,但正如C++无法淘汰汇编语言一样,这些东西,也会催生更强大的Win32开发,因为,Microsoft本身就在这样做,但是,win32开发者应该挖掘更深入的东西,使得.NET框架上强大的环境为你所用。

         回想往事的时候,我经常怀念1997年往返北京、大连的日子,那个时候经常在北京站候车,当时我住的地方在交通部附近,靠近北京国际饭店,没事的时候,也经常在那一带遛弯,当时的印象是,那一带豪华的建筑很多,但顺着居民胡同往里面走,你会看到一些老北京的东西,这是一个典型的北京现象,即古老的东西会与现在的东西并存,往往是老的东西比较金贵,Win32比之.NET 3.0,也算是“老”,但,毕竟是.NET 3.0的根,如果你能够掌握“根”,还担心其树上开花、发芽吗?

 
阅读更多

没有更多推荐了,返回首页