领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Abel Avram 译者 高翌翔 发布于 2011年9月28日
创建Windows运行时(WinRT)是为了在Windows上给用户提供一种流畅且安全的应用体验。WinRT会受到.NET、C++、以及JavaScript三者的影响。WinRT不会取代CLR或Win32,而是为那些使用不同语言编写的应用程序提供统一支持,以便它们可使用新的Metro风格用户界面运行于Windows之上。
两年前,微软从一个愿望开始了Windows运行时(WinRT)的研发工作,此愿望是,建立一个更好的开发平台,让开发者在此平台上使用具有丰富智能感知功能和优秀调试功能的工具来创造快速、流畅、可靠的应用程序,而且开发者可自由选择所使用的语言和库。最终结果是产生了一种架构以及一组可以从.NET语言(C#、VB.NET、F#)、C++、以及HTML/JavaScript调用的API。所有这些语言都会对WinRT的设计产生影响。
WinRT不是为了取代.NET或Win32提供的所有功能,但是它是一个公共平台,以便那些使用不同语言编写的应用程序可使用新的Metro风格界面来运行。当混合C#应用程序基于WinRT创建Metro风格用户界面时,程序中将仍能执行LINQ查询,对于存储、网络、新式应用程序的安全性等方面同样能执行LINQ查询。完整的运行时架构如下图所示:
语言投射(Language Projection)表示对于每种已支持语言的WinRT API视图。通过Visual Studio 11的智能感知,在“Windows”命名空间下可找到那些推荐的用于创建Metro风格应用程序的API。
在BUILD开发者大会上,Windows运行时开发经理Martyn Lovell通过题为 “包围Windows运行时”的演讲介绍了WinRT背后的设计原则:
关于类型,WinRT必须提供语言无关的类型——integer(整数)、enumerations(枚举)、structures(结构)、arrays(数组)、interfaces(接口)、generic interfaces(泛型接口)、以及runtime classes(运行时类)。引入了被称之为HSTRING的新字符串类型,该类型允许在不进行任何数据复制的情况下,在应用程序与运行时环境之间传输字符串。
每个WinRT对象都会对应一些接口,其中有两个接口属于每个对象:IUnknown接口,熟悉的COM接口;以及IInspectable接口,用于根据对象所包含的元数据来发现有关该对象的信息。一个对象可能通过接口提供其他功能,然而运行时类会把这些接口集中公开出来。例如,一个FileInformation对象拥有由FileInformation类公开的IStorageItemInformation、IStorageItem、IStorageFile三个接口。
WinRT对象在编译时被公开给C++应用程序,而对于C#或VB.NET应用程序而言,对WinRT对象的绑定一部分是在编译时完成的,另一部分则是在运行时完成的。HTML或JavaScript应用程序只有在运行时可以看到WinRT对象,而且元数据是动态生成的。
Metro界面运行在一个不可重入的单线程之上,然而应用程序的其余部分可以从线程池中使用由运行时环境所自动提供的多线程。
Windows运行时体验团队的Harry Pierson和公共语言运行时团队的Jesse Kaplan在BUILD开发者大会的另一题为“在C#和Visual Basic中使用Windows运行时”的演讲中,介绍了一些使用.NET语言对WinRT进行编程的细节。
据Pierson透露,.NET对于WinRT的重大影响在于,许多设计准则被从.NET中借用过来。例如,通过使用基于.NET元数据格式更新版本的元数据增强了WinRT库。就像Silverlight一样,为了创建Metro风格应用程序,WinRT会使用XAML框架。由于在运行时与.NET之间存在直接映射:基本类型(primitives)、类(classes)、接口(interfaces)、属性(properties)、方法(methods)等等,并且开发者无法看到那些存在的差异,因此使用WinRT的.NET应用程序将会有宾至如归的感觉。
Pierson还表示,开发者可以用C#语言创建可供C++或JavaScript的WinRT应用程序使用的Windows运行时组件,然而须要遵守一系列规则:“结构体只能拥有公共数据字段;只允许对XAML控件使用继承,其它类型都必须使用sealed关键字;只支持系统提供的泛型。”
在Windows 8、或是后续版本的Windows中将提供一种经典应用程序与新的触摸友好的Metro风格应用程序共存的混合环境。基于Metro风格的未来的Windows应用程序将受益于Windows运行时所提供的公共基础设施,开发者必须针对一套唯一的API进行编程,而对于不同语言会略有差异。在与过去保持兼容性的同时,又为未来提供新功能方面,这是微软所做的最好尝试。
查看英文原文:Design Details of the Windows Runtime
译者 高翌翔 基于.NET平台进行Web应用程序设计、开发,关注敏捷开发和架构设计,及各种提高代码可维护性的最佳实践。
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
论道WP第三篇专栏,以应用程序栏的使用为中心,包括了软键盘带来的问题、应用程序栏介绍、如何绑定应用程序栏的属性等几个方面的具体话题,为开发者顺利使用应用程序栏开发提供了具体指导。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复