天翼空间应用工厂开发具体实例课件_第1页
天翼空间应用工厂开发具体实例课件_第2页
天翼空间应用工厂开发具体实例课件_第3页
天翼空间应用工厂开发具体实例课件_第4页
天翼空间应用工厂开发具体实例课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WindowsPhone7开发实例

——构建高质量的WP7应用程序李政-小米科技天翼空间应用工厂专家讲坛WindowsPhone7开发实例

——构建高质量的Agenda产品定义应用程序架构MVVM单元测试用户界面PanoramaVSPivot站在巨人的肩膀上性能启动性能数据库性能UI性能内存泄露错误报告应用程序架构用户界面错误报告产品定义性能Agenda产品定义应用程序架构用户界面错误报告产品定义性能产品定义应用程序架构用户界面错误报告产品定义性能产品定义应用程序架构用户界面错误报告产品定义性能方向比努力更重要4腾讯:

即时通讯李彦宏:

搜索马云:电子支付方向比努力更重要4腾讯:

即时通讯李彦宏:

搜索马云:成功的产品强大的产品经理强大的工程师成功的产品成功的产品强大的产品经理强大的工程师成功的产品高质量的产品6高质量的产品6应用程序架构应用程序架构用户界面错误报告产品定义性能应用程序架构应用程序架构用户界面错误报告产品定义性能传统的Silverlight应用程序架构8ViewModel(domainobjects)XAML(UIlayout)CodeBehindupdates,mayobserve传统的Silverlight应用程序架构8ViewMode代码示例9XAML:windowlayout+namedcontrols<StackPanel><TextBoxx:Name=“City”/><ComboBoxx:Name=“CountryList”SelectionChanged=…/></StackPanel>Codebehind:eventhandlersandmanipulatingthecontrolsvoidCountryList_SelectionChanged(…){City.Text= GetCity(CountryList.SelectedItemasCountry);}代码示例9XAML:windowlayout+namMVVM10ModelViewSomething

Controller?Presenter?CodeBehind?MVVM10ModelViewSomethingMVVM(Model-View-ViewModel)11Model(domainobjects)View(input,output)ViewModel(UIstate)updates,mayobserveDataBindingView.DataContext=ViewModel;MVVM(Model-View-ViewModel)11M深入MVVM源出处:/en-us/magazine/dd419663.aspx

微软官方开源类库Prism:/

MVVM在WP7中的应用实例:/articles/MVVM-in-real-life-Windows-Phone-applications-Part1

12深入MVVM源出处:http://msdn.microsof单元测试13单元测试13单元测试14单元测试14用户界面应用程序架构用户界面错误报告产品定义性能用户界面应用程序架构用户界面错误报告产品定义性能PanoramaVSPivotPanorama强调多种数据源的聚合,像一个主页去到不同的地方,商店,人脉。Pivot对相似数据的过滤,短信,邮件。/zh-CN/education/quickstarts/Panorama_and_Pivot_Controls#ChoosingPivotPanorama

16PanoramaVSPivotPanorama16PanoramaVSPivot17给用户与内置应用一致的体验。让用户觉得每个小细节都处理的很用心。PanoramaVSPivot17给用户与内置应用一致的站在巨人的肩膀上WindowsPhoneSDK7.1SilverlightToolkitforWPCoding4funToolkitforWP·

AdControl

·

Border

·

Button

·

Canvas

·

CheckBox

·

Ellipse

·

Grid

·

HyperlinkButton

·

Image

·

ListBox

·

Map

·

MediaElement

·

Panorama

·

PasswordBox

·

Pivot

·

ProgressBar

·

RadioButton

·

Rectange

·

ScrollViewer

·

Slider

·

StackPanel

·

TextBlock

·

TextBox

·

WebBrowser·

AutoCompleteBox

·

ContextMenu

·

DatePicker

·

DateTimeConverters

·

ExpanderView

·

Gestures

·

HeaderedItemsControl

·

HubTile

·

ListPicker

·

LocalizedResources

·

LockablePivot

·

LongListSelector

·

LoopingSelector

·

MultiselectList

·

PageTransitions

·

PerformanceProgressBar

·

PhoneTextBox

·

RecurringDaysPicker

·

TiltEffect

·

TimePicker

·

ToggleSwitch

·

WrapPanel·

AboutPrompt

·

ColorHexagon

·

ColorPicker

·

ColorSlider

·

InputPrompt

·

