Windows Phone开发工具初体验【转载】

摘要:
Windows Phone开发工具在MIX2010上大热。Windows Mobile开发人员压抑的热情终于爆发了。对于Windows Phone的华丽转身,开发者们褒贬不一。一些人对Silverlight和XNA等新技术充满期待,一些人抱怨放弃了以前版本的兼容性,不支持C++开发。无论如何,WindowsPhone为我们带来了新的用户体验和新的开发工具,这比让开发人员坚持使用WindowsMob要好

Windows Phone开发工具在MIX 2010上火热登场了。Windows Mobile开发者们压抑许久的热情终于爆发出来,对于Windows Phone的华丽转身,开发者们褒贬不一,有人对Silverlight XNA等新技术充满期待,有人对放弃以前版本兼容性、不支持C++开发满腹怨言。

无论如何,Windows Phone为我们带来了新的用户体验、新的开发工具,总比让开发者守着Windows Mobile的老面孔,一起慢慢变老,要好吧?下面,就让我们看看Windows Phone开发工具会为开发者们带来哪些惊喜,呃,或者惊讶。

Windows Phone开发工具的社区预览版(CTP)可以在MSDN上下载。其中包括Visual Studio 2010 Express for Windows Phone, Windows Phone模拟器, Silverlight for Windows PhoneXNA 4.0 Game Studio。目前,Windows Phone开发工具只能安装在Windows 7Vista SP2上,还需要显卡支持DirectX 10

打开VS 2010后,我的感觉喜忧参半,喜的是Windows Phone提供了两种不同的开发平台:Silverlight for Windows PhoneXNA 4.0,忧的是,以前Windows MobileC++.NET Compact Framework都用不上了。所以,以前的Windows Mobile程序员也要经历一个痛苦的转型过程。

接下来,我们就看看Windows Phone带来的双重惊喜吧!

Silverlight for Windows Phone

Silverlight for Windows Phone险些沦为一个笑话,Windows Mobile程序员在抱怨,Symbian上的Silverlight都出来了,Windows Mobile上的Silverlight在哪里?这次,Silverlight for Windows Phone来了,而且所有Windows Phone上的应用必须用Silverlight来写。

Silverlight最大的优势在于与Expression Blend的无缝整合,可以快速设计出非常漂亮的用户界面,将程序员从繁琐的UI开发中解放出来。而且Silverlight for Windows Phone不再是Silverlight的子集,而是支持Silverlight的全部功能。这样的好处是,已有的Silverlight程序很容易移植到Windows Phone手机上。

在程序菜单的XNA Game Studio 4.0下打开VS 2010,创建一个新工程,在Visual C#下找到三个模板,选择”Windows Phone Application”

Windows Phone开发工具初体验【转载】第1张

不知道Phone List Application是啥,看起来Windows Phone的界面会以List为主了。点击OK后,会直接进入IDE的主界面:

Windows Phone开发工具初体验【转载】第2张

似曾相识,左边是工具栏,可以拖拽控件到UI设计器上,与XAML界面对应。根据示例程序,我准备编写一个浏览器和媒体播放器,首先是从Toolbox中将MediaElementWebBrowser控件拖拽到UI设计器上。

Windows Phone开发工具初体验【转载】第3张

为了播放多媒体文件,我们还要在Solution Explorer里将wmv文件添加到工程里。做法和Windows Mobile工程一致,选择Content类型,wmv文件会和工程一起发布。

接下来就是编写代码了。MediaElement组件需要设置Source属性,然后调用Play方法。而WebBrowser选择Navigate方法来访问指定网站。

 private void button1_Click(object sender, RoutedEventArgs e)
        {
            textBlockListTitle.Text = textBox1.Text;
 
            if (Convert.ToBoolean(checkBox1.IsChecked))
            {
                webBrowser1.Visibility = Visibility.Collapsed;
                mediaElement1.Visibility = Visibility.Visible;
                // play Video
                mediaElement1.Source = new Uri("Wildlife.wmv", UriKind.Relative);
                mediaElement1.Position = TimeSpan.FromMilliseconds(0);
                mediaElement1.Play();
            }
            else
            {
                mediaElement1.Visibility = Visibility.Collapsed;
                webBrowser1.Visibility = Visibility.Visible;
 
                // Browser
                webBrowser1.Navigate(new Uri(textBox1.Text, UriKind.Absolute));
            }
        }
 

