6

我喜欢 Clojure。这是迄今为止我最喜欢的语言。

我刚刚发现了 Xamarin,它可以让你拥有跨平台的应用程序,充分利用本机库。与它一起使用的语言是 C#。

现在我想知道是否有任何方法可以在 Clojure (CLR) 中而不是 C# 中对我的大多数 Xamarin 应用程序进行编程。

4

2 回答 2

2

因此,Clojure CLR 将允许您使用它可以加载的任何库。例如,我已将 Oracle.DataAccess 库和 NLog 库加载到 Clojure CLR 中,因此理论上可以以相同的方式加载 Xamarin 库:

;;; not sure which library you want to include, using this as a placeholder
(assembly-load-from "C:/Path/To/Xamarin.Core.dll")

话虽如此,Xamarin 本身似乎也是一个 IDE,并且是在自己的专有库和构建工具之上的一组构建工具,因此可能无法将两者完全集成。另外,我认为 Xamarin 纯粹与 C# 一起工作,因此在 Clojure 中编码可能是不可能的......直接。

您可以在 Clojure CLR 中创建一些库,并将它们编译为 DLL,然后您可以链接到这些 DLL,这样您就可以在 Clojure 中构建大部分逻辑,然后创建一些简单的 C# 包装器,供您的 Xamarin 应用使用.

我很想听听你的尝试,以及你是否成功地做到了这一点。

祝你好运!

于 2013-04-30T04:02:15.250 回答
0

在 Android 中可能是的,但在 iOS 的情况下,我认为这不太可能,因为后者是一个在生成代码、反射等方面有很多限制的平台。Clojure 是动态类型的,很有可能受到影响。

老实说,.NET 世界中的 Clojure 更适合 F#(也是函数式,默认情况下不可变等),这是一种刚刚被 Xamarin 正式采用的语言(这意味着您可以在 Android 和 iOS 中使用它,并且苹果电脑)。

它也是静态类型的(与 Clojure 不同),因此这可能意味着它也更快。试试看!

于 2013-04-30T13:34:56.227 回答