简介

简单来说,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. csdn博客栏目加入微博关注

    大家首先切换到:博客专栏,然后点击"加入专栏".然后直接复制下述代码就能够了: <a href="http://weibo.com/u/3247569660/hom ...

  2. php 模拟post的新发现,重点在最后的新方法

    最近两天项目需要,由于服务器正在开发,客户端进度稍快一些,没有服务器进行联调.因此我重操旧业,用PHP快速的写了一些web页面,算是当测试桩程序了,七八个web接口,基本上5到6个小时搞定了.由于当前 ...

  3. [RxJS] Flatten a higher order observable with mergeAll in RxJS

    Among RxJS flattening operators, switch is the most commonly used operator. However, it is important ...

  4. Hdu4771(杭州赛区)

    Stealing Harry Potter's Precious Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 ...

  5. 定义变量let,const

    1.块级作用域let 声明变量,作用域是最近的"{}": 'use strict'; { let test = '1'; } console.log(test);//test is ...

  6. [NPM] Run npm scripts when files change with onchange

    In this lesson we will look at how we can setup our npm scripts to execute when the file system has ...

  7. WPF中自动增加行(动画)的TextBox

    原文:WPF中自动增加行(动画)的TextBox WPF中自动增加行(动画)的TextBox WPF中的Textbox控件是可以自动换行的,只要设置TextWrapping属性为"Wrap& ...

  8. MAC终端:如何调整字体大小和终端样式

    1.字体 进入终端后comman键和+键的组合可以增大显示 2.样式  

  9. [GeekBand ] 利用 pass by reference -to -const 编写高效规范的 c++代码

    本文参考资料 :  GeekBand 侯捷老师,学习笔记 Effective C ++ 侯捷译 条款20 开发环境采用:VS2013版本 首先:分析值传递的缺点 (一) class Person{ p ...

  10. Word Break II -- leetcode

    Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each ...