Mr *_*ery 18 c# cross-platform xamarin xamarin.forms
我已经在Xamarin环境工作了2年,而且大多数时候我都使用过Xamarin.Forms.但是,我不知道Xamarin Cross Platform是什么?谁能提供一些结构差异?
Alm*_*Vuk 51
当我们谈论Xamarin时,开发本机应用程序有两种方法:
Xamarin网站引用了一句好话
随处共享代码.使用相同的语言,API和数据结构在所有移动开发平台上共享平均75%的应用程序代码.使用Xamarin.Forms构建用户界面并分享近100%.
重要的是,这些数字可能因项目而异,因此这是Xamarin一般用法的一些假设.
正如您可以从图像中看到这两种方法之间的"差异".传统的Xamarin方法(Xamarin.iOS和Xamarin.Android)它们都建立在Mono之上,Mono是.NET Framework的开源版本.要开发那些使用C#的应用程序,您可以分享高达75%的代码库,如下图所示和来自Xamarin的引用.
使用Xamarin Traditional方法,您可以使用C#作为编程语言来编写模型,调用Web服务等.因此,您正在编写该代码逻辑一次并在Xamarin.Android和Xamarin.iOS项目中使用/共享它,以及单独的项目,您正在编写特定于该平台的代码,并且您可以访问其API.
Xamarin还引用了传统方法:
你可以在Objective-C,Swift或Java中做的任何事情都可以使用Visual Studio在C#中使用Xamarin完成.
关于Xamarin传统更多信息在这里.
现在关于Xamarin.Forms,最好的定义来自Xamarin网站:
Xamarin.Forms是一个允许开发人员快速创建跨平台用户界面的框架.它为使用iOS,Android,Windows或Windows Phone上的本机控件呈现的用户界面提供了自己的抽象.这意味着应用程序可以共享其大部分用户界面代码,并仍然保留目标平台的本机外观.
从上面的文本中可以得出结论,Xamarin.Forms是一个框架,允许您使用C#或XAML编写UI,并有机会使用MVVM ...使用Xamarin.Forms,您可以编写代码库和UI,这将是跨平台共享.
注意:这是一个非常简单的项目结构,当然你可以为不同的层添加更多的项目
当然,如果您使用的是Xamarin.Forms,则存在一些限制,例如开箱即用,您只能使用在所有平台上通用的UI控件.你可以在这里阅读关于Xamarin.Forms优缺点的博客文章.
有关Xamarin.Forms的更多信息,请参阅此处.
我希望这个答案不会让你感到困惑,并且只用一两句话就可以得出结论......使用Xamarin Traditional你可以在特定于平台的项目之间共享你的代码逻辑,并且使用Xamarin.Forms你可以共享代码逻辑和代码整个项目的UI.
注意:对于共享项目和代码共享策略,您可以使用"共享项目"和"PCL"这是另一个问题的主题...所以在这个答案中我简化了这个并在Xamarin中使用该类型项目的共享项目术语应用解决方案
min*_*fAi 13
如果你在谈论的Xamarin.iOS和Xamarin.Android(Xamarin母语),我想说的主要区别是在Xamarin形式,大家分享NOT ONLY业务逻辑,而且UI.在Xamarin表单中,您将在所有平台上使用基本组件(Button,Label等).这就是它被称为Xamarin.Forms的原因,因为它适用于基本形式.
但对于Xamarin Native,您将为每个平台创建一个UI(一个用于iOS,一个用于Android).您可以使用Xamarin Native做更多事情,因为您将使用本机组件.
希望能帮助到你!
Xamarin 有两种构建移动应用程序的方法,Xamarin.Forms 和 Xamarin.Native。这两种方式都可以让您跨平台编写代码。
跨平台只是一个概念。这意味着您一次编写的代码可以在多个平台上运行。Xamarin 是跨平台的(主要是 Xamarin.Forms),因为它允许你编写在多个(跨)平台上运行的代码。
| 归档时间: |
|
| 查看次数: |
10526 次 |
| 最近记录: |