您可能已经看到类似的统计数据:智能手机用户在手机媒体上花费了89%的时间使用应用程序。或者听说Gartner预测到2017年移动应用程序下载将产生价值770亿美元的收入。很难不考虑这些数字。今天,每个企业都必须接受创建移动应用程序的必要性,以保留喜欢通过移动解决问题的用户。开发移动应用程序的首席执行官和初创公司熟悉速度与质量,iOS与Android,混合与本土之间的斗争。而Xamarin肯定会改变游戏规则。

Xamarin一直在风靡世界。在其存在的5年多的时间里,它已发展到120个国家的140万开发者,并被微软收购成为其Visual Studio环境的一部分。这使Xamarin成为能源,交通,媒体,医疗保健等领域的15,000家公司的首选技术。我们将进一步研究一些杰出的Xamarin应用程序示例。今天,Xamarin不仅提供了构建跨平台移动应用程序的平台,还进一步支持开发生态系统来测试和调试产品。Xamarin测试云例如,开发人员可以在2000多台真实设备上运行他们的Xamarin应用程序并分析详细的报告。另一项服务Xamarin.Insights之前曾被移动.NET开发人员用于查找和调试问题,但最近与HockeyApp合并,是微软的测试平台,用于接收反馈并防止崩溃。

我们拥有Xamarin跨平台移动开发经验,因此我们决定编译这个Xamarin应用程序展示来讨论这项技术最独特的特性以及它们在交付这些应用程序方面发挥的作用。

重用代码的能力

通过为所有三大移动平台构建应用程序,开发人员可以共享高达75%的代码。此外,使用Xamarin.Forms,一个拥有超过40个跨平台控件和布局映射到本机控件的库,共享代码库可以达到100%。

Olo使用相同的核心逻辑为160个品牌构建应用程序

Olo正在帮助最大的餐饮品牌接受数字化招待,并为3000万客户提供在线订购服务。作为一个短信订购服务开始,Olo很快尝试了其中一种混合型JavaScript框架,不幸的是开发人员处理了太多的抽象,导致有时需要花费数周才能完成简单的功能。

使用Xamarin重建应用程序并不是一个困难的决定。他们已经成为C#和.NET商店,最终邀请他们现有的工程师进入移动领域。Olo的首席工程师Greg Shackles认为,如果工程师使特定平台的体验更好,那么工程师就不应该避免使用未共享的代码。无论采用哪种方式,Olo都可以在服务,数据库访问,网络和API调用等核心级别获得代码共享。他们制作的工具使他们能够使用类似的逻辑为每个品牌创建独特的项目。

MRW Mobile利用现有的Windows解决方案构建Xamarin.Android应用程序

MRW是西班牙领先的国际快递运输公司。在西班牙,葡萄牙,安道尔,直布罗陀和委内瑞拉,超过10,000名MRW员工在1,300多个特许经营场所经营。公司进步的关键因素是通过促进交付协调,支持2,500个并发用户的应用程序。

在成功创建应用程序的Windows版本之后,MRW开始寻找一种在Android上构建并保持本机性能的方法。完全重写MRW Mobile的另一个平台的众多功能将超出预算并花费更多时间。借助Xamarin,他们设法利用现有技能并重新使用代码。管理层也渴望开始为iOS构建,估计90%的代码与Android应用共享。

CA Mobile提供安全的原生移动银行服务体验

作为葡萄牙最大的银行之一,拥有100多年的历史和160万的客户,CréditoAgrícola急于响应智能手机用户不断增长的需求,通过移动办理他们的财务。该公司关注在移动平台上为客户提供持续支持,同时确保必要的安全要求。

在三个月内,该公司通过重新使用75%的代码,成功发布了所有三个平台的应用程序。因此,CA Mobile涵盖了34个费用类别,支持付款授权以及实时推送通知以进行费用审批。

Novarum DX正在推出使用Xamarin构建的医疗应用程序

Novarum DX是BBI Solutions的子公司,BBI Solutions是诊断和制药市场成品测试平台的领先制造商。Novarum DX的专家旨在建立一个应用程序,以简化侧向流量测试的解释并允许用户通过智能手机相机识别结果。

该团队使用本机摄像头访问并在操作系统上应用相同的代码来创建Novarum Reader,这是第一款无需任何额外硬件即可运行的诊断应用程序。借助Xamarin,该公司设法减少资源,并为所有应用程序分配一个工程团队。在他们第一次使用该技术后,Novarum DX使用相同的基于Xamarin的开发方法,在四到六周内发布了20种由Xamarin制作的不同应用程序。

