VS2017创建的iOS和Android项目中使用C#吗?

时间:2019-02-08 16:50:13

标签: c# android xamarin xamarin.android visual-studio-2017

我最近开始学习有关Xamarin的知识,请耐心等待。我不确定这是否是一个明显的问题

VS2017中创建跨平台移动应用程序将创建3个项目:Xamarin.Forms,iOS,Android。

因此,在我的Xamarin.Forms项目中,我可以将地图添加到Form中,现在我可以在Android模拟器中看到该地图。效果很好。我没有碰过其他两个项目。

现在我必须添加每个平台固有的一些功能,因此,我需要转到Android project来添加小部件,逻辑等。

在这些本机项目中使用C#还是需要学习一种新语言?

我问是因为Android Studio使用java,而iOS使用Objective C,所以我不确定是否需要学习这些语言来学习

2 个答案:

答案 0 :(得分:2)

如果您在Microsoft网站上查看Xamarin.Forms,它将在那里回答您的问题;

  

Xamarin.Forms为.NET开发人员提供了一个完整的跨平台UI工具包。在Visual Studio中使用C#构建完全原生的Android,iOS和通用Windows平台应用。

但是甚至可以选择F#

就您的平台特定问题而言,有完整的单独指南,可以教您如何以及何时需要平台特定的代码,here

  

在这些本机项目中使用C#还是需要学习一种新语言?   我问是因为Android Studio使用Java,iOS使用Objective C,所以我不确定是否需要学习这些语言。

是的,这就是Xamarin本机和Xamarin.Forms框架的全部意义所在,纯C#/ F#开发人员无需学习新语言即可成为移动应用程序开发人员。因此,现有的.Net团队可以执行移动项目。

但是在某些情况下,您可能必须将本机JavaObjective-C代码转换为C#,因此,如果您对它们有基本的了解,总会更好。

在建议您决定采用哪种方法之前,我建议您先阅读Xamarin表格中的Code Sharing Strategies:我个人和社区更喜欢使用.Net Standard方法来共享您可以自行选择的代码。

祝您今后工作顺利,如有任何疑问,请随时回复。

答案 1 :(得分:1)

是的,所有Xamarin项目都使用C#(或F#)。尽管可以通过多种方式将用这些语言编写的本机库合并到Xamarin项目中,但无需使用Java或Obj-C / Swift。

Xamarin上有完整的文档部分,介绍如何将platform specific行为整合到Xamarin Forms应用程序中。