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



微软推出了新的Visual Studio,兼容开发Android, iOS和windows的多平台应用程序。

对于开发人员来说,这是一个非常好的消息,一个大而可靠的公司生产了这样的东西。它可以使生活更轻松,很多。

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

1)为每个平台开发原生应用和使用这类工具有什么区别?与分别在iOS和Android上使用Objective-C或Java相比,缺点是什么?

2)在不同的操作系统上运行开发的应用程序是否有任何依赖关系?比如。net框架?

3)是否存在性能成本?还是像本地人一样工作?

4)使用这些工具应该开发什么样的应用程序?

在我看来,在XAMARIN中开发android或ios应用程序不是一个好主意。首先是性能问题。您无法实现本机应用程序的性能。有一些依赖,比如Xamarin将c#编译为本机代码,但仍然依赖于Mono运行时来完成很多工作。

Native,没有作弊-这是Native。但这是有开销的,它不像objective - c native。应用程序将变得更大——当你试图从你的资源非常有限的移动设备中获得最大的魅力时,这些小的东西很重要。

你还需要一个mac的ios:-)强调更好的应用模式,如MVC或MVVM,因为用户界面仍然是原生的。你可以使用Xamarin编写大约70%的可重用代码,但根据你的应用设计和性质,最后30%或更多的代码必须是原生的。

一般来说,在我的经验中,我找到原生的支持和代码样本比找到Xamarin的要幸运得多。

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

和Visual Studio + Xamarin = $$$$$。此外,Xamarin开发的产品虽然优于HTML5和打包HTML5,但成本更高。你必须评估你的需求是否与成本相称。

然而,在实际应用中,我认为它不是很有用。考虑这个……如果你是用c#编写代码,那么这些代码必须被翻译成objective-C或Java,而这种翻译取决于Xamarin SDK。如果苹果在明天发布的下一个iOS版本中发布了4000个新API,那么Xamarin API允许你调用这些原生API还需要多久?如果加上Java,再乘以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-for-all-platforms-if-license-cost-isnt-an-issue

为什么我不推荐Xamarin用于手机开发

相关内容

最新更新