翻了翻之前的博客,发觉竟然有1年没有更新了。。虽然并没有Silverlight4-Silverlight5的时间长~
先简单翻译一下SL5的新特性,不是逐字逐句翻译,包含我看别的文章的一些理解。
Improved media support
- Low Latency Audio Playback: Use the SoundEffect API to trigger low-latency sound
- (SL可以通过新的声音API播放一些音效,比如爆炸、按键音等,是通过XNA实现的)
- Variable Speed Playback: allows video to be played at different speeds and supports fast-forward and rewind. At up to twice the speed, audio pitch correction allows users to watch videos while preserving a normal audio pitch.
- (SL可以控制视频播放的速度,前进、后退、倍速播放)
- H/W Decode of H.264 media: Significant performance improvements with H.264 media decoding of unprotected content
- (提高了硬件解码H.264的性能)
- DRM Key Rotation/LiveTV Playback: Long-running live TV playback protected through the use of rotating licenses
- (长时间直播的DRM支持)
- Application-Restricted Media: Prevents playback of protected content in unauthorized applications
- (在未签名的应用程序中播放版权保护的内容的支持)
Improved Text support
- Text Tracking & Leading: Exercise fine-grained control over the spacing between characters and lines in your text
- (文本方面的提升,个人认为这个非常重要!!!原来SL的文字挤成一团,没法看。这个提升在用户体验方面非常巨大,对于我们现在的项目非常重要!哦,太激动忘了翻译了:支持设置文字间距和行距)
- Linked Text Containers: Create linked RichTextBlocks that allow text to flow seamlessly from one to the next
- (相互链接的文本容器,这个主要是为了做环绕、多列效果的,个人感觉这种实现方式稍微有点2。。)
- OpenType and Pixel Snapped Text : Improved text clarity
- (OpenType字体的支持和“像素锐化”,翻译的估计不对,通俗解释就是原来当文字的线条是1像素的时候,有可能这1像素在整个布局显示中不是正好处于1像素的位置,因此SL会将这一像素做模糊处理,文字边缘也有类似的情况。现在不会了,文字将比原来更加清晰。这点对于用户体验也非常重要。)
- Postscript vector printing: reduces the size of print jobs and improves rendering quality of text
- (矢量打印支持,终于支持矢量打印了,降低了打印的大小和提高了文本的质量。原来都是位图惹的祸,现在没事了。)
- Performance improvements for Block Layout Engine.
- (提升了文本布局引擎的性能)
Building next-generation business applications
- PivotViewer -- now included in SDK. Adds support for dynamic client-based collections, XAML-based visuals, and customizability.
- (新控件,有兴趣可以研究一下。基本上是DeepZoom在应用方面的延伸。)
- ClickCount: Add support for multi-click to your application
- (NND,终于支持点击数量了。。。请允许我骂街。。。因为到了5才支持。。。实在。。。翻译:鼠标单击支持计数器,根据计数器判断单击、双击还是多击(-_-!))
- Listbox/ComboBox type-ahead text searching: Listboxes and ComboBoxes can now scroll based on text input
- (ListBox和ComboBox支持通过键盘输入来定位项的位置。就是列表上直接键盘输入可以定位某一个选项,没仔细研究,估计要设置用来检索的对象的属性,自动匹配和定位,有点作用,基本上是桌面应用的体验)
- Ancestor RelativeSource Binding: Bind to a property on a parent control
- (可以绑定到父控件的属性,这个其实非常有用,绑定用多了的同学知道)
- Implicit DataTemplates: Allow DataTemplates to be defined implicitly
- (隐式绑定,没仔细研究,大概意思就是可以根据数据的类型绑定到不同的DataTemplate)
- DataContextChanged event
- (DataContextChanged事件,非常有用的事件。之前是通过UserControlLoaded中挂Binding实现的,有了这个会方便很多,是非常好的提升)
- Added PropertyChanged to the UpdateSourceTrigger enum
- (Trigger增加了属性变化的类型)
- Save File and Open File Dialog: Specify a default filename when you launch your SaveFileDialog and specify a default directory when you launch your OpenFileDialog
- (这个也是非常重要的提升,保存文件的时候终于提供默认文件名了。。原来竟然以安全为名以不支持。。最后还是解决了,可见用户体验永远是第一位)
- Databinding Debugging: Set a breakpoint directly in XAML, examine locals, and debug your bindings
- (数据绑定调试,个人意见。。不支持这个功能可以显著的锻炼分析问题的逻辑思维能力)
- Custom Markup Extensions: Execute custom code at XAML parse time
- (解释Xaml时支持执行自定义代码。这个没用过,不太明白)
- Binding on Style Setters: You can now specify a binding within a style
- (Style Setter上支持绑定,没用过,难道说支持<Setter Property="..." Value="{Binding}" />这种写法了?)
Silverlight 5 performance improvements
- Parser Performance Improvements: Improved XAML parse times for UserControls & ResourceDictionaries
- (UserControl和ResourceDictionaries解释Xaml的性能提升了,很好!)
- Network Latency Improvements: Significant performance improvement in ClientHttpWebRequest scenarios
- (提升了ClientHttpWebRequest的性能)
- H/W accelerated rendering in IE9 windowless mode: Silverlight now uses the new SurfacePresenter APIs for H/W accelerated rendering in IE9 windowless mode
- (IE9中Windowles模式下使用了新的API,性能提升)
- Multicore JIT: Shortens the start-up time for Silverlight apps
- (多核心支持)
- 64-bit browser support
- (64位支持)
Graphics improvements
- Improved Graphics stack: The graphics stack has been re-architected to add features such as Independent Animations
- (重新设计了图像栈的架构,加入了新特性例如IndependentAnimations,这个不了解。。)
- 3D: Use the XNA API on the Windows platform to gain low-level access to the GPU and draw vertex shaders and low-level 3D primitives. Includes Render targets, XNA built-in effects, surface composition settings for depth/stencil buffers and multi-sample anti-aliasing
- (通过XNA框架可以通过更低的级别访问GPU等,提升了3D性能)
Silverlight 5 extends features of the "Trusted Application" model
Silverlight 5 extends features of the ‘Trusted Application’ model to the browser for the first time. These features, when enabled via a group policy registry key and an application certificate, mean users won’t need to leave the browser to perform complex tasks:
(又一个曾经以安全的名义限制的特别死,后来有放开的东西。在浏览器内也可以支持“授信应用程序”,通过组策略的设置和应用程序签名的方式。想要签名必须购买证书,不想花钱买证书的就不要考虑授信模式了。。这个特性基本上是SL为替代传统的Winform程序做的延伸,也可以说为企业应用铺路)
- Multiple window support: Launch multiple top-level windows inside a SL OOB application
- (多窗口支持。。SE系统是采用的模拟窗口,当时就是因为SL不支持多窗口。。现在OOB模式下可以弹窗口了,到此位置可以说基本上终结了WinForm。)
- Full-Trust in-browser: Using Group Policy, deploy signed in-browser applications that harness the full power of full-trust functionality
- (浏览器内的完全信任模式)
- In-browser HTML support: Host your WebOC within an in-browser SL application
- (浏览器内的HTML支持,上一版本只支持OOB下使用WebBrowser控件,让人抓狂。。。但现在是否必须FullTrust才能用??继续抓狂。。。放弃HTML吧,如果你用SL)
- Unrestricted File System Access: Read from and write to any directory on your system, from a full-trust application
- (不受限的文件系统访问,可以读写任意文件夹。。。但是必须完全授信。。)
P/Invoke support : Allows existing native code to be run directly from Silverlight
(允许调用原生代码,c++写的啥,com组件啊什么的,挺有用的。Winform又嘎巴折了。。)