简介

简单来说,Xamarin提供了使用C#完成iOS,Android和Windows Phone三个移动平台开发的可能性
Xamarin包括Xamarin.Andriod、Xamarin.IOS、Xamarin.Forms等

官方文档翻译

当考虑如何构建iOS和Android应用程序时,许多人认为本机语言Objective-C,Swift和Java是唯一的选择。但是,在过去的几年里,出现了一个全新的移动应用平台生态系统。

Xamarin在这个领域是独一无二的,通过在iOS,Android和Windows Phone(Windows Phone的本地语言已经是C#)的所有三个移动平台上提供单一语言(C#,类库和运行时),同时仍编译native,即使对于要求苛刻的游戏也足够高性能的应用程序。

这些平台中的每一个都有不同的功能集,每个平台的编写本地应用程序的能力都不相同 - 也就是说,编译为本机代码的应用程序,以及与底层Java子系统交互的流畅程度。例如,某些平台只允许使用HTML和JavaScript构建应用程序,而有些平台只能使用C / C ++代码。一些平台甚至不使用本地控制工具包。

Xamarin的独特之处在于它结合了本地平台的所有功能,并增加了许多自己的强大功能,其中包括:

1.底层SDK的完整绑定 - Xamarin包含iOS和Android中几乎所有底层平台SDK的绑定。另外,这些绑定是强类型的,这意味着它们易于导航和使用,并且在开发过程中提供可靠的编译时类型检查。这导致更少的运行时错误和更高质量的应用程序。
2.Objective-C,Java,C和C ++ Interop - Xamarin提供了直接调用Objective-C,Java,C和C ++库的功能,使您可以使用已经创建的大量第三方代码。这使您可以利用Objective-C,Java或C / C ++编写的现有iOS和Android库。另外,Xamarin提供了绑定项目,允许您使用声明性语法轻松绑定本地Objective-C和Java库。
3.现代语言结构 - Xamarin应用程序是用C#编写的,现代语言包括对Objective-C和Java的重大改进,如动态语言特性,功能结构(如Lambda,LINQ,并行编程功能,复杂的泛型等等)。
4.令人惊叹的基础类库(BCL) - Xamarin应用程序使用.NET BCL,这是一个庞大的具有强大的XML,数据库,序列化,IO,字符串和网络支持等功能的类的集合。此外,现有的C#代码可以被编译用于一个应用程序,它可以访问成千上万的库,这将使您可以执行BCL中尚未涵盖的内容。
现代集成开发环境(IDE) - Xamarin在Windows上使用Mac OS X和Visual Studio上的Visual Studio for Mac。这些都是现代IDE,包括代码自动完成功能,复杂的项目和解决方案管理系统,全面的项目模板库,集成的源代码控制等等。
5.移动跨平台支持 - Xamarin为iOS,Android和Windows Phone三大移动平台提供先进的跨平台支持。可以编写应用程序来共享其代码的90%,而我们的Xamarin.Mobile库提供了一个统一的API来访问所有三个平台上的公共资源。这可以显着降低移动开发人员的开发成本和上市时间,目标是三个最受欢迎的移动平台。
由于Xamarin强大而全面的功能集,为希望使用现代语言和平台开发跨平台移动应用程序的应用程序开发人员填补了空白。

原文

https://developer.xamarin.com/guides/cross-platform/getting_started/introduction_to_mobile_development/

Xamarin简介的更多相关文章

  1. Xamarin简介与Xamarin支持MVC设计模式

    Create Native iOS, Android,Mac and Windows apps in C#. 官方网站:http://xamarin.com/ 使用武器 Run a C# app, g ...

  2. xamarin之 安装工具介绍

    原文:xamarin之 安装工具介绍 思考: 1,  一定要按照顺序安装吗? 先装JDK,再装Android SDK 原因:Android SDK采用了Java语言 先装Android SDK,再装A ...

  3. Xamarin介绍

    郑重声明: 本文非Xamarin使用详解,也没什么有用的干货,只是给不知道Xamarin到底是什么的大家提供一点点微不足道的小介绍,看完以后啥收获都没有也不是没可能的(*/ω\*).so......ε ...

  4. C# Xamarin移动开发基础进修篇

    一.课程介绍 英文原文:C# is the best language for mobile app development. Anything you can do in Objective-C, ...

  5. Hello, Android 快速入门

    Hello, Android Android 开发与 Xamarin 简介 在这两节指南中,我们将 (使用 Xamarin Studio或 Visual Studio)建立我们的第一个 Xamarin ...

  6. ApacheCN C# 译文集 20211124 更新

    C# 代码整洁指南 零.前言 一.C# 代码标准和原则 二.代码审查--过程和重要性 三.类.对象和数据结构 四.编写整洁的函数 五.异常处理 六.单元测试 七.端到端系统测试 八.线程和并发 九.设 ...

  7. Xamarin.Forms 简介

    An Introduction to Xamarin.Forms 来源:http://developer.xamarin.com/guides/cross-platform/xamarin-forms ...

  8. Xamarin+Prism开发详解六:DependencyService与IPlatformInitializer的关系

    祝各位2017年事业辉煌!开年第一篇博客,继续探索Xamarin.Forms… 为什么我做Xamarin开发的时候中意于Prism.Forms框架?本章为你揭晓. 实例代码地址:https://git ...

  9. Xamarin体验:使用C#开发iOS/Android应用

    Xamarin是Mono创始人Miguel de Icaza创建的公司,旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发.   简介 Xamarin是基于Mo ...

随机推荐

  1. ios开发核心动画五:转场动画

    #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...

  2. 百度地图坐标之间的距离php

    function GetDistance($lat1, $lng1, $lat2, $lng2){ define('PI',3.1415926535898); define('EARTH_RADIUS ...

  3. BootStrap让两个控件在一行显示

    <div class="row"> <div> <label class="form-inline">参加单位:<in ...

  4. php实现二叉树遍历

    php实现二叉树遍历 一.总结 关注输入输出 二.php实现二叉树遍历 题目描述 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储). 例如如下的先序遍历字符串 ...

  5. pycharm highlight

    https://www.jetbrains.com/help/pycharm/2017.1/highlighting-usages.html Highlighting usages in the cu ...

  6. 【LeetCode-面试算法经典-Java实现】【107-Binary Tree Level Order Traversal II(二叉树层序遍历II)】

    [107-Binary Tree Level Order Traversal II(二叉树层序遍历II)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given a ...

  7. Redis内存管理的基石zmallc.c源代码解读(一)

    当我第一次阅读了这个文件的源代码的时候.我笑了,忽然想起前几周阿里电话二面的时候,问到了自己定义内存管理函数并处理8字节对齐问题. 当时无言以对,在面试官无数次的提示下才答了出来,结果显而易见,挂掉了 ...

  8. Android6.0动态申请权限那些坑--以及避免用户选择不再提示后无法获取权限的问题

    Android 6.0 为了保护用户隐私,将一些权限的申请放在了应用运行的时候去申请, 比如以往的开发中,开发人员只需要将需要的权限在清单文件中配置即可,安装后用户可以在设置中的应用信息中看到:XX应 ...

  9. LUOGU 1525 关押罪犯 - 并查集拆点(对立点) / 二分+二分图染色

    传送门 分析: 并查集: 第一步先将所有矛盾从大至小排序,显然先将矛盾值大的分成两部分会更优. 普通的并查集都只能快速合并两个元素至同一集合,却不能将两个元素分至不同集合. 对于将很多数分成两个集合, ...

  10. ssh远程无法连接VM中的Ubuntu问题

    Ubuntu ssh远程无法连接问题 1. 检查sudo ps -e|grep ssh  查看是否有ssh进程服务,如果没有的话,需要下载安装  sudo apt-get install openss ...