Windows Phone开发工具初体验【转载】第4张

代码编辑完成后,选择Windows Phone Emulator作为目标设备。直接按F5Windows Phone Emulator会被启动。

Silverlight for Windows Phone类库中增加了很多Phone独有的功能。Microsoft.Phone的命名空间下,包括Phone、电话本、电子邮件、CameraBing地图、Marketplace、浏览器和搜索等功能。Microsoft.Device.Sensors中包括各种各样的传感器,其中包括重力感应。Silverlight中还包括了LocationPush Notification等独有功能。

我的程序运行起来就是下面这个样子。程序带有强烈的Zune风格,不但有标题,而且还有明显的Block List Title。另外就是输入法,带有明显iPhone的痕迹,不过对电容屏的支持看来不是问题了。

我还没有仔细看Windows Phone Emulator的实现机制,不过从启动速度来看,绝对不是把整个Windows Phone放在模拟器里执行了。原来Windows Device Emulator那个基于三星2410的小身板估计也跑不起来。反正也是Managed Code,估计又是JIT编译那套。恍惚间,仿佛回到了Pocket PC 2002的年代。

Windows Phone开发工具初体验【转载】第5张

免责声明:文章转载自《Windows Phone开发工具初体验【转载】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HTML 表单常用的代码元素(转载)游戏开发完整学习路线(各个版本都有)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用Charles 实现本地替换线上文件

一、安装过程及替换本地文件(包括跨域解决方案)参考下面地址(写的很详细): https://juejin.im/post/6844903538783436814#%E5%8F%82%E8%80%83%E6%96%87%E6%A1%A3 二、单读讲浏览器替换本地文件方法: 1、配置浏览器 1. 点击F12,打开开发者工具,network -> 勾选Di...

虚拟机与ubuntu系统的安装与基础操作

1.虚拟机的下载: 常见的虚拟机软件有:VMware VirtuaIBOX Virtual PC 等。 这里主要介绍VMware ,VMware目前已经有很多个版本,可以根据个人情况进行选择。安装完成后打开选择个人或家庭免费使用。 2.ubuntu iso包下载: linux各发行版本下载地址 <-这个是个人推荐的一个linux各发行版本的下载地址。...

[201020] Manjaro(KDE桌面环境)小白向完全安装教程(附Linux简要介绍)

本文并非网上常见的安装试错文,这一点还请读者大可放心。 本文力求做到手把手教学,尽量为系统安装过程中每个步骤给出截图并做出必要的说明。不过即便如此也难免有疏漏之处,到时还请读者自行咨询搜索引擎。在Linux的使用过程中一定会遇到各种各样的问题,搜索引擎永远是你最好的伴侣。 基础知识 不需这些知识,想要直接按步骤安装系统的读者可以直接跳过本节。 开始教程前首...

Helm 入门指南

来自: https://www.hi-linux.com/posts/21466.html  官网; https://helm.sh/docs/developing_charts/ Helm 是 Kubernetes 生态系统中的一个软件包管理工具。本文将介绍 Helm 中的相关概念和基本工作原理,并通过一个具体的示例学习如何使用 Helm 打包、分发、安...

Linux(三)—— 项目部署环境搭建

项目部署环境搭建 目录 项目部署环境搭建 一、linux上网 二、rpm包管理 1、光盘挂载 2、安装卸载rpm包 3、查询是否安装 4、查看软件包 5、互相依赖关系的软件包 三、yum包管理 1、使用aliyun的yum源 2、使用yum安装软件 3、查看yum源的软件包 4、删除软件包 5、优化yum源 (1)使用本地源 (2)局域网y...

AI2(App Inventor 2)离线版服务器网络版

个人修改包括: 1.后台增加用户批量添加功能 https://gte.fsyz.net/node/1877 2.上传文件限制改为100M ,编译文件限制改为10M https://gte.fsyz.net/node/1876 3.登陆默认设置为中文 https://gte.fsyz.net/node/1875 4.增加nginx反向代理,支持php以及pa...