这并不一定意味着只使用一种编程语言,开发时间和开支就会自动减少一半。您仍然需要花时间为每个操作系统调整应用程序,尤其是涉及到UI和平台特定的功能时。

在熟悉的环境中工作

很少有开发人员在Objective-C和Java方面都非常熟练,这意味着他们中的大多数将不得不为他们现有的技能组添加一种或两种编程语言。这显然涉及到一条学习曲线,并将为您的应用程序开发做好准备。许多Xamarin用例源于需要保持在熟悉的工程环境中。C#不仅是取代Objective-C,Java或Swift的方便工具。它有自己的优点,例如异步编程和C#库的可用性。

Foundbite是为Windows构建的,但随后是Android和iOS

Foundbite是一种音频共享服务,允许用户录制5秒到5分钟的声音,标记他们的位置并发布给全世界看。2012年,该应用的想法发生在Foundbite的创始人詹姆斯·蒙迪(James Mundy)。从那时起,这个学生的项目成长为伦敦的业务和领域的领导者。

得益于微软的资助,Mundy为Windows Phone开发了第一个应用程序版本。在C#方面拥有丰富的经验,他的团队不需要学习Objective-C和Java,并且可以在几个月内交付iOS和Android应用程序来回复用户的请求。Mundy建议所有开始移动开发的人都使用Xamarin的优势,以便“用更小的团队编写更少,更好的代码,以更快地覆盖更多的客户”。

Storyo的三个团队发运了5星级的应用程序

Nativo Labs由来自葡萄牙的三位企业家建立,目的是创造一种更好的方式来使用照片讲故事。Storyo的AI驱动的电影制作人可以自动进行非常简单的调整,在手机图库中制作来自照片的视频。

和其他许多初创公司一样,该团队正在寻找一种简单的方式来开发自己的应用程序,Xamarin允许他们这样做。拥有丰富的C#专业知识,工程师可以利用他们的技能开发Xamarin.iOS应用程序,并在短短六个月内完成该项目,大大改善了应用程序的上市时间。应用程序在苹果应用程序商店获得五颗星后,Nativo Labs决定瞄准Android。“在开始这个项目之前,我们都没有和Android一起工作过; 如果没有像Xamarin这样的工具,就不可能做到这一点,“首席执行官Filipe Vasconcellos说。

Captio利用现有的C#技能重建了完全原生的应用程序

一家西班牙公司开发了一个应用程序,允许员工和主管轻松管理差旅费用。自动扫描系统从收据或任何纸质文件的照片中提取重要数据,并将其直接发送至办公室。通过将费用管理流程集成到单一无纸化工作流程中,Captio不仅可以消除手动任务,还可以防止可能的欺诈行为。

第一个应用程序在五年前发布。那时,团队采取了混合方式并使用了PhoneGap,但结果令人失望。虽然这些功能可以在不同的设备上使用,但它们不如原生。这就是Captio开始制作新版本的原因。这次它是三个完全原生的应用程序,这是一个很大的改进,但成本很高 - 开发人员还没有准备好处理这些维护费用。那时CEO就听说了Xamarin。现在,工程师们可以利用他们以前使用C#的经验,构建跨平台的应用程序,同时重用多达80%的代码。

许多使用Xamarin的公司都承认,它没有让他们学习如何使用iOS和Android平台API。尽管如此,复制代码和调整样本与学习两个更多的编程环境并不相同。此外,成千上万的Xamarin开发人员驻留在Xamarin论坛上,这是一个分享技巧和交换意见的平台,大多数问题都可以得到回答和解释。

本地功能

现在,原生渲染对应用程序的成功至关重要。用户需要流畅的应用程序,看起来和行为都属于操作系统。Xamarin通过原生API访问并利用平台特定的硬件来实现它。

Picturex从科尔多瓦切换到Xamarin以开发iOS和Android应用程序

麻省理工学院创新公司是麻省理工学院集团的子公司,MIT集团是一家提供ICT解决方案超过25年的瑞士公司 Picturex是他们使用Xamarin创建的四个应用程序之一,以及Photo2Folder,一个本地文件保存器,可以作为现有应用程序的服务集成。Picturex可让您收集朋友和您自己在单个私人相册中拍摄的单个活动中的照片。控制谁允许查看,分享和下载照片只属于您,所有内容将在14天内自动删除。该公司还通过提供自定义品牌,分析和有保证的数据安全性,将应用程序推广为与客户和员工交换图片的商业工具。

