Android 4.0和WP7.5开发技术对比

  对于谷歌Android 4.0 Ice Cream SandWich和微软WP7.5 Mango在开发技术上作对比,可以看出早期Google学习了Microsoft的WPF的设计方式,由于微软Windows Phone 7发布缓慢,导致Google在技术上将微软复杂的设计方式改进,从现在来看安卓冰激凌三明治和微软WP7芒果来看开发技术上仍然存在着巨大的差异。对于 准备步入移动开发的网友,就目前主流的系统做简单的分析:

  一、UI控件和设计模式

  对于WP7来说,整体控件数量不如Android丰富和实用,但也有一些创新的地方,比如说枢轴Piovt控件,在触控操作上比Android 的TabHost强了很多,但没有提供类似GridView这样的控件在Siliverlight中,由于WP7的UI刷新机制基于MVVM模式,相对于 Android的MVC有些不同,需要继承INotifyPropertyChanged接口,通过数据绑定来更新UI控件的值,相对比较繁琐。在控件自 定义方面,WP7可以使用银光的UserControl或从任何已有的控件中直接派生,对于Android来说这点基本相同,但提供的方法比如触控、长按 相关的微软这点都要 依赖Toolkit来实现,整体相对繁琐很多。

  二、数据库层

  微软在数据库方面一直有MS SQL,在手机上有SQL CE这样的轻量级数据库,但操作处理方面同样需要实现INotifyPropertyChanged接口进行更新,修改表,似乎变得更加抽象。同时数据交 换方面微软还有LINQ,在Web Services方面几乎和J2EE差不多,但相对于手机上而言Android的SQLite似乎更好用明了,这点微软确实输了。

  三、系统执行模型

  在WP7.5 Mango上支持了多任务,内存管理几乎和Android一模一样,同时新增了类似iOS上的数据推送,需要微软服务器中转的Push Notification,由于考虑应用随时被系统内存回收,必须保存每个页面的数据到持久化的存储中,比如类似Android的 SharedPreferences而在WP中为银光的IsolatedStorageSettings,在很多地方微软都在学习着谷歌,相比WP7到 WM6的改进来看。

  四、图形系统

  这点WP7和Android有着天壤之别,Windows CE下3D为DirectX,2D为GDI方式渲染,而Android下为OpenGL,同时WP7无法使用本地语言开发,导致iPhone和Android程序员在3D方面很是陌生。

  五、文件系统

  在WP7芒果上,微软学习了iOS那样的封闭,每个应用完全独立,所以没有文件管理器这个概念,导致了Adobe Reader这样的应用必须将pdf放入邮箱中,通过邮件附件来打开阅读。同样每个Windows Phone 7芒果手机一般不会有microSD卡,而是机身至少内置8GB或16GB的存储空间,同样无法用U盘功能,每个应用相对隔离,运行在自己的沙盒空间里, 对于应用可靠性和安全有了保障,但是对于部分实现方面确实不够好用。

  六、运行流畅度

  如果你看见WP7手机运行很流畅,那么你可能真的错了,在本质上Java虚拟机和微软的.Net Framework运行时库的底层效率差不多,但Android的手机一般运行着更复杂的桌面,比如左右N个主屏和一堆appWidget小插件,而微软 似乎Windows Phone 7的应用一般限制在5个同时工作的,否则将会被结束任务,同时由于部分低价Android设备,导致整体硬件配置偏低,比如有ARM11的CPU,RAM 只有256MB的情况,而微软WP7第一代手机至少配备了A8 1GHz的处理器,512MB的RAM,第二代的WP7 Mango手机配备了1.4GHz新一代高通Snapdragon,比如8X55系列,所以很多地方了看WP7更流畅,但其实从单个应用来看,WP7应用 的启动速度远不如Android平台上的应用,所以微软甚至设计出了这样的图片为每个默认工程提供一个载入图片。如果是微软系统自带的应用由于可以调用本 地的方法相对于第三方的Windows Phone应用来说启动会快很多。

  最终结论是Android123仍然推荐大家在高效和开放的Google提供的平台开发,至少不会束缚你的 想象力和实现速度,微软设计了很多限制和门槛,同时不开源在分析和实现上都会产生很多问题,至少Android的SDK可以工作在Mac OS、Windows各个平台和Linux上,而微软似乎将WP7 SDK锁定在Vista和Win7上。

时间: 2024-11-30 16:19:34

Android 4.0和WP7.5开发技术对比的相关文章

Android 6.0指纹识别App开发案例_Android

在android 6.0中google终于给android系统加上了指纹识别的支持,这个功能在iPhone上早就已经实现了,并且在很多厂商的定制的ROM中也都自己内部实现这个功能了,这个功能来的有点晚啊.在google全新发布的nexus设备:nexus 5x和nexus 6p中都携带了一颗指纹识别芯片在设备的背面,如下图(图片来自网络): 笔者手中的设备就是图上的那台黑色的nexus 5x,话说这台机器很是好看呢!手感超棒! 废话不多说,下面我出一个指纹识别的demo app,并且详细说明怎么

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.5节Android应用程序运行的机制

