locked
如何迁移iOS应用到Windows 8商店应用(1):面向iOS应用开发人员介绍Windows 8平台 RRS feed

  • 问题

  • 作者: Rafe Wu

    原文:http://blogs.msdn.com/b/win8devsupport/archive/2012/11/14/porting-ios-apps-to-windows-8-1-introducing-windows-8-platform-to-ios-app-developers.aspx

    关于此开发向导

    如果你是一名iOS应用开发人员, 并且正准备去构建你的第一个Windows 8应用,这篇向导将可以帮助你入门并且指导你完成工作。

    即使你已经了解和知道如何构建一个iOS应用,这篇向导同样包含了你所需要的那些技能去开发一个Windows 8应用 。在看完这系列向导后,你将了解这两个平台的应用所具有的共同点以及不同点,将可以了解到如何才能更好更完美的将Windows 8的特性带入到你所迁移的iOS应用中。

    目标读者

    为那些准备构建和开发Windows 8应用的iOS应用开发者。

    文档中使用的约定术语

    术语

    缩写

    Windows 8

    Win8

    Application Programming Interface 应用程序接口

    API

    Integrated Development Environment 集成开发环境

    IDE

    Visual Studio 2012

    VS2012

    Windows Runtime

    WinRT


    1. 面向iOS应用开发人员介绍Windows 8平台

    Windows 8环境下带了一个全新的应用类型:Windows商店应用。Windows商店应用有着全新的外观,可运行在多种设备上,而且你还可以简单方便地在Windows商店中进行销售你的应用。

    微软提供了强大的开发工具,详细的文档以及丰富的开发样例,为的是能够让开发设计人员更快速地更简单地入手去开发Windows商店应用。在向导中,我将重点放在如何让一个iOS应用开发人员对比并掌握构建Windows 8 商店应用的技能。

    如果要想了解更多的关于Windows 8商店应用市场方面的信息,请看 销售应用 。如果想了解更多关于开发Windows 8商店应用特性的内容,请看 面向开发人员的Windows 8产品向导

    开发工具

    微软为开发Windows 8商店应用准备一整套的开发工具,他们包括

    • 一个集成开发环境IDE: Visual Studio 2012(VS2012)
    • 一个可视化的设计工具 (面向设计人员)Blend for Visual Studio 2012
    • 相关库:Windows Runtime(WinRT), DirectX
    • 用来模拟平板环境下测试和调试的模拟器

    整个工具集可以帮助我们开发Windows商店消费应用和游戏应用。

    编程体系结构

    Windows商店应用编程模型利用的是分层体系结构,所示

    在最底层是Windows内核层,他用来提供驱动级别的支持。往上则是Windows Runtime核心层,他是一个内容丰富的库用以替代绝大多数Win32 API。他还提供了新的面向对象的API集合和新的Win32 API所没有的特性。我们可以划分WinRT API到多种名字空间中,例如,UI, Storage 存储, Network 网络, Media 媒体 等等。

    WinRT组件导出了完整的元数据和WinRT名字空间,元数据格式是与.Net程序集格式标准一模一样的(ECMA-335标准)。元数据为WinRT平台提供代码描述,他所定义的编程模型使得所写的面向对象代码可以被多种不同语言共享。

    语言影射这种方式可以使得本地API能够支持三种类型的开发语言:本地代码语言(C/C++),托管代码语言(C#/VB.Net),甚至是HTML5Javascript

    除了WinRT APIWindows商店应用还支持一个Win32 API的子集。你可以从下面这个链接找到Windows商店应用所支持的Win32 API子集的列表:Win32 and COM for Windows Store apps (Windows) 如果应用是使用了托管代码,那么一个.Net子集也是被商店应用支持的 .NET for Windows Store 应用程序 - 支持的 API

    比较Windows 8iOS的编程框架

    下表列出了Windows商店应用UI框架所提供的特性和iOS相对应特性的比较:

    iOS框架

    功能

    Windows商店应用UI框架

    Cocoa Touch

    为应用程序提供API

    Windows Runtime(WinRT)

    Media

    面向Windows商店应用的.Net子集

    核心服务

    提供可复用的系统级别的功能和资源

    Windows Runtime

    DirectX(2D, 3D)引擎

    语言执行引擎

    通用语言运行时(CLR) (仅针对托管代码)

    系统核心

    操作系统

    Windows NT内核

    iOSWindows 8是建立在完全不同的两个操作系统内核上的,但是这点对于我们程序员来说是完全透明的,并不需要去关心。

    一些托管语言像C#,VB.NetWindows 8上执行需要一个语言执行引擎。在Windows 8中,通用语言运行时(CLR)就是一个即时(just-in-time)编译运行引擎。不同于C#VB.NetObject-C是不需要一个托管环境的。他可以直接在设备上执行。

    iOS的核心服务层向所有应用提供基础系统服务。在Windows 8平台中,Windows Runtime库扮演了同样的角色。他同样是本地代码形式的和可复用的。如果你想要开发游戏,那么就需要用DirectX引擎来替代OpenGL ES库。

    Cocoa TouchMedia层是构建iOS应用的关键框架。在Windows商店应用中,由Windows Runtime库提供API。我们可以使用WinRT映射到不同的语言。如果你同时还用托管语言,则.Net面向商店应用的一个子集也是可以使用的。

    比较Windows 8iOS应用开发语言

    下表比较了开发iOSWindows 8应用的编程语言:

    iOS应用

    Windows商店应用

    Object-C

    C#/VB.Net, C++/CX, HTML5+Javascript

    iOS下,你必须使用Object-C语言来开发应用。

    不过,在Windows 8下,你将可以使用3种不同的语言来开发你的商店应用。他们是C#或者VB.NetC++/CXHTML5/Javascript。不过,并没有一个直接的方法可以将Object-C转成这些Windows 8应用支持的语言。

    请注意,在Win8平台下,C++成为了第一类语言,我们可以用C++来编写UI和业务逻辑。但实际上,我们通常会用它来编写自定义的WinRT组件,而不是直接开发应用程序。

    总结

    在这章节中,我们比较了Windows商店应用UIiOS应用编程框架上的区别。现在已经两个平台的编程体系结构我们现在可以更层次地去了解些内容 一部分我们研究Windows商店应用程序用户界面设计方式

    下一篇:如何迁移iOS应用到Windows 8商店应用(2):用户界面设计

    2012年11月15日 9:45
    版主