Windows Phone7:调动.Net开发者积极性
从微软那里得知,如果一个开发人员在Silverlight中或者是在XNA Game Studio中创建一个Windows Phone 7应用程序,并且在发布这个应用程序之前,开发者需要向微软提交一个.xap应用程序包,以便获取微软认证。压缩的文件还需要包括一个应用程序图标,一个Live Tile,元数据和许可信息。
如果一个开发者写了一个很好的很清洁应用程序,那么一般在发布是不会出现任何问题,因此在应用上传之前请确保您的应用程序是商店中的一个好“公民”,而显然不希望是任何木马和病毒。
Windows Phone 7的特色功能是设备上的Windows Phone Marketplace"hub"中心,它是用于搜索例如游戏和应用程序这样的内容。该中心提供诸如市场中访问内容的驱动,例如应用程序,游戏,Zune音乐和播客。Windows Phone Marketplace也可以通过带有Zune软件客户端的桌面电脑进行访问。
开发人员可以利用一个可选的审判API,从而限制了试用版的使用。一个应用程序的下载出现在屏幕右边开始部分的应用程序列表中,并自动将相关的内容集成到这个枢纽中。之前微软宣布,开发人员将从他们的作品销售中获得高达70%的收入。
通过Windows Phone 7的发布,这些应用将被分发到应用市场中。微软没有计划推出其他可供选择的部署机制。
微软Windows Phone应用平台和开发经验经理表示:“我们从开发者和客户那里了解到,在这些情况下他们希望得到更多的灵活性,我们也绝对是非常看着用户的反馈,并思考未来如何使我们获得更多的场景。”
该市场将支持移动运营商结算,信用卡购物和广告资助的应用程序。
上个月,当苹果宣布了针对iPhone,iPod Touch和iPad设备的iAd,并且开发人员可以在应用程序商店中使用它时,苹果公司上了新闻封面。依据苹果模式,开发人员获得在其软件上投放的广告营收的60%。
针对Windows Phone的Silverlight为移动开发创造了一发展机遇特别是那些微软的Silverlight合作伙伴公司。一个.NET高级开发工程师表示:“以前为Windows Mobile开发有一些困难,因为开发工具的原因,但是Compact Framework与.NET框架具有太大的差异。你需要确切地知道与Compact Framework有关的API。而现在有了Silverlight,那么桌面上的API和电话的API就不存在差异了,因此现在变得简单得多,你没有必要学习这两种不同的API集。唯一不同的是,当我们在Silverlight中进行开发时,我们针对Silverlight 4,而为手机开发,我们针对的是Silverlight 3。”
一位开发者目前正忙于客户的电子商务解决方案,他希望将自己的Silverlight应用作为自己项目中的一部分的导入到Windows Phone中。现在伴随着Windows phone如此简单的操作,所以要做真正的Silverlight应用,移植到手机中去。
Silverlight的开发人员使用相同的语言(C#和XAML),编程技术和工具来为Windows Phone 7.0操作系统创建事件驱动的应用程序。而此次发布版本将不做支持,但是Visual Basic是路线图中的一部分。
Silverlight开发人员,一夜之间成了一个Windows Phone开发者。这一切看起来就是这么简单。你可以写一个应用程序,就像你写了Silverlight浏览器应用程序,主要的一点是协同手机硬件和操作系统。
针对Windows Phone的Silverlight是基于Silverlight 3的子集,并添加了对手机的特定功能支持,如支持手势识别控制,操纵事件,传感器(运动加速度),微软通知服务,定位服务和TextBox控件上的软件输入面板(SIP)。
摄像头和麦克风已经在Silverlight 4中进行了添加,同时在电话中也有支持,这可以解释月初有关Silverlight 3与Silverlight 4混乱的部分。
此外,一些受支持的功能在Windows Phone上可能有不同的表现。例如,它有一个独特的IIS流的执行情况。用于Windows的Silverlight一样,它也支持硬件加速,H.264视频数字版权管理,但是它不支持HTML5。
应用程序被托管在设备上,而不是内部的Internet Explorer移动浏览器,因此Silverlight将不支持如Java脚本编程,HTML DOM以及plug-in对象的引用等功能。
我们有一些特定的东西是与桌面和浏览器相关的,如集成背面按钮,当谈论一些关于Windows Phone应用程序时,这样的事情就没有意义。同样,微软称Adobe公司的Flash是不支持Windows Phone 7的,尽管公司可能会在这方面做一些工作。今年3月,Adobe公司Flash平台的主要产品经理表示:“有一点我想澄清,那就是Adobe和微软是合作关系,共同将Flash Player 10.1带到Windows Phone 7系列设备的移动互联网浏览器中。”
Silverlight其他常用的,不适用于Windows Phone的功能诸如P/Invokes,sockets和动态语言运行时。此外,Silverlight的SDK的功能,如Windows Presentation Foundation(WPF)控件,WCF数据服务(前身为ADO.NET数据服务),RSS和Atomfeeds及JSON序列化都将不被支持。对于每一个版本的Silverlight,起初他们锁定的许多功能,然后他们打开了以用户的要求为基础的功能。它们可能只是被锁定为当前测试的一些功能;他们要么是没有完全必要以及他们可能是没有完全与手机兼容,例如,该手机不支持运行在浏览器内的Silverlight应用程序,很可能会有一个无限循环发生。但我敢肯定他们会打开新的功能,因为他们知道手机上什么功能是人们想要的。
Silverlight中的.NET Compact Framework支持的普通语言运行时,WCF和语言集成查询(LINQ),但不是来自于自定义的数据源。“我们发现有90%的人使用Compact Framework是基于日常生活中,特别是对于人们想要在手机上创建的应用程序的类型,那么这些正是你所需要的。
虽然很多的开发是类似的,但是Windows Phone中的导航模式不同于Silverlight 针对Windows应用程序,因为屏幕尺寸是不同的。
这其中最重要的就是要了解导航模式,因为他们实现了导航栏,这是一个可用的控件,但现在你没有设计器来创建导航栏,因此可能不得不要在代码中隐藏它。从数据方面讲,没有变化。目前的Windows Phone使用Web服务来获取数据,而且我们正在做同样的事情。随着他们正在提供类似服务的通知和定位服务,它会帮助我们实现一些目标,而且在Silverlight以前要做到这些有一些困难。
开发者还需要注意的是设备的工作方式,特别是关于如何管理任务,例如,如果你运行一个程序,当你你启动另一个应用程序时将会出现什么情况呢?
微软已经编写一个DLL,它适用于Silverlight for Windows 以及Silverlight for Windows Phone 。开发一个伟大应用程序的关键是要从一个新形式来优化的用户体验。你必须去思考你想要你的应用程序在手机上能够做些什么以及您是否希望它有同样的表现方式,因为在手机上,一些人不使用鼠标,他们使用的是触摸屏。所以你需要做许多的工作或用户界面的优化设计,使用户有一个非常惊喜的体验。