1.5 Android应用程序运行的机制 Android 3D游戏开发技术宝典--OpenGL ES 2.0 上一节介绍了如何搭建Android开发环境.如何开发Hello Android应用程序以及Android应用程序的调试,接下来在本节中将简要地介绍Android应用程序的运行机制. 1.5.1 应用程序的系统架构 Android平台由应用程序.应用程序框架.Android运行时.系统库以及底层Linux内核构成,详细结构如图1-54所示. 说明 应用程序层里面包含的就是需要读者去发挥创意

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.4节Hello Android应用程序的开发

1.4 Hello Android应用程序的开发 Android 3D游戏开发技术宝典--OpenGL ES 2.0 本节首先将介绍如何在Eclipse中创建一个基于Android的Hello World应用程序,之后将简单介绍Android应用程序的调试,为读者以后学习高级开发铺平道路. 1.4.1 第一个Android应用程序 本小节将向读者介绍如何在Eclipse中创建一个基于Android的Hello World应用程序,基本步骤如下所列. (1)首先打开Eclipse,然后依次选择Fi

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.1节游戏中的音效

2.1 游戏中的音效 Android 3D游戏开发技术宝典--OpenGL ES 2.0 一款好游戏,除了具备优质的画面和较高的可玩性之外,还应该有出色的音效.音效一般指的是游戏中发生特定行为或进行特定操作时播放的效果音乐或为了渲染整体气氛播放的背景音,如远处隆隆的炮声.怪物死亡的惨叫声.由远而近的脚步声等. 通过开发人员精心准备的声音特效,结合游戏的场景,可以渲染出一种紧张刺激的氛围,使玩家产生身临其境的感觉.这就像电影中的声音特效一样,假如没有了合适的音效,那么游戏和电影一样,真实感会大打折

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.7节蓝牙通信

2.7 蓝牙通信 Android 3D游戏开发技术宝典--OpenGL ES 2.0 随着硬件设备价格的不断降低,大部分智能手机上都已配备了蓝牙网络模块,Android设备也是如此.如果能为一些小型的休闲娱乐游戏增加蓝牙联网对战的功能,将会大大增加游戏的可玩性.本节将向读者详细介绍如何在Android平台下开发具有蓝牙互联功能的应用程序. 2.7.1 蓝牙通信的基本知识 蓝牙是一种支持设备短距离通信(一般是10m以内)的无线技术,其数据传输时不仅不需要连线,而且传输速率也比传统手持设备的红外模式

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.2节Android平台的特点及未来的趋势

1.2 Android平台的特点及未来的趋势 Android 3D游戏开发技术宝典--OpenGL ES 2.0 Android平台基于Linux,其不仅继承了Linux的各种优良特性,同时由于"Android之父"Andy Rubin的先进理念,使得Android平台又增加了许多非常具有吸引力的新特性.这不仅给终端用户带来了非凡的体验,还大大减轻了Android应用开发者的工作量与难度. 1.2.1 全新理念带来的体验风暴 Android是具有开源性质的手机终端解决方案,开发人员可以

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.5节2D动画的开发

2.5 2D动画的开发 Android 3D游戏开发技术宝典--OpenGL ES 2.0 虽然本书是着重介绍3D的开发技术,但在大部分的3D应用中也需要有不少的2D界面,如菜单.帮助等.本节将介绍一般用于开发游戏中2D界面的SurfaceView类的使用.其继承自View类,但与View的不同之处在于,View更新画面必须是在UI线程中(也可以理解为主线程中),而SurfaceView更新画面可以在自定义线程中进行,大大方便了开发. 提示 关于Android下的多线程问题,读者可以参考笔者在人

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.6节本章小结

1.6 本章小结 Android 3D游戏开发技术宝典--OpenGL ES 2.0 本章主要分为5个部分,分别介绍了手机市场的现状.Android平台的特点及未来的趋势.如何搭建Android开发环境.如何开发Hello Android应用程序.如何调试Android应用程序以及Android应用程序的运行机制.通过阅读本章,读者应该对当下的手机产业有个大概的了解,初步掌握Android相关的环境变量配置,简单程序的开发与调试,并且对Android应用程序的运行机制有大概的了解.

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.1节智能手机市场现状

1.1 智能手机市场现状Android 3D游戏开发技术宝典--OpenGL ES 2.0手机的问世使得人们联络更加方便,同时随着手机的逐渐发展,其已经成为现代生活中不可或缺的一个组成部分.在移动互联网时代,手机也可以像PC一样安装很多的游戏.应用,就像一部随身携带的小型计算机,而且其有着PC不可比拟的移动性,这使得智能手机的销量逐渐增大. 1.1.1 五大智能手机操作系统移动互联网时代到来之前,智能手机操作系统主要有Symbian.BlackBerry.Windows Mobile.嵌入式Li