使用Visual Studio进行跨平台移动应用程序开发的缺点

微软已经推出了他的新的Visual Studio,兼容性来开发适用于Android,iOS和Windows的多平台应用程序。

对于开发者来说,这是一个非常好的消息,一家大型可靠的公司生产了这样的产品。 它可以使生活更容易,很多。

但是,正如你所知道的,当你获得优势时总会有缺点。 所以我想知道:

1)为每个平台开发原生应用程序和使用这种工具有什么区别? 与单独使用Objective-C或Java的iOS和Android相比,有什么缺点?

2)是否有任何依赖为了在不同的操作系统上运行开发的应用程序? 像.NET框架?

3)是否有任何性能成本? 或者像本地人一样工作?

4)这类工具应该开发什么types的应用程序?

以我的观点来看,在XAMARIN中开发android或ios应用程序并不是个好主意。 首先会出现性能问题。 你不能像本机应用程序那样获得性能。 有一些像Xamarin这样的依赖项将C#编译为本地代码,但仍然依赖Mono运行时来完成大量的工作。

本地化,没有作弊 – 这是本地化的。 但是有一个开销,它不像ObjectiveC本地。 这些应用程序将会变得更大 – 当你试图从你的资源受限的移动设备中获得最大的胜利时,这个小事情就很重要。

你仍然需要一个苹果的ios :-)一个巨大的重点,像MVC或MVVM更好的应用程序模式,因为用户界面仍然是本地的。 您可以使用Xamarin编写大约70%的可重用代码,但最后30%或更多取决于您的应用程序devise和性质,必须是原生的。

一般来说,根据我的经验,我find了比Xamarin更好的支持和代码样本。

就像我说的,即使你使用Xamarin,你仍然需要知道ObjectiveC和Java。

和Visual Studio + Xamarin = $$$$$。 再加上一个Xamarin开发的产品,虽然优于HTML5和打包的HTML5,将会让你付出更多的代价。 您必须评估您的需求是否合理。

但在实际应用中,我认为这不是很有用。 考虑一下…如果你用C#编码,那么这段代码必须被翻译成Objective-C或者Java,而且这个翻译依赖于Xamarin SDK。 如果苹果明天在下一个iOS版本中发布4000个新的API,在Xamarin API允许你调用这些本地API之前需要多长时间? 如果joinJava,再乘以2。 如果你不能等待,那么你可以用C#编写代码,然后为其余的代码编写本地代码,但是现在你正在支持三个代码库,而Xamarin的优势就是飞出窗口。

我提供了关于这个主题的一些辩论的链接

http://willowtreeapps.com/blog/xamarin-or-native-development-tools-for-ios-android-projects/

Android Xamarin限制

https://developer.xamarin.com/guides/android/advanced_topics/limitations/

https://www.linkedin.com/grp/post/121874-5848849341191569409

https://www.quora.com/Why-would-people-build-native-mobile-applications-for-Android-iOS-using-Java-Objective-C-when-they-could-use-Xamarin-C-换所有的平台,如果许可成本,心不是-AN-问题

为什么我不推荐Xamarin移动开发