Visual C++ 中的跨平台移动开发


[原文发表地址]Cross-Platform Mobile Development with Visual C++

[原文发表时间] 2014/11/12  3:35 PM

概述

现代的应用程序的客户要求应用支持多种设备平台(如Windows,Android和iOS)。如今,存在着多种方法书写应用程序来实现对这些设备的平台支持。一种方法是简单地在不同的源代码树中的创建多个版本,换句话说一个应用程序的Windows特定版本, iOS特定版本和Android特定版的本地技术在平台可用。虽然这是一个简单的直接的方法,但相当于开发成本更高昂和时间更长。 C ++是唯一具有编写高效,快捷,功能丰富的跨平台的移动代码的能力的语言,一次编译就可在这些不同的设备平台共享。

Visual Studio 2015预览版(这里下载)推出支持开发人员能够构建跨平台移动本地(C/C++)针对Windows平台(通过Visual C ++工具链C1XX/ C2)和Android平台(通过Clang/LLVM的二进制文件工具链)。基于这一点,开发人员将能够轻松地分享他们的夸平台移动代码,同时使用更先进的开发功能,例如跨平台智能感知,重构,跨平台的调试和更多的推动开发人员的工作效率。

而Android平台与API等级3推出了Native Development Kit (NDK),它能够在C/ C++创建和使用类库。使用VisualStudio 2015预览版,开发人员将能够:

  •  轻松构建动态共享库和静态库,他们为应用程序封装了所有本地(C/ C++)代码。这些库可以作为如使用了Xamarin和Java技术等其他Android应用(.apks)的一部分。我们一直致力于Xamarin,利用C / C++代码能够流畅的在Visual Studio中构建Xamarin的Android应用程序。
  • 创建的Android本机-活动应用程序,本机-活动的应用程序是全部由本地代码(C/C++)实现,一般用于需要先进的图形处理的游戏和应用程序。开发人员将能够建立,调试和部署Android的本地-活动应用程序就和在模拟器和实体机的一样。
  • 快速迭代编辑,编译,调试周期,通过利用快速的x86利用模拟传感器基于Android的模拟器进行部署和有针对性的应用测试(如放大,方向,加速度计,电源等)。欲了解更多信息,请参阅本博客,这里

入门

为了开始使用Visual C++跨平台移动开发技术,请先下载Visual Studio2015预览版(这里下载)。在运行安装程序时,请选择以下安装选项(‘Visual C++跨平台移动开发’),如下图1所示。

   

 图1:选择Visual C++跨平台移动开发选项   

  

                图2:选择‘重启并安装’选项 

 

 

                   3:选择需要额外软件        

主安装完成后,Visual Studio给跨平台移动开发的用户提供了一个额外的第三方软件安装作为次级安装程序的一部分,如图2所示(选择“重新启动并安装”选项)。在系统重启后,次级安装出现时,请确保以下条目(Android SDKAndroid NDKApacheAntOracle Java SDK和Microsoft Visual Studio Android模拟器)都选择上,如图3。然后进行后面的安装

跨平台移动模板

成功安装完成后。你应该可以在文件 - >新建- >Visual C++ - >跨平台下看到一系列模板(见下图4)。

             图4:Visual C++-〉跨平台下的新模板

模板中,用(安卓)特殊关键字如“动态共享库(安卓)'修饰的模板允许开发人员专门创建Android平台的应用程序,用关键字(跨平台)修饰的模板允许开发人员创建当前同时用于Windows和Android平台的应用程序。跨平台的模板也将突出的Visual C++在这些平台上的很容易的共享和编辑能力。我们将尽快发布这些模板的详解的博客,敬请期待!

结尾

这个博客应该使你了解了我们在VS2015预览版推出了Visual C ++跨平台移动开发。我们会更密切的跟进这个博客帖子,添加关键功能贴。这个预览版本和任何预览版一样,我们的目的是收集大家的反馈并向大家学习。我们正在考虑将来也支持其他平台,您的反馈是塑造我们的产品的方向是至关重要的。

分享反馈是很容易的!功能的建议请写到用户声音,提交发现的缺陷请到我们的网站连接或者在IDE中发送笑脸或者皱眉。您也可以在下面评论。另外,如果你想直接和我们这个主题的产品团队对话的话,请发邮件到(aasthan@microsoft.com)。我们很希望从你那得到更多并和你建立联系。


Comments (0)

Skip to main content