以前,Windows Phone应用程序使用Apache Cordova,开发人员对混合性能并不满意,并一直在寻找将Picturex构建为完全本机应用程序的方法。鉴于为Android和iOS完全重写应用程序所需的努力,他们选择了Xamarin并开始仅在C#中工作。根据高级IT顾问Linard Moll的说法,他们能够开发出“真正的本地应用程序,提供设备特定的体验,并且与基于Web的框架相比,能够全速运行”。这相应地使公司能够重用业务逻辑并简化为企业客户打造应用品牌。

要了解Xamarin与其他移动跨平台框架的不同之处,请查看我们的专用故事:Xamarin vs React Native与Ionic

由于企业应用程序,Vanderlande可以节省资金和客户的忠诚度

Vanderlande是位于荷兰的机场行李和分拣系统的全球市场领导者。该公司的系统每天处理880万件行李物品,每秒处理300个包裹。由于手工或甚至缺少物品记录,公司经常不得不处理丢失的物品,这不仅导致高成本,而且还破坏了整个过程。

Vanderlande决定创建一个应用程序,允许员工扫描条形码和QR码并自动跟踪每个项目。该应用程序还可以离线运行,并在设备找到连接时自动上传报告。Xamarin让应用访问所有必需的数据,例如用户的位置,媒体文件,相机和Wi-Fi连接信息。通过将应用程序与Xamarin紧密集成到平台中,他们设法创造了直观的用户体验,无论一个人是否会说英语,并支持员工之间统一的流程。

阿拉斯加航空公司为所有主要平台创建了客户和内部应用程序

阿拉斯加航空公司拥有超过75年的历史,每年拥有1700万客户,一直采用最新的旅游技术解决方案。这是第一家在线销售票和通过互联网打印登机牌的北美航空公司。

预计需要将所有主要操作系统纳入其应用程序生产:他们希望为15,000名团队成员创建一个客户和内部应用程序。Xamarin以及Visual Studio Team Services和Hockey App允许阿拉斯加航空公司专注于本地功能,如Touch ID或推送通知,以及无缝的体验,而不是实现它所需的工具。

那么,选择Xamarin环境最可行的方案是什么?

  • 使用简单UI的应用程序
    移动平台之间的大多数调整通常属于UI。但是,如果您的应用不需要丰富的用户体验,则开发时间可以显着缩短。
  • 重逻辑的应用
    Xamarin提供了本地级别的硬件功能。使用标准用户界面,所有核心逻辑都可以共享,只剩下5-10%用于定制过程。
  • 希望专注于创意而不是工程设计的创业公司
    在开发的早期阶段,您要做的最后一件事就是深入到工程过程中。您希望您的团队坚持敏捷项目管理方法之一,测试假设并尽快将您的产品推向市场。借助Xamarin,您可以花更少的时间编写代码并获得更好的结果,同时不断产生想法。
  • 必须覆盖多个平台
    的应用程序有时,您的应用程序应该可以与各种设备和所有主要平台一起使用。如果辅助功能是您项目的焦点之一,则可以使用Xamarin来完全自定义产品。而且,正如我们已经提到的,Xamarin测试云允许您运行自动化测试并识别超过2000台设备的性能问题。
  • 当一个团队熟悉C#和.NET时,
    即使您不打算为iOS和/或Android构建应用程序,但未来几乎没有任何努力的前景值得。您可以保留已有的专家,不用花时间或金钱学习新的语言。

无论您是否遇到上述情况之一,如果您正在从事移动开发项目,您应该熟悉Xamarin。这是迄今为止市场上最好的跨平台开发工具,站在微软的肩上,它的影响力只会随着时间的推移而增长。

要详细了解Xamarin的优点和缺点,请阅读我们关于Xamarin与原生移动开发的优缺点的文章

