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上 。