我最近开始学习有关Xamarin
的知识,请耐心等待。我不确定这是否是一个明显的问题
在VS2017
中创建跨平台移动应用程序将创建3个项目:Xamarin.Forms
,iOS,Android。
因此,在我的Xamarin.Forms
项目中,我可以将地图添加到Form中,现在我可以在Android模拟器中看到该地图。效果很好。我没有碰过其他两个项目。
现在我必须添加每个平台固有的一些功能,因此,我需要转到Android project
来添加小部件,逻辑等。
在这些本机项目中使用C#还是需要学习一种新语言?
我问是因为Android Studio
使用java
,而iOS使用Objective C
,所以我不确定是否需要学习这些语言来学习
答案 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团队可以执行移动项目。
但是在某些情况下,您可能必须将本机Java
和Objective-C
代码转换为C#
,因此,如果您对它们有基本的了解,总会更好。
在建议您决定采用哪种方法之前,我建议您先阅读Xamarin表格中的Code Sharing Strategies:我个人和社区更喜欢使用.Net Standard
方法来共享您可以自行选择的代码。
祝您今后工作顺利,如有任何疑问,请随时回复。
答案 1 :(得分:1)
是的,所有Xamarin项目都使用C#(或F#)。尽管可以通过多种方式将用这些语言编写的本机库合并到Xamarin项目中,但无需使用Java或Obj-C / Swift。
Xamarin上有完整的文档部分,介绍如何将platform specific行为整合到Xamarin Forms应用程序中。