Xamarin 开发过的那些项目的更多相关文章

  1. 使用Xamarin开发移动应用示例——数独游戏(一)项目的创建与调试

    最近项目中需要移动客户端,由于团队基本上使用.Net产品线,所以决定使用Xmarin进行开发,这样技术路线统一,便于后期维护.官网上是这样介绍的" Xamarin 允许你使用 .NET 代码 ...

  2. 老司机学新平台 - Xamarin开发环境及开发框架初探

    随着被微软收购,最近一年间,Xamarin的火爆程度与日俱增.免费.更好的VS2015集成.更好的模拟器,甚至,在windows上运行和调试iOS平台程序,让我这样接触了十几年.NET平台的老司机,即 ...

  3. Xamarin开发Anroid应用介绍

    第1章  Xamarin开发Anroid应用介绍 如今智能手机已经盛行了好几年,而针对这些智能手机的软件开发也变得异常火热.但是在Android平台下只能使用Java开发,iOS平台下也只能使用Obj ...

  4. 【Xamarin挖墙脚系列:Xamarin开发环境配置需求】

    原文:[Xamarin挖墙脚系列:Xamarin开发环境配置需求] 前言 因为操作的全是大块头,加大你们的内存,CPU网上飙.... 卤煮的机器配置  最近的版本部署包,百度云离线下载:版本:Xama ...

  5. Xamarin 开发常见问题

    原文:Xamarin 开发常见问题 Verify the project is selected to be deployed in the Solution Configuration Manage ...

  6. 【Xamarin开发 Android 系列 13】 应用打包部署

    原文:[Xamarin开发 Android 系列 13] 应用打包部署 开始倒叙咯................ 先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋.点解?从界面上填写几个参 ...

  7. 【Xamarin开发 Android 系列 7】 Android 结构基础(下)

    原文:[Xamarin开发 Android 系列 7] Android 结构基础(下) *******前期我们不打算进行太深入的东西,省的吓跑刚进门的,感觉门槛高,so,我们一开始就是跑马灯一样,向前 ...

  8. 【Xamarin开发 Android 系列 2】VS2015跨平台开发的几种方式

    原文:[Xamarin开发 Android 系列 2]VS2015跨平台开发的几种方式 在微软Build大会上,微软宣布在VS2015中支持三种方式进行跨平台的开发. 1. Xamarin 2. Co ...

  9. 【Xamarin开发 Android 系列 3】循序渐进的学习顺序

    原文:[Xamarin开发 Android 系列 3]循序渐进的学习顺序 指定合理的学习步骤,将各个技术点进行强化.慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资 ...

随机推荐

  1. [Swift]LeetCode867. 转置矩阵 | Transpose Matrix

    Given a matrix A, return the transpose of A. The transpose of a matrix is the matrix flipped over it ...

  2. [Swift]LeetCode951. 翻转等价二叉树 | Flip Equivalent Binary Trees

    For a binary tree T, we can define a flip operation as follows: choose any node, and swap the left a ...

  3. [Swift]LeetCode982. 按位与为零的三元组 | Triples with Bitwise AND Equal To Zero

    Given an array of integers A, find the number of triples of indices (i, j, k) such that: 0 <= i & ...

  4. [工具]PyCharm激活、注册码无效解决办法

    前言 我是个 Pythoner,开发工具一直使用的 JetBrains 的 PyCharm.我师傅告诉过我:一个程序员一定要有一个用的很 6 的 IDE,你的开发效率会提高很多,很多... 我从小白的 ...

  5. 《HelloGitHub》第 12 期

    <HelloGitHub>第 12 期 兴趣是最好的老师,<HelloGitHub>就是帮你找到兴趣! 简介 最开始我只是想把自己在浏览 GitHub 过程中,发现的有意思.高 ...

  6. 知识小罐头03(idea+maven+部署war包到tomcat 上)

    自学的的小伙伴第一就要用maven!自学的的小伙伴第一就要用maven!自学的的小伙伴第一就要用maven! 重要的事说三遍!maven本质上,其实就是一种目录的格式,没有什么特别的地方!而且,你可以 ...

  7. 如何将视频导入到ipad中并播放

    首先在电脑上下载并安装itunes,然后用apple账号登入, 在ipad上从apple store中下载一个播放器如KMPlayer 点击itunes上小手机的图标,找到文件共享,选中应用KMPla ...

  8. 【API知识】一种你可能没见过的Controller形式

    前言 这里分享一下我遇到的一个挺有意思的Controller形式,内容涉及@RequestMapping注解的原理. 实际案例 一.基本描述 项目甲中有多个模块,其中就有模块A和B.(这里的模块指的是 ...

  9. -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流

      File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) ...

  10. C#工具:CSV文件转换帮助类

    CSV是逗号分隔值格式的文件,其文件以纯文本形式存储表格数据(数字和文本).CSV文件由任意数目的记录组成,记录间以某种换行符分隔:每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号 ...