MemoryCounter

·

MessagePrompt

·

MetroFlow

·

PasswordInputPrompt

·

ProgressOverlay

·

RoundButton

·

RoundToggleButton

·

SuperSlider

·

TimeSpanPicker

·

ToastPrompt18站在巨人的肩膀上WindowsPhoneSDK7.1S性能应用程序架构用户界面错误报告产品定义性能性能应用程序架构用户界面错误报告产品定义性能基本原则不要在模拟器上测试性能,模拟器通常比真机快2-3倍。永远不要在UIthread做耗时很长的事情,会让应用程序没有响应。阅读UserExperienceDesignGuidelines,按照这里的原则设计应用程序会解决很多性能上的问题。永远不要猜测性能的瓶颈,测量一下。20基本原则不要在模拟器上测试性能,模拟器通常比真机快2-3倍。启动性能使用启动画面拆成一个个的小dll,在启动时可以减少load的dll数目图片,xml等文件设为Content,可以减小dll文件的大小。启动性能使用启动画面本地数据库性能每一张表都要加上Version数据定义每个Column只用最简单的get,set或者定义在成员变量上。大数据量的查询,如果set里有一个函数,就会显著影响查询性能。共享DataContext,如果每次创建新的DataContext,会慢上几十倍。22本地数据库性能每一张表都要加上Version22UI性能使用PerformanceProgressbar而不是WP7SDK自带的Progressbar使用DeferredLoadListBox如果你需要一个列表并且里面有很多图片DataBinding的性能问题Converter会显著影响性能,避免使用使用代码创建UI比DataTemplate要高效3s->1s23UI性能使用PerformanceProgressbar内存泄露.Net也有内存泄露?当然有商场能够上架的要求是应用程序使用内存小于90M最主要的内存泄露的地方事件处理函数没有被-=全局的类(Singleton)引用了对象没有解除引用24内存泄露.Net也有内存泄露?24进一步了解WindowsPhone7Development最佳实践的Wiki,Performance部分:/home#Performance

25进一步了解WindowsPhone7Developme错误报告应用程序架构用户界面错误报告产品定义性能错误报告应用程序架构用户界面错误报告产品定义性能错误报告关注每天都在运行的程序/b/andypennell/archive/2010/11/01/error-reporting-on-windows-phone-7.aspx

错误报告关注每天都在运行的程序Questions?28Questions?2829天翼空间应用工厂专家讲坛29天翼空间应用工厂专家讲坛30天翼空间开发者社区专家讲坛是天翼空间开发者社区2012年针对开发者推出的一项,专业能力提升的系列讲座,在每周四的晚上,邀请移动互联网开发领域的权威专家,通过语音频道专题讲座,线上论坛访谈,以及微博、QQ群线上同步直播的形式,为社区的开发者用户提供系统的技术讲座,答疑,以及运营知识方面的培训。30天翼空间开发者社区专家讲坛是天翼空间开发者社区2012年312012年天翼空间开发者社区将会邀请来自微软、新浪、InfoQ等优秀平台的技术专家,为开发者做关于windowsphone、phonegap、安卓等技术开发相关系列讲座。热情欢迎更多的技术牛人和移动开发爱好者,加入到我们的专家讲坛活动中来,共同成长。312012年天翼空间开发者社区将会邀请来自微软、新浪、InWindowsPhone7开发实例

——构建高质量的WP7应用程序李政-小米科技天翼空间应用工厂专家讲坛WindowsPhone7开发实例

——构建高质量的Agenda产品定义应用程序架构MVVM单元测试用户界面PanoramaVSPivot站在巨人的肩膀上性能启动性能数据库性能UI性能内存泄露错误报告应用程序架构用户界面错误报告产品定义性能Agenda产品定义应用程序架构用户界面错误报告产品定义性能产品定义应用程序架构用户界面错误报告产品定义性能产品定义应用程序架构用户界面错误报告产品定义性能方向比努力更重要35腾讯:

即时通讯李彦宏:

搜索马云:电子支付方向比努力更重要4腾讯:

即时通讯李彦宏:

搜索马云:成功的产品强大的产品经理强大的工程师成功的产品成功的产品强大的产品经理强大的工程师成功的产品高质量的产品37高质量的产品6应用程序架构应用程序架构用户界面错误报告产品定义性能应用程序架构应用程序架构用户界面错误报告产品定义性能传统的Silverlight应用程序架构39ViewModel(domainobjects)XAML(UIlayout)CodeBehindupdates,mayobserve传统的Silverlight应用程序架构8ViewMode代码示例40XAML:windowlayout+namedcontrols<StackPanel><TextBoxx:Name=“City”/><ComboBoxx:Name=“CountryList”SelectionChanged=…/></StackPanel>Codebehind:eventhandlersandmanipulatingthecontrolsvoidCountryList_SelectionChanged(…){City.Text= GetCity(CountryList.SelectedItemasCountry);}代码示例9XAML:windowlayout+namMVVM41ModelViewSomething

Controller?Presenter?CodeBehind?MVVM10ModelViewSomethingMVVM(Model-View-ViewModel)42Model(domainobjects)View(input,output)ViewModel(UIstate)updates,mayobserveDataBindingView.DataContext=ViewModel;MVVM(Model-View-ViewModel)11M深入MVVM源出处:/en-us/magazine/dd419663.aspx

微软官方开源类库Prism:/

MVVM在WP7中的应用实例:/articles/MVVM-in-real-life-Windows-Phone-applications-Part1

43深入MVVM源出处:http://msdn.microsof单元测试44单元测试13单元测试45单元测试14用户界面应用程序架构用户界面错误报告产品定义性能用户界面应用程序架构用户界面错误报告产品定义性能PanoramaVSPivotPanorama强调多种数据源的聚合,像一个主页去到不同的地方,商店,人脉。Pivot对相似数据的过滤,短信,邮件。/zh-CN/education/quickstarts/Panorama_and_Pivot_Controls#ChoosingPivotPanorama

47PanoramaVSPivotPanorama16PanoramaVSPivot48给用户与内置应用一致的体验。让用户觉得每个小细节都处理的很用心。PanoramaVSPivot17给用户与内置应用一致的站在巨人的肩膀上WindowsPhoneSDK7.1SilverlightToolkitforWPCoding4funToolkitforWP·

AdControl

·

Border

·

Button

·

Canvas

·

CheckBox

·

Ellipse

·

Grid

·

HyperlinkButton

·

Image

·

ListBox

·

Map

·

MediaElement

·

Panorama

·

PasswordBox

·

Pivot

·

ProgressBar

·

RadioButton

·

Rectange

·

ScrollViewer

·

Slider

·

StackPanel

·

TextBlock

·

TextBox

·

WebBrowser·

AutoCompleteBox

·

ContextMenu

·

DatePicker

·

DateTimeConverters

·

ExpanderView

·

Gestures

·

HeaderedItemsControl

·

HubTile

·

ListPicker

·

LocalizedResources

·

LockablePivot

·

LongListSelector

·

LoopingSelector

·

MultiselectList

·

PageTransitions

·

PerformanceProgressBar

·

PhoneTextBox

·

RecurringDaysPicker

·

TiltEffect

·

TimePicker

·

ToggleSwitch

·

WrapPanel·

AboutPrompt

·

ColorHexagon

·

ColorPicker

·

ColorSlider

·

InputPrompt

·

MemoryCounter

·

MessagePrompt

·

MetroFlow

·

PasswordInputPrompt

·

ProgressOverlay

·

RoundButton

·

RoundToggleButton

·

SuperSlider

·

TimeSpanPicker

·

ToastPrompt49站在巨人的肩膀上WindowsPhoneSDK7.1S性能应用程序架构用户界面错误报告产品定义性能性能应用程序架构用户界面错误报告产品定义性能基本原则不要在模拟器上测试性能,模拟器通常比真机快2-3倍。永远不要在UIthread做耗时很长的事情,会让应用程序没有响应。阅读UserExperienceDesignGuidelines,按照这里的原则设计应用程序会解决很多性能上的问题。永远不要猜测性能的瓶颈,测量一下。51基本原则不要在模拟器上测试性能,模拟器通常比真机快2-3倍。启动性能使用启动画面拆成一个个的小dll,在启动时可以减少load的dll数目图片,xml等文件设为Content,可以减小dll文件的大小。启动性能使用启动画面本地数据库性能每一张表都要加上Version数据定义每个Column只用最简单的get,set或者定义在成员变量上。大数据量的查询,如果set里有一个函数,就会显著影响查询性能。共享DataContext,如果每次创建新的DataContext,会慢上几十倍。53本地数据库性能每一张表都要加上Version22UI性能使用PerformanceProgressbar而不是WP7S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论