Create Native iOS, Android,
Mac and Windows apps in C#.

官方网站:http://xamarin.com/

使用武器

Run a C# app, get a C# shirt. Get yours now at xamarin.com/sharp-shirt

Xamarin 是由早期的Mono项目演变而来,原本是在Linux上执行C#程序的一个开放原始码项目。后来陆续发表支持iOS的Mono Touch framework以及Mono For Android Framework。因此它在市场上并不是一个新的产品。2011年,原本在Novell的Mono项目团队独立成立一家公司,正式将名称改为Xamarin。

Xamarin是一个行动App开发平台,提供跨平台开发能力,开发人员透过Xamarin开发工具与程序语言,即可开发出iOS、Android 与Windows 等平台的原生(Native) App 应用程序,不须个别使用各平台的开发工具与程序语言,不只是「write-once, run everywhere」的跨平台解决方案,更可达到 「write your code once, and present native UIs on each platform.」之跨平台开发能力。由于Xamarin可直接产生各平台之原生App应用程序,相较于其他跨平台方案,藉由Xamarin所开发出来的App应用程序,更能发挥出各行动平台的功能与特性,且具有最佳的执行效能。

以Xamarin开发App应用程序的方法概述如下 : 开发人员在单一开发环境中即能管理、撰写程序与测试各行动平台的App应用程序,可以在同一个方案中统合所有平台的项目,包括iOS、Android、Windows Phone与Windows 8 Store App。

Xamarin 开发平台主要包含以下4大部分 :
开发程序语言:Xamarin 以C# 作为开发程序语言,开发人员直接撰写C# 即可进行开发。
整合开发工具:Xamarin 提供整合开发工具 (IDE) Xamarin Studio,开发人员可直接于此工具上进行开发、除错、测试与仿真 等作业。Xamarin也针对Microsoft Visual Studio提供附挂套件 (Plug-In)。
跨平台开发框架: (Mono .Net Framework)Xamarin 提供开发框架,支持跨平台的功能实作 (cross-platform implementation)。
编译程序: Xamarin 具有各平台的编译程序,可直接编译为 iOS 与 Android 平台的机器码。

五大特色
快速建立原生(Native)的行动装置应用程序:
透过 C#亲和且功能齐全的语言特性,搭配.NET Framework 的 Base Class Library(BCL)的便利性,让开发人员能以最高的生产力开发行动装置应用程序。目前 Mono 支持 C# 5.0 的语言规范,开发人员可以用Lambda Expression、LINQ 甚至是 Async/Await 的异步处理。
程序代码共享:
现行由 Objective-C 所开发的 iOS 应用程序以及由 Java 所开发的 Android 应用程序,无法达到程序代码共享。Xamarin 则是采用C#撰写,因此透过良好的设计,可以在不同平台间共享商业逻辑以及数据存取等程序,毋需重新撰写。除了省下重新撰写的时间成本外,对于版本维护及一致性也有相当大的帮助。
与 Visual Studio 整合:
Xamarin 提供了 Visual Studio 2010/2012 的 plug-in,让原本就熟悉 Visual Studio 的开发者不用再熟悉其他的开发工具。在建立项目时,可以直接建立 iOS 及 Android 的项目模板。开发团队也可以将 iOS 及Android 的程序代码纳入到 ALM,使用 Team Foundation Server 进行版本及建置的管理。
确保第一时间更新:
Xamarin 对于 iOS 及 Android 的版本更新不遗余力,在 iOS SDK 5.0, 6.0 以 6.1, 都与 Apple 在同一天发表对应的 Framework 版本。7.0 也承诺会在同一天发表。而 Android 方面, Xamarin 甚至将 Android 的原始码, 从原本的 Java 改由 C#重新撰写,而且效能也得到大幅的提升。
原生的应用程序效能:
Xamarin 针对iOS及Android平台开发编译程序。将C#程序代码直接编译成ARM CPU的机器码。因此效能将与原生模式开发的应用程序相比,没有不同。而在Android 系统上,由于Xamarin 不使用Android的Dalvik 虚拟机,改为采用CLR,经测试其效能更甚于原生的应用程序。

下表为目前在行动平台上开发App应用程序的方法比较

Xamarin支持MVC设计模式,开发人员可以设计哪些是与用户接口相关的部份,并将与平台无关的商业逻辑、服务存取、数据存取以及数据层从接口抽离出来,依此为依据将应用程序区分为两部份, 分别为core以及user interface,有效达到程序代码共享,让设计架构更严谨。

来源:http://xamarin.csdn.net/module/btc/xamarin/product#id3

转载于:https://www.cnblogs.com/cube/p/3644448.html

