MonoTouch的:在使用便携式类库创建跨平台的应用程序(MonoTouch: creating

2019-08-16 20:02发布

我的方案:尝试通过港口公司从本地代码(ObjC适用于iOS / Java的Android设备),以C-夏普创建的应用程序的一小部分。 该项目将与我们的web服务进行交互。 该项目的目标是搞清楚它是端口我们整个应用单可行性如何。

创建URL,我想使用String.Format() 我认为这会是一个明智的主意,把这个“服务层”便携式类库(PCL)里面,因为我不希望这个代码跨平台改变。 可悲的是,它似乎字符串库不适用于PCLS。

所以我的问题是:

  1. 我认为在“正常”库PCLS的主要优点是,他们不应该需要为不同的平台重新编译。 这是假设是正确的?
  2. 这次经历让我觉得,就目前PCLS是相当有限的。 我应该试着坚持PCLS和解决这类问题,或者它可能现在是更好地坚持一个“正常”的图书馆吗? ---我会认为“正常”的图书馆更多的功能暴露出来。

Answer 1:

你可以使用目前跨PCLS多个平台,但它确实需要一些小窍门您的设置。

这些黑客中列出http://slodge.blogspot.co.uk/2012/12/cross-platform-winrt-monodroid.html

一旦你得到了这些工作则可用的功能是相当广泛 - 它肯定包括像的String.Format

对于将PCL轮廓不够广泛的情况下,那么你可以使用多种技术来扩展它们-见http://blogs.msdn.com/b/dsplaisted/archive/2012/08/27/how-to-make -便携式级的库工作换you.aspx 。 我一般使用的技术是使用MvvmCross插件 - 它们基本上与平台的具体实现PCL接口。 但是这些插件一般都在“让蓝牙工作”的水平,而不是在的String.Format水平

我做很多的跨越WinRT中,WP,WPF,MonoTouch的和Mono PCL工作Android的-见http://slodge.blogspot.co.uk/p/mvvmcross-quicklist.html的很多链接到PCL的工作。

这是真的,Xamarin已经建议不要使用PCLS了几年,但现在情况发生了变化,并为PCLS官方支持正在进行-看到http://slodge.blogspot.co.uk/2013/02/the-未来是-portable.html

从发展的角度 - 尤其是从视图中使用的重构和测试工具的点 - 我不犹豫,建议您使用PCLS现在......特别是对于在的String.Format级操作。 然而,每个项目都是独特的...所以它并不总是正确的答案。


一个重要的提示:现在最好还是不要重复使用PCL二进制文件传达给MonoTouch的平台-就目前而言,建立自己的具体对阵MonoTouch的库平台的可移植库。 见http://slodge.blogspot.co.uk/2013/01/almost-portable-binaries.html?m=1



Answer 2:

也许你想看看谁已经得到PCLS工作在相当程度上与MonoTouch的和其他MonoDroid的努力。

例如看到http://www.slideshare.net/cirrious/mvvm-cross-going-portable 。 您还可以找到对MVVMCross这里如何安装PCL支持的指令http://slodge.blogspot.co.uk/2012/09/mvvmcross-vnext-portable-class.html 。

Xamarin最近致力于为客户提供更大的PCL支持,而不是一些人已经不得不作出变通办法,但它是值得的。



文章来源: MonoTouch: creating multiplatform apps using Portable Class Libraries