已有一年多没有碰WP相关的开发了. 近期经常看博客园的文章, 发现开发WP应用的同学很多, 其中博问频道关于"WPF", "C#", "WP8"相关的问题比较多, 其中很多问题我之前也遇到过, 所以这里写一篇回顾文档, 希望我的经验能给大家带来一些帮助.
我最早的WP手机是Mozart, 这部水货机给我带来了无尽的乐趣, 还有苦恼. Metro的界面设计和交互方式, 非常符合我对现代应用体验的期待, 但应用商店中app的质量数量之少, 质量之差, 让人感觉WP的前景不妙. 我的WP开发学习就是从这时开始, 先后根据自己的需求, 捣鼓出好几款软件并提交到了应用商店. 尽管已经一年多未更新, 大多数应用仍有很多忠实用户, 并收到众多网友给我的中肯建议, 还有应用更新的请求.
写这篇文档, 一方面是回顾下之前的开发经验, 还有就是及时充电, 跟进WP SDK的进度, 为自己/网友继续带来一些新鲜气息.
"手指画画"是我开发的第一款应用, 前后更新了好几版, 最新版本是5.0, 最后更新时间是2013年7月. 这个也是我自己最满意的作品, 但后来业余时间太少, 中间还有一个6.0版本, 压了一年, 直到现在也没有提交发布. 网友热情让我感动, 作为一款免费软件, 我加上了捐赠链接, 竟然收到了接近100元人民币! 很让人意外, 加这个链接时, 我曾自嘲到, 这个按钮如果有人点真是见鬼了.
这个也我花费好几个周末时间. WP7时代的默认浏览器, 尽管操作体验优秀, 但功能少的可怜, 用起来也不够顺手. 我就有想法搞一个浏览器, 也就有了这个作品.
另外, 我练手的软件都提到了市场, 有兴趣可以查阅此链接: http://www.windowsphone.com/zh-CN/store/publishers?publisherId=%25e5%2586%25af%25e5%25a8%2581%25e9%25a3%258e&
下面回到正题. WP开发, 入门门槛其实很低. 主要是C#语言学习, .net framework熟悉, 下载WP SDK和Visual Studio Express, APP设计和开发.
C#语言本身语法优雅, 按照MSDN教程, 几小时入门应该没什么问题. 作为WP的开发语言, 丰富的语言特性也令人兴奋. 所以
经验一
阅读.NET Framework 的路线图 了解.net framework中包含那些内容, 只需要大概浏览一遍,知道那些功能是这个框架提供的, 以便用时过来详细参考. WP的SDK中提供了这篇文章的一个子集.
阅读开发 Windows Phone 8 的应用 熟悉WP应用的生命周期和常见功能实现, 同时下载SDK.
不建议仅抱着学习的态度进行WP开发, 一定要给自己设定一个APP目标, 界面/功能/交互, 最好打个草稿, 在纸上画出界面和交互流程图, 然后对照Microsoft 设计原则 看下界面是否符合WP系统的风格, 然后针对性优化.
界面/交互/功能整体需求完成后, 就可以根据上面的链接内开始开发了.
WP的界面通过XAML定义, XAML和HTML其实很类似, 但语法其实更简单, 了解Grid, StackPanel, TextBox, TextBlock, Button这几个标签后, 基本界面就可以完成了. 编写界面几点建议.
经验二
TextBlock1.Text="xxx";
, 而是在xaml中使用<TextBlock Text="{Binding Xxx}"></TextBlock>
, 关于绑定, 参考数据绑定概述 (XAML);采用"MVVM"方式开发, 理由自己开发中可以体会到, 只要app复杂度稍微提升, "View Model"和"Model"划分很难避免. 所以一开始选择"MVVM"方式开发可以节省不少重构工作.
"MVVM"尽管有很多框架, 但开始并不建议使用, 自己了解并应用就行了.
经验三
最后重点强调, 多用数据绑定.
时间不多, 今天先到这里.