Xamarin简介与Xamarin支持MVC设计模式相关推荐

  1. Servlet→简介、手动编写一个Servlet、使用MyEclipse编写一个Servlet、Servlet生命周期、路径编写规范、初始化参数、MVC设计模式

    手动编写一个Servlet 使用MyEclipse编写一个Servlet Servlet生命周期 路径编写规范 初始化参数 MVC设计模式 企者不立:跨者不行. 自见者不明: 自是者不彰: 自伐者无功 ...

  2. 第80节:Java中的MVC设计模式

    第80节:Java中的MVC设计模式 前言 了解java中的mvc模式.复习以及回顾! 事务,设置自动连接提交关闭. setAutoCommit(false); conn.commit(); conn ...

  3. ASP.NET下MVC设计模式的实现

    1 MVC设计模式简介 MVC由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和界面系统的构成基础.MVC结构是为那些需要为同样的数据提供多个视图的应用程 ...

  4. MVC设计模式,自己搭建MVC开发框架

    简介 MVC是现在项目开发之中首要使用得架构模式,使用MVC可以有效的实现后台程序与前台HTML代码的有效分离,同时可以方便的进行团队的分工合作. 以用户登录验证为例观察开发中的两种模式: 来观察软件 ...

  5. 一篇带你走进程序设计的准则——DAO和MVC设计模式

    一.DAO设计模式 DAO最适用于单系统应用程序或小范围本地分布式应用程序使用 1. DAO简介 DAO(Data Access Object,数据访问对象)的主要功能就是操作数据库,也就是数据的增删 ...

  6. xamarin.forms_重构:从Xamarin Native到Xamarin.Forms

    xamarin.forms 介绍 (Introduction) Before you actually start developing a mobile app, you have to make ...

  7. mvc设计模式现在过时了吗_尚学堂115——设计模式、源码分析以及SpringData

    设计模式 什么是设计模式?你是否在你的代码里面使用过任何设计模式? 设计模式是在软件设计中常见问题的通用.可反复使用.多数人知晓的一种解决方案或模板:这些解决方案是在相当长的一段时间内由众多软件开发人 ...

  8. Java-Web JSTL标签库、自定义标签库和MVC设计模式

    目录 一.JSTL标签库 1.什么是JSTL 2.JSTL标签库 3.使用taglib指令导入标签库 4.core标签库常用标签 (1)out和set (2)remove (3)url (4)if ( ...

  9. android mvc使用方法,详细学习android mvc设计模式教程

    MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 web 应用程序的模式.其分层有助于管理复杂的应用程序,因为可以在一个时间内专门关注一个方面.例如 ...

最新文章

  1. DAC7612的使用
  2. 深入理解Fabric环境搭建的详细过程
  3. 当maven引用的jar在maven库中下载不到源代码
  4. Nutch 是一个开源Java 实现的搜索引擎
  5. Andoroid之BottomNavigationView右上角添加红点布局和自动跳转到底部具体第几个Tab
  6. 1.0jpa 2.0_JPA 2.1类型转换器–持久枚举的更好方法
  7. 作者:周晓津(1971-),男,博士,广州市社会科学院研究员。
  8. GaussDB(for MySQL)如何快速创建索引?华为云数据库资深架构师为您揭秘
  9. 简析银行业数据中心的特点
  10. xampp apache mysql配置_安装xampp(Apache+MySQL+PHP+PERL)
  11. 概率论中的一些常见的分布与公式
  12. (二)可变分区存储管理方案中的内存分配
  13. 基于邻接表建图的几种方法
  14. VoxelMorph运行时遇到的问题
  15. 开课吧JAVA高级架构师怎么样_开课吧JavaEE企业级高级架构师
  16. 因为热爱 全力以赴 心怀远方 定有所成
  17. 一个采用BF算法的宝石迷阵的消除解法
  18. 韩国个人数据保护类法律法规简述
  19. pap认证失败_PPP(CHAP 或 PAP)认证故障排除
  20. 武士与魔王游戏v2.0

热门文章

  1. 【教程】超漂亮的CSS3按钮制作教程
  2. PyCharm 3.0 发布,提供免费开源版本
  3. windows远程桌面超出最大连接数强制登录命令
  4. java请模拟出双重定时器_Java多线程基础 - osc_czmaebyq的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. 结构体排序二~1339: 考试排名(带技巧的输入)
  6. java解压_Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)
  7. 智能搜索推荐一体化营收增长解决方案
  8. 开源之夏 | 阿里开源近百任务上线
  9. 玩吧高速增长的数据上云实践
  10. 独家下载!Java工程师成神必备宝典