Xamarin 是一个很好的跨平台库,可以从 Android 开始,然后转向 iOS [关闭]

Posted

技术标签:

【中文标题】Xamarin 是一个很好的跨平台库,可以从 Android 开始,然后转向 iOS [关闭]【英文标题】:Is Xamarin a good crossplatform library for starting with Android and later moving to iOS [closed] 【发布时间】:2015-06-30 14:53:16 【问题描述】:

我正在寻找一个跨平台库,因为我目前无法访问 Mac,所以事情有点复杂。

计划是从 android 版本开始,然后在我访问 Mac 时实施 ios 版本(我确实有一个 Hackintosh,但它非常慢,有时可能需要几个小时才能获得它可以正确启动)。 我一直在研究 Xamarin,因为我通常使用 .NET C#。 据我了解,Xamarin 将在平台之间共享大部分业务逻辑,但 UI 必须单独完成。我认为这对我的目的来说听起来不错?与 Phonegap 相比具有更好的性能也非常好,因为随着时间的推移,应用程序的复杂性可能会增加很多。

这种方法是否有任何限制因素,或者是否有其他库更适合这种方法?目标是在将代码移至 Mac 完成之前,在 Windows 上完成尽可能多的必要工作。万一我无法使用 Mac,我将不得不使用 Hackintosh,因此不必编写超过绝对最低限度的编码,这将是非常好的。

【问题讨论】:

【参考方案1】:

看看 Xamarin.Forms http://xamarin.com/forms

如果您不使用特定于平台的代码(自定义渲染器等),您不仅可以共享逻辑,还可以共享 UI 代码。优点是您使用 .NET 方式(XAML、绑定等)做了很多事情

简短示例:

using Xamarin.Forms;

var profilePage = new ContentPage 
    Title = "Profile",
    Icon = "Profile.png",
    Content = new StackLayout 
        Spacing = 20, Padding = 50,
        VerticalOptions = LayoutOptions.Center,
        Children = 
            new Entry  Placeholder = "Username" ,
            new Entry  Placeholder = "Password", IsPassword = true ,
            new Button 
                Text = "Login",
                TextColor = Color.White,
                BackgroundColor = Color.FromHex("77D065") 
;

var settingsPage = new ContentPage 
    Title = "Settings",
    Icon = "Settings.png",
    (...)
;

var mainPage = new TabbedPage  Children =  profilePage, settingsPage  ;

【讨论】:

以上是关于Xamarin 是一个很好的跨平台库,可以从 Android 开始,然后转向 iOS [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

有没有一种很好的跨平台方法来使用 CMake 包含外部 C++ 库?

构建Xamarin.Forms NuGet

Xamarin:使用本机库

Xamarin.ios引用第三方SDK

Xamarin XMPP 客户端库

跨平台音频分析库