xamarin_xamarin 布局 - CSDN
xamarin 订阅
Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Universal Windows Platform、Watch OS、tvOS和Mac App。Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与·NET框架的开源、跨平台实现。 展开全文
Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Universal Windows Platform、Watch OS、tvOS和Mac App。Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与·NET框架的开源、跨平台实现。
信息
属    性
作为一个跨平台开发框架
外文名
Xamarin
项目属性
开源
读    音
'Zæmərin
创立时间
2011年
Xamarin特点
作为一个跨平台开发框架,Xamarin.Mobile有很多优点。在这一框架内,开发iOS、Android、Windows Phone、watchOS、tvOS和Mac App应用可以不用转到Eclipse 或者额外购买Mac并使用Xcode,而继续在Visual Studio之中使用C#与.NET Framework进行。Xamarin是mono项目的一个分支,但这里面最大的区别Xamarin曾是商业项目.mono做为跨平台的框架已得到越来越多的商业项目的肯定,令外界担心的版权问题\可靠性\稳定性也得到证实,使用mono最大的好处是可以使用其它平台众多的项目解决方案,而不必被限制在windows平台下贫乏而又昂贵的各种解决方案.2016年,Xamarin被Microsoft收购并开源 [1]  。自2016年起,它与.NET一样,不收取任何费用或许可费用,包括用于商业用途。
收起全文
  • xamarin其实也是一个鸡肋

    万次阅读 热门讨论 2014-12-12 12:08:20
    个人感觉Xamarin完全也是一个鸡肋,没必要过多的时间在xamarin上面。  为什么手xamarin是一个鸡肋?  1、xamarin并没有把android和ios等平台的机制给封装起来。类似Cordavo一样,调用统一的API,可以跨平台

            刚刚体验了一把VS 2015,后来因为部分sdk和工具下载太慢,还是最终决定卸载。顺道了解了下xamarin studio。个人感觉Xamarin完全也是一个鸡肋,没必要过多的时间在xamarin上面。

            为什么手xamarin是一个鸡肋?

            1、xamarin并没有把android和ios等平台的机制给封装起来。类似Cordavo一样,调用统一的API,可以跨平台实现。而是和安卓API和IOS API一一对应,也就是说我只是用C#来代替了java和oc的开发。虽然我也非常习惯用C#来开发,但是我认为学习一门语言并需要太多的时间,主要是sdk的实现机制,和开发技巧,是最难的,也是周期最长的。如果花费了大把的价钱,只是为了用C#的 foreach而不是 java的for.就有点鸡肋了。

            2、xamarin的教程和培训都是要收费的,而且学习周期和曲线并不会比原生态的理想多少。

            3、原生态的app开发的数量大,而且开源的也不少,一旦出现问题,可以在论坛求助,可以找到开源项目做参考,但是xamarin在这方面肯定不比原生态的开发。

            4、xamarin可能初次上手会快那么一点点,但是如果时间长了,发展会受到制约的。没有任何一个成熟的商用软件全部用xamarin的,只是可能在初期和原型的时期考虑一下。

           5、xamarin 在android上基于moni,效率可能会比java的低一些。

           6、xamarin真心贵,太贵了。相比开发android的 Android studio或者eclipse。或者xcode来比,太贵了。贵到我宁愿买个mac pro,然后熬夜看看 swift.

           附上xamarin的收费:http://xamarin.csdn.net/module/btc/xamarin/price



    展开全文
  • Xamarin从0到100

    千人学习 2019-06-27 11:11:24
    Xamarin让.NET程序员在移动互联时代占据了有利位置,用熟悉的C#语言+XAML+地表强Visual Studio 2017 能构建iOS / Android / Windows App 。
  • Xamarin开发这手册教程

    2020-07-30 23:31:54
    深入牵出的介绍Xamarin,入门必备。包括IDE的界面,运行,插件等等
  • 一个vs2017 使用 Xamarin.forms开发APP的demo. 使用Xamarin.forms来开发跨平台的demo
  • 这十来天对Xamarin的学习踩了很多的坑,说来也是一把心酸泪,下面为大家一 一道来,并提供这些天收集到的能用的实例源码,放在文末分享给大家,都是完整带包的解决方案可能会比较大(大多是过墙找到的,也有个仿新闻...

    一、 前言

    这半个月来对Xamarin的学习踩了很多的坑,说来也是一把心酸泪,下面为大家一 一道来,并提供这些天收集到的能用的实例源码,放在文末分享给大家,都是完整带包的解决方案可能会比较大(大多是过墙找到的,也有个仿新闻的app是国人写的)。

    二、 后续更新预览

    1、 Xamarin.forms环境搭建

    2、 启动页(含图片加载)

    3、 页面跳转

    这篇文章是 2018-12-13 19:17:29 写的,现在已经是2020年6月了,也就是说对于 Xamarin 我已经快两年没接触过了,我也一直在从事 Java 的工作,所以对于大家的一些提问,我已是无能为力,抱歉!还望理解!本人当时所学的都在这几篇文档里面了。

    三、 Xamarin介绍

    如果您对介绍不感兴趣,可以跳过此段。

    1、 Xamarin可跨Android、IOS、Windows(手机)三端。

    2、 Xamarin微软收购的,原来是收费的,现在免费了。

    3、 Xamarin的前身是mono,所以编译的时候会用到mono的包。

    4、 我们现在使用的是Xamarin.forms而不是Xamarin了。

    5、 用Xamarin开发安卓app的朋友请收藏:https://developer.xamarin.com/api/root/MonoAndroid-lib/

    四、 完整环境搭建

    首先,为了避免给大家带来不必要的麻烦,我把我的环境介绍一下(但不是说您一定需要这样的环境):

    VS2017 Enterprise,Windows10 1809

    VS2017安装的首页把Xamarin勾上安装,如果你忘了勾选Xamarin,如下图打开installer,把Xamarin勾选上。

    1、 安装Xamarin的插件

     2、 下载Xamarin.Andriod Templates Pack

    3、 检查是否安装了Xamarin.Android SDK

    4、 安装指定版本的安卓SDK

    当时我是不懂,为了适应下载下来的项目,所以下载很多的SDK。这个坑我踩过了,经验是选指定需要的SDK版本就可以了。

     

    环境到这里就完成了,只是如果项目后面需要一些Nugget包,再逐个下载。

    附加:真机调试

    电脑上插上数据线连接电脑,在手机上面开启开发者模式。

    选择USB配置MIDI:

    然后查看VS上面的运行是否变成了你手机的名称;如果是,直接运行就可以了。

    五、 所有app源码demo

    给大家讲一下这些实例有哪些地方找哪个demo参考,希望能给你节约一些时间。

    1、 Topeka

    2、 DemoApp

    这是一个有很多功能页面的例子,布局那些都可以参考一下。下面简单抓了两个图:

    3、 TabbedNavigate

    页面跳转和基础导航栏的生成的方式。

    4、 快递大师

    这个主要参考如何嵌入HTML代码在Xamarin.forms里面。

     

    5、 仿某新闻app的Demo

    除了登录页面,可以参考启动页,下部导航栏,个人页面布局,加号弹出模态框,还有!就是初始安装的三张引导页面。唯一的不足是存在bug。

    6、 Xamarin.TV Scripts

    这个主要是参考SQLite数据库的使用方式,还有就是页面布局。

    7、 IntelligentWorld

    参考一下启动页和侧滑页面。

    我本来设置的是1积分就可以下载的。

    源码来源不易,有积分的话点这里:https://download.csdn.net/download/qq_41647999/10848828

    没有积分点这里:https://pan.baidu.com/s/1Na1LrHQ8piEfCpTxHNPxpA   提取码:qy1v
    最后,感谢您的阅读。

     

    展开全文
  • Xamarin移动开发的优点和缺点

    千次阅读 2019-04-27 00:38:51
    原文:Xamarin移动开发的优点和缺点 在考虑iOS或Android应用程序开发时,我们大多数人会首先考虑Objective-C vs Swift和Java。作为本地技术堆栈,当涉及到iOS和Android应用程序开发时,它们自然是最常用的移动开发...
    原文:Xamarin移动开发的优点和缺点

    在考虑iOS或Android应用程序开发时,我们大多数人会首先考虑Objective-C vs Swift和Java。作为本地技术堆栈,当涉及到iOS和Android应用程序开发时,它们自然是最常用的移动开发工具。但是,还有更多方法来构建高性能和用户友好的移动应用程序。而Xamarin就是其中之一。在本文中,我们对Xamarin进行了深入审查,并将其与市场上的本地和跨平台移动开发解决方案进行了比较。如果您了解基础知识,请考虑跳到您感兴趣的部分。

    什么是Xamarin?

    使用Xamarin的优点

    使用Xamarin的缺点

    Xamarin Visual Studio IDE

    Xamarin vs Native iOS / Android与混合开发

    一点建议

    什么是Xamarin?

    在谈论移动应用程序开发关键方法时,不可能忽视Xamarin Xamarin是一款用于跨平台移动应用程序开发的工具,它允许工程师在主要平台上共享大约90%的代码。作为一个相对较新的工具,它基于微软技术栈,已经有超过140万开发人员的社区。

    该平台由Mono开发,后者是一个基于.NET框架的开源开发平台,由Miguel de Icaza领导,于2001年首次推出.Xamarin公司成立于2011年5月16日。

    然而,与其前身不同的是,Xamarin被创建为商业项目,直到该公司于2016年被微软收购为止。Xamarin成为在Microsoft生态系统内开发移动应用程序的流行跨平台产品。此次收购打破了使用Xamarin的财务壁垒。随着微软开发Xamarin SDK开放源代码,它成为Xamarin Visual Studio集成开发环境的一部分(我们讨论下面用于Xamarin开发的最佳IDE )。Xamarin的主要特点是什么?

    C#语言。Xamarin使用单一语言C#为所有移动平台创建应用程序。与解释性解决方案(如Appcelerator Titanium)不同,Xamarin是本机编译的,这使它成为构建具有本机外观和感觉的高性能应用程序的首选选项。

    基于.NET框架。C#是一种成熟的语言,具有强大的安全性,可防止代码出现意外行为。由于C#是.NET框架语言之一,它可以与许多有用的.NET功能(如Lambda,LINQ和Asynchronous programming(Asynk))一起使用。

    从技术上讲,Xamarin使用C#和包装在.Net层中的本机库进行跨平台应用程序开发。就性能和用户体验而言,这些应用程序经常与iOS和Android移动开发平台的本机应用程序进行比较。此外,Xamarin可以利用所有本机和最新的API访问,以利用Xamarin应用程序中的底层平台功能,例如iOS或Android多窗口上的ARKit

    Xamarin平台

    虽然与业务逻辑,数据库访问和网络通信相关的代码可以在所有平台上共享,但Xamarin允许您创建平台特定的UI代码层。因此,与通用混合应用相比,Xamarin跨平台应用在任何设备上看起来都是100%原生的,提供更好的用户体验。

    汇编该平台有两个主要产品:Xamarin.iOS和Xamarin.Android。在iOS的情况下,源代码直接编译为本地ARM汇编代码(Ahead-of-Time编译),而Android Xamarin应用程序首先编译为中间语言,然后 - 在运行时汇编到本机汇编代码中(Just-in - 时间编译)。但是,在这两种情况下,该流程都是自动化的,并且可以根据默认情况处理诸如内存分配,垃圾收集和平台互操作性等问题。

    Xamarin.Forms。Xamarin.Forms是一款独立的产品,旨在创建原型或简单的移动应用程序,可跨iOS和Android共享100%的代码。

    Xamarin.Mac。此外,工程师可以使用Xamarin.Mac为Mac OS构建应用程序。这些以及来自Xamarin堆栈的其他一些产品将在稍后讨论。

    平台SDK。Xamarin通过简单的C#语法提供对平台特定的SDK(iOS和Android SDK的CocoaTouch)的访问。

    平台特定的代码绑定。在大多数情况下,工程师将能够处理Xamarin环境中保持各自平台原生外观和感觉的开发。但是,如果您必须重新使用某些模块或实现条形码扫描,PayPal或Google Analytics集成等特定于平台的功能,Xamarin允许您调用现有的平台代码(例如Swift for iOS)。

    支持可穿戴设备。Xamarin支持为Apple和Android Watch设备构建应用程序。工程师可以使用适用于Mac和Windows的Visual Studio来构建iOS Apple Watch应用程序。另外,Xamarin完全支持Android Wear。

    Xamarin项目结构。预计大部分与Xamarin相关的工作将通过安装了Visual Studio和Xamarin的Windows开发计算机运行。应用程序可以直接从桌面或设备和仿真器进行调试。如果您打算在Windows上开发iOS应用程序,则Visual Studio连接到iOS故事板设计器和iOS模拟器也是可能的。还有Visual Studio for Mac,它允许在Mac上运行模拟器或直接在系留iPhone上运行。调试通过Visual Studio运行。

    Xamarin项目结构。图像来源:Visual Studio文档

    为了更深入地了解Xamarin工程方面,请考虑检查这些资源:

    主要的Xamarin文档中心

    Xamarin.Android文档

    Xamarin.iOS文档

    Xamarin.Forms文档

    Xamarin的Visual Studio

    Xamarin Studio应用中心

    Xamarin社区论坛

    与任何其他技术一样,Xamarin有其自身的优点和缺点,近来一直是热烈讨论的主题。为了对Xamarin和原生开发做出明智的决定,让我们用Xamarin来衡量应用程序开发的优点和缺点。

    使用Xamarin进行开发的优点

    许多公司使用Xamarin的理由很充分,包括Trello,Slack和GitHub。

    ⊕为所有平台编写一个技术栈

    Xamarin使用C#补充.Net框架来为任何移动平台创建应用程序。因此,您可以重复利用多达96%的源代码加速工程周期。Xamarin也不需要在开发环境之间切换:您可以在Visual Studio中构建完全取代Xamarin Studio的所有Xamarin应用程序。跨平台开发工具作为IDE的内置部分提供,无需额外费用。

    ⊕性能接近原生

    与基于Web技术的传统混合解决方案不同,Xamarin构建的跨平台应用程序仍然可以归类为本地应用程序。性能指标与Android的Java(如此处所述)和Objective-C或Swift 的性能指标相当,可用于本机iOS应用程序开发而且,Xamarin的性能不断得到改进,完全符合本土开发的标准。Visual Studio为构建,测试和跟踪应用程序的性能提供了一个完整的解决方案:Visual Studio App Center  允许您在发布之前运行自动UI测试并识别性能问题。但是,这项服务需要支付额外费用。

    ⊕本地用户体验

    Xamarin允许您使用平台特定的UI元素创建完美的体验。针对iOS,Android或Windows的简单跨平台应用程序使用Xamarin.Forms工具构建,该工具可在应用程序运行时将应用程序UI组件转换为平台特定的界面元素。随着Xamarin.Forms的使用显着增加了应用程序开发的速度,它对于面向业务的项目来说是一个很好的选择。然而,由于额外的抽象层,性能可能会略有下降。对于自定义应用程序用户界面和更高的性能,您仍然可以单独使用Xamarin.iOS和Xamarin.Android以确保出色的结果。

    ⊕全面的硬件支持

    借助Xamarin,您的解决方案可以获得本机级别的应用程序功能。它消除了所有硬件兼容性问题,使用插件和特定的API,以便在平台上使用通用设备功能。随着访问平台特定的API,Xamarin支持与本地库链接。这可以提供更好的定制和原生级功能,而且开销很小。

    ⊕开源技术与强大的企业支持

    该公司于2016年2月被微软收购后,Xamarin许可政策发生了根本性的变化。包括运行时,库和命令行工具在内的Xamarin SDK已经成为开放源码,并且作为Visual Studio的一部分,可以在MIT许可下使用。通过消除许可证的主要障碍和成本,微软为平台的进一步发展铺平了道路。另外,由微软领导,并受到Unity,JetBrains和Red Hat,.NET基金会和Xamarin的支持,特别是已经成为一个可靠和强大的技术堆栈。

    ⊕简化维护

    由于其跨平台应用,Xamarin使维护和更新变得更加简单。您可以简单地将更改或更新部署到源文件,并将它们应用于iOS和Android应用程序。但是,这仅适用于使用Xamarin.Forms或Xamarin.iOS和Xamarin.Android应用程序的业务逻辑,共享代码,更新的应用程序。因此,它可以帮助您节省时间和金钱,同时保持应用程序的最新状态。

    ⊕完整的开发生态系统

    Xamarin包含一个完整的开发工具包,包括它自己的IDE(现在被Visual Studio取代的Xamarin Studio),平台本身(Xamarin SDK),测试(Xamarin测试云),分发和分析(Hockeyapp和Xamarin)。 Insights)平台。因此,您无需投资其他工具或集成第三方应用程序来构建,测试和部署您的Xamarin应用程序。

    ⊕Xamarin.Forms:简单的应用程序和原型的框架

    Xamarin建议开发人员通过两种方式构建移动应用程序。第一个是使用Xamarin.iOS和Xamarin.Android,这被认为是主要的方法。使用Xamarin.Forms,Visual Studio库是第二个。Xamarin.Forms允许快速建立原型或生成具有较少平台特定功能的应用程序。这就是为什么Xamarin.Forms是代码共享比定制UI更重要的应用程序的最佳选择。您将能够创建单一界面并跨平台共享,无需为每个平台单独设计。您还可以构建应用程序,其中某些部分的用户界面是使用Xamarin.Forms构建的,其他部分则使用本机UI工具包进行设计。

    尽管与Xamarin.iOS和Xamarin.Android相比,Xamarin.Forms在本地外观和感觉方面仍然存在折衷,但有一个充满活力的社区关注这个工具。例如,一些技术提供商为他们的Telerik UI等库提供丰富的工程功能,提供预先配置的UI组件。

    ⊕Xamarin.Forms直播播放器

    由于Xamarin.Forms旨在实现快速和无摩擦的开发,Microsoft建议使用Live Player工具这是安装在实际手机上的应用程序,可立即测试和调试您的应用程序,而无需仿真器部署或将设备绑定到工作站。安装Live Player后,开发人员将使用手机相机扫描Visual Studio中的QR码,以便访问当前开发的应用程序。手机上的应用程序与Visual Studio中的应用程序实时同步。这极大地简化了所有设置和进一步的调试过程。不幸的是,微软停止了对Live Player的支持,但您仍然可以下载该应用程序并将其与Visual Studio配对。

    ⊕使用Xamarin.Mac工具构建Mac应用程序

    Xamarin.Mac允许使用C#和.NET开发完全原生的Mac应用程序。它集成了与Xcode在Objective-C中开发相同的库。通过将Xamarin.Mac与Xamarin.iOS和Xamarin.Android结合使用,开发人员可以在Android,iOS和Mac OS上共享高达90%的本机代码。此外,Xamarin.Mac与Xcode集成,因此开发人员可以使用Xcode的Interface Builder来创建应用程序的用户界面。

    ⊕Xamarin大学提供顺利的入职培训

    Xamarin大学是一个专门的电子学习门户,供刚刚熟悉该软件包的人使用。大学迎合了认识C#的工程师以及具有一点编程经验的任何人。如果您只是将新工程师带到您的基于Xamarin的产品,大学将提供所有基本知识。该门户网站提供从初级到高级的课程,包括免费的自学,在线在线课程,办公室讲座和客座讲座。

    Xamarin缺点考虑

    但是,仍然有一些缺陷可以给平台蒙上阴影。那么,为什么不使用Xamarin?

    Θ稍微延迟支持最新的平台更新

    这完全取决于Xamarin开发团队。第三方工具不可能为最新的iOS和Android版本提供即时支持:实施这些更改和/或引入新的插件等需要一些时间。尽管Xamarin声称提供当天的支持,但仍然可能有些延误。

    Θ对开源库的访问受限

    本地开发广泛使用开源技术。使用Xamarin,您只能使用平台提供组件和一些.Net开源资源,面向  开发人员消费者尽管选择并不像Android和iOS移动应用程序开发那样丰富,但Xamarin组件提供了数千个自定义UI控件,各种图表,图形,主题和其他强大的功能,可以仅添加到应用程序中点击次数很少。这包括内置支付处理(如Stripe),信标和可穿戴设备集成,开箱即用推送通知服务,云存储解决方案,多媒体串流功能等等。

    ΘXamarin生态系统问题

    显然,Xamarin社区比iOS或Android的小得多。因此,找到一个有经验的Xamarin开发人员可能是一个挑战。虽然该平台在微软的支持下正在增长。根据不同来源的信息,Xamarin社区占全球移动开发社会的10%。尽管Xamarin工程师的数量与iOS或Android本地社区无法比较,但该平台为其开发人员提供了广泛的支持。也就是说,有一个专门的教育平台,Xamarin大学,为那些对这项技术不熟悉的人提供资源和实践培训。使用这种支持,经验丰富的C#/ .Net工程师的学习曲线是最小的。

    Θ需要有本地语言的基本知识

    当使用Xamarin.iOS和Xamarin.Android构建具有真正本机外观和感觉的移动应用程序时,您仍然需要编写一个平台特定的代码层。因此,至少需要有关本机技术的基本知识(Android的Java / Kotlin和iOS的Objective-C / Swift)。但是,这并不适用于Xamarin.Forms。

    Θ不适用于重图形应用程序

    Xamarin的主要优势是能够跨平台分享您的代码。然而,你只能分享逻辑,UI代码将主要是平台特定的。这使得在Xamarin中构建游戏,丰富的自定义用户界面或复杂的动画变得毫无意义。使用少量的共享代码,Xamarin将变为不可行的选项。

    Θ更大的应用程序大小

    根据其类型和复杂性,Xamarin应用程序通常比本地应用程序大(后者可能是Xamarin应用程序的一半大小)。Android的一个简单的“hello,world”应用程序最多可能需要16 MB,其中大部分应用于关联的库,内容,Mono运行时和Base Class Library(BCL)程序集。

    xamarin应用程序大小

    来源 - developer.xamarin.com

    因此,Xamarin应用程序通常需要额外的优化来保持应用程序文件的大小合理。

    Θ与第三方库和工具的兼容性问题

    将第三方资源与您的Xamarin应用程序集成时可能会遇到一些问题。虽然大多数工具和库提供对本地技术的全面支持,但Xamarin合规性可能不会由vedor提供。尽管Xamarin拥有自己的组件商店,但您可能需要在您的应用中需要特定的功能或整合,而这些平台并未提供这些功能或整合。

    Xamarin Visual Studio IDE

    如果您有一种感觉Xamarin适合您,您将有兴趣知道可以使用的主要Xamarin IDE以及它们如何相互比较。

    Visual Studio(VS)是Microsoft集成开发环境,用于在所有平台和设备上构建,调试和发布应用程序。Xamarin有三个主要的Visual Studio版本 - Visual Studio社区,Visual Studio Professional和Visual Studio Enterprise。选择可接受版本的关键因素是开发人员(学生或专业工程师)及其团队规模的经验。程序员可以为所有版本的Web,移动,服务器和桌面开发软件。

    Visual Studio社区非常适合学生,开源项目以及多达5名用户的小型开发团队。社区软件包也适用于Visual Studio新手的团队。此版本可免费使用。

    Visual Studio Professional是一组为专业开发人员,小团队和企业使用而创建的工具和服务。此版本提供了强大的功能,可以快速理解您的代码:显示代码引用,对代码的更改,显示上次修改方法的人员,或发现是否正在传递测试。专业版包括Team Foundation Server 2017,其中提供了诸如敏捷项目规划工具,交付计划,图表等功能。该版本的年费为每用户539美元。

    Visual Studio Enterprise具有强大的支持工具和服务。它们允许管理开发和IT运营之间的复杂流程; 使用手动和自动跟踪工具跟踪质量; 获得专业培训; 和整个微软工程和测试生态系统。它包括Visual Studio Team Foundation Server和Visual Studio Team Services的Microsoft扩展。在此版本中,Team Foundation Server为您提供测试管理器,程序包管理和专用管道。企业版还有优先支持,合作伙伴优惠等等。Enterprise Studio的每年价格为每用户2,999美元。

    对于企业用途,我们也建议检查  Visual Studio应用程序中心它是一种组织应用程序开发工作流程的工具,涵盖Xamarin等不同的移动技术。在这里,工作在多个应用程序的工程团队可以将他们的工具集合在一起。它通过GitHub或Bitbucket自动化应用程序打包,为不同的测试服务提供集成,支持电子邮件应用程序分发以进行测试,确保崩溃跟踪和分析。

    Visual Studio Online(VSO)是一套工具,它允许开发人员轻松设置跨不同平台的持续集成。持续集成是一种软件实践,所有代码更改都会立即进行测试并与主代码库集成。它有助于快速检查和调试代码。这个版本可能是移动开发人员最相关,最有趣的版本。

    从Android Studio或Xcode切换到Visual Studio

    如果您的开发团队考虑从Android Studio(AS)或Xcode转换到Visual Studio,则学习曲线不会那么陡峭。功能特性比较表明IDE在开发流程方面非常相似,每个环境都有细微的差别。

    从Android Studio到Visual Studio。虽然Android Studio官方支持专注于Java,C / C ++,Kotlin和XML语言,但VS支持包括AS在内的所有主流编程语言这是由于IDE迎合了各种各样的平台。VS提供了更多的工程自由,并允许在一个环境中处理不同的项目。如果您一直在使用与AS集成的Google Cloud Platform运行虚拟机或仅管理项目,Google还善于为VS 提供其云平台扩展基本上,您可以直接从VS使用Microsoft云生态系统和Google Cloud。Visual Studio可以安装在所有主要平台上:Windows,Android,Mac OS和Linux。

    从Xcode到Visual Studio。Xcode IDE与VS类似,支持所有主要编程语言的源代码。所以,过渡后不会有任何意外。同样,如果您在使用Xcode时与Mac OS绑定,则VS不需要Apple硬件。对于那些将CloudKit用于服务器端存储的人员,Visual Studio和Xamarin允许简单地集成CloudKit使用VS与Xcode相比的主要缺点是相同的:Android Studio和Xcode都可以免费使用,而VS需要相当高的订阅费。

    根据开发人员的估计,Visual Studio和Android Studio都具有大致相同的易用性级别和支持质量。将相同的索引与VS和Xcode进行比较,我们可以说VS估计值会更好一些。此外,Visual Studio在企业中更受欢迎(> 1000名员工),而大约50%的Android Studio和Xcode用户是小型企业(雇员人数不超过50人)。

    考虑到Strategy Analytics在移动开发环境中的排名,Xcode和Visual Studio一样在测试能力方面排名最高。Android Studio落后。总分数为:Xcode-22; Visual Studio -21; 和Android Studio -13。

    考虑其他选项:Xamarin vs Native iOS / Android与混合开发

    最近,许多开发人员倾向于认为Xamarin可以被认为是“本地”开发工具。事实上,有一种观点认为,“ 使用Objective-C或Swift的iOS应用程序可以完成的任何事情,以及使用Java的Android应用程序可以完成的任何事情都可以使用Xamarin在C#中完成。”

    然而,本土对Xamarin辩论存在许多缺陷。让我们看看Xamarin如何与本地开发工具和混合开发平台(Ionic,PhoneGap / Cordova)进行比较。

    Xamarin vs本土与混合发展

    尽管混合移动开发工具正在迅速发展,但它们仍然缺乏Xamarin提供的性能和本地功能,成本大体相同。当考虑这两种方法时,最常见的两难问题是Xamarin vs Ionic或Xamarin vs React Native  (同时参阅我们关于ReactJS和React Native的优缺点的  全面解释)。但是,后者由于底层技术(Web堆栈)中的许多限制而趋于失败

    但是,基于JavaScript的移动开发工具至少在UI方面优于混合解决方案。它是NativeScript。这个由Telerik支持的跨平台开源框架允许您在使用单个代码库的同时实现本地UI并连接到本机API以获得更好的移动体验。它的主要区别在于它使用XML标记,它编译为Android和iOS原生等效物,而不是HTML webview。

    这种方法填补了原生和混合开发之间的差距,类似于Xamarin的方式。这两种工具的主要区别在于它们使用的编程语言。因此,Xamarin与NativeScript的比较应该成为更详细研究的主题。

    与此同时,Xamarin与原生Android / iOS开发辩论似乎更加复杂:两种选择都证明可以在产品质量和性能方面提供价值,但选择通常取决于您想要构建的应用程序的类型。

    一点建议

    在比较利弊时,列出的缺点通常被认为是附带损害。大多数企业主选择Xamarin移动应用开发平台,因为它通过共享代码和使用单个技术堆栈来缩短上市时间和降低工程成本。然而,应用程序及其目标受众的目的可能是更重要的考虑因素。

    基于我们团队的经验,Xamarin的最佳使用案例是企业移动解决方案通过覆盖90%项目的标准UI,所有核心产品逻辑都可以轻松地在各个平台上共享。因此,平台定制只需要5-10%的工程量。

    如果面向消费者的应用程序拥有大量用户界面,则共享代码的数量会急剧下降。因此,Xamarin跨平台开发失去了其主要优势,并可能在时间和成本上与本地解决方案相当。

    但是,如果您正在寻找Xamarin替代品来构建跨平台移动应用程序,那么您可能会感到失望。虽然使用最广泛的跨平台移动开发工具是PhoneGap / Apache Cordova,Ionic Framework,Appcelerator / Titanium,但它们主要依赖于Web技术,例如HTM5或JavaScript。这就是为什么这些工具都不能达到Xamarin提供的同等级别的性能和原生功能。

    本文是我们“好与坏”系列的一部分。如果您对网站开发感兴趣,请查看我们的博客文章

    展开全文
  • 什么时候该选用Xamarin?

    千次阅读 2019-04-26 14:20:05
    那么,什么时候应该选用Xamarin呢? 5 questions to consider before choosing Xamarin 1 是否需要跨平台? 根据公司情况、团队大小。如果每个平台有足够的开发人员,那么就不需要跨平台了。如果一共也就那么一两...

    现在开发app也好,桌面程序也好,有很多不同的技术可以选择。那么,什么时候应该选用Xamarin呢?

    5 questions to consider before choosing Xamarin

    1 是否需要跨平台?

    根据公司情况、团队大小。如果每个平台有足够的开发人员,那么就不需要跨平台了。如果一共也就那么一两个人,需要开发安卓、iOS app,那么跨平台可能是一个比较好的选择。如果还要开发uwp程序,Xamarin就又有优势了。

    如果不需要跨平台,就不必选用Xamarin了。

    2 是否同时还要开发桌面程序,Windows? Mac?

    如果同时还需要开发桌面程序(Windows或Mac),跨平台的概念也就更大了。这时Xamarin会是个比较好的选择。因为Xamarin的xaml和Windows很接近,和Windows 10 UWP中Xaml更接近。而且Xamarin还有支持wpf的计划,Xamarin在mac上的预览版也已经出来。详见  Glimpse the Future of Xamarin Forms 3.0

    所以如果还跨平台到Windows Mac,Xamarin的优势就彻底发挥出来了。

    当然这里还得提一下JavaScript的的electron

    3 已有的技术储备是什么,熟悉什么编程语言平台?

    有的人说编程语言不重要,2个星期任何语言都搞定。这里说的是泛义上的编程语言,包括它的各种lib支持,思考方式。各种模块是否已经有成熟的实现,网上是否有各种例子。真正熟悉到相关的编程生态,2-3年不为过。

    如果是从c#过来的,和Xamarin会天生好感,里面async await用的很溜啊。网上各种跨平台的c#库也很多。如果还有很多既有的模块是c#开发的,比如通讯协议,商业逻辑,那么选Xamarin想都不用想。

    如果是从web技术过来的,熟悉javacript,react native倒是个不错的选择。好像javascript老是被提及啊?是的。javaScript在问题1 2 3 4里都是个不错的选项,就看你喜不喜欢这个语言了。

    从java过来的呢?老老实实研究android专一平台,就不要趟跨平台的水了。研究kotlin也行啊。

    c++过来的呢?回到第一个问题,先回答那个问题。

    python 和 go呢?这么高大上的,往AI、cloud看看吧,别走弯路了。

     

    那么Xamarin适合谁呢?熟悉或者愿意学习c#语言的,大多也就是原Windows程序员或asp.net程序员,团队不大,必须跨平台开发。现有一些c#开发的代码或者库可以复用

     

    下面还有两个问题,可以考虑一下。如果有共鸣,也算加分项。

    4 Declarative UI

    什么是declarative ui呢?就是UI的编写是申明一样的。Android的axml/xml是,web中的html、css都是;MFC严格的说不算,wpf的xaml算;iOS里面那个啥storyboard, xcode的Interface Builder都不算。qt的qml算。

    其实UI的发展,web是走在前面的,wpf android qt都跟上了,xcode原地踏步,听说很多人都是用代码直接写UI的,高手啊。

    Xamarin.Forms是用的xaml, 编写的时候是申明式的,后台会用原生的控件来显示。这也是为什么Xamarin强调自己是native app的原因之一。

    另外,使用Xamarin,不一定要用Xamarin.Forms,完全可以用native的Xamarin,继续使用Android的xml文件来写UI,或者继续用interface builder。这种情况下,Xamarin只起到了一个编译语言的作用,然后把java class/api搞了一个一一对应的c#版本。熟悉Android api的可以用这种方式写。一一对应的哪种程度呢?看文档查好java api,直接写Xamarin c#代码没任何问题。objective c麻烦一点,swift的api文档转c#基本可以看懂。

    iOS写UI是最烦的,没有之一,比mfc还烦。最敬仰iOS里写UI的大拿们。

    如果UI需要更复杂一些,甚至每个版本都要变,就像常用的jd taobao,用web技术的react native就有优势了。

    5 MVVM

    没听说过的可能不知道它的强大,一旦熟练使用后,在更换任何一个技术时都会查一下新技术是不是支持mvvm。它和declarative UI是同时发威的,利用bingding,把ViewModel独立出来更好的跨平台,简化UI的编写工作,是跨平台程序写平台无关代码的利器。

    MVVM由wpf开创,Xamarin.Forms很好的继承了这一点。现在Android也在学data binding哦。

     

    选一门技术,要分析要开发的产品的特点,如何提高开发效率。不同的选择,可能是成倍的效率差别。Xamarin可以在某些场合是个不错的选择。

    展开全文
  • Xamarin深坑集锦

    千次阅读 2018-05-02 11:31:38
    1 图片无法引用问题现象:图片明明已经放入安卓及IOS的资源目录下,其他图片可以用,只有个别图片无法引用。问题原因:有时直接复制进来的资源文件没有指定生成操作(偶然事件),导致程序编译时找不到目标文件。...
  • 点击上方“dotNET全栈开发”,“设为星标”加“星标★”,每天11.50,好文必达全文约900字,预计阅读时间11分钟注:本篇文章只是关于xamarin的一个分享,没有xamarin技...
  • C# Xamarin 史上最完整版教程 详解IOS与Andriod开发权过程
  • xamarin官方文档,详细介绍xamarin android使用控件,开发实例,及多种智能开发
  • 离上一篇用Xamarin.Form做个技术预览版的APP 有一个月零几天了. 现在这个APP在业务方面的代码由另外一个同事全权处理, 我又闲了下来, 要去弄另外一个项目. 这个把月, 踩过 Xamarin.Form 很多坑, 填过很多坑, 也造了...
  • Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述: 可能刚刚接触Xamarin的人来说,对于这个概念比较的模糊,认为这说的不都是同一个东西吗?事实并不是这样的,我们先来说说Xamarin.Android和Xamarin.IOS吧...
  • xamarin 当我们谈到用于应用程序开发的软件和工具时,对于开发人员来说有很多选择。 为开发过程引入了不同的框架,工具和软件,以使该方法变得简单,流畅和快速。 一些工具和框架统治着整个行业,而另一些则从市场...
  • Xamarin android如何调用百度地图呢? 首先我们要区分清楚,百度地图这是一个广泛的概念,很多刚刚接触这个名词”百度地图api”,的确是泛泛而谈,我们来看一下百度地图的官网: android上使用百度地图的有...
  • Xamarin for android 小白教程-HelloWorld !

    万次阅读 2018-03-07 17:42:13
     今天带来了我写的xamarin 安卓的教程!~首先简单的介绍一下XamarinXamarin始创于2011年, 旨在使移动开发变得难以置信地迅捷和简单! Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者...
  • 前面几天也写了一些signalr的例子,不过都是在Web端,今天我就来实践一下如何在xamarin android中使用signalr,刚好工作中也用到了这个,也算是总结一下学到的东西吧,希望能帮助你们,更快地熟悉使用xamarin ...
  • C# 使用Xamarin开发Android应用程序

    千次阅读 2018-06-12 16:26:19
    C#使用Xamarin开发可移植移动应用终章(11.获取设备信息与常用组件,开源一个可开发模版.)摘要: 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意...
  • xamarin,并不流行,但其实已经存在好多年了,之前还要收费,现在免费,也更成熟了。不得不说,xamarin的目标是非常好的,一套代码覆盖所有手机平台,可惜是经过这么多年还是发展太慢,应用市场上是通过xamarin开发...
  • 由于新项目需要开发APP,团队内部都是C#开发工程师,还需要考虑安卓和iOS两个版本,被安排学习VS2015里面的Xamarin.Froms开发。想起微软刚收购Xamarin后,大肆宣传Xamarin跨平台开发的牛逼,自己本行又是C#,也就...
1 2 3 4 5 ... 20
收藏数 17,688
精华内容 7,075
关键字:

xamarin