Xamarin原生跨平台概述(精简概述,命中要害。PS:无图)

Xamarin原生跨平台:原生界面、原生性能、原生API(与H5比较);

1、C#可以访问Andrid、IOS原生API,也可以调用C#系统类型,如Syetem,System.IO;
2、原理:基于Mono(在linux架一层Mono,.NET程序就可以运行在Liunx系统上。之前分为Mono Andriod、Mono Touch两个平台,后来由于移动端的流行和一些原因,名字就改成成了Xamarin)。
3、技术基础:
Binding(绑定):当Andriod、IOS 版本升级后,后台通过Binding将原生API转变成C#可以调用的API,即实现了100%访问原生API,这是H5做不到的,使用cordova只能访问部分API,达不到100%。
P/Invoke(平台调用):为什么C#可以调用平台级别的代码呢?例如桌面程序可以通过P/Invoke调用Win32 程序,Mono也是通过使用P/Invoke技术用C#代码去调用原生API。这是技术传统,并不是什么新技术,只是从桌面移植到了手机端。

4、
原生编译方式(与cordova不同):
Andriod:首先将JAVA代码编译成中间语言,在Andriod部署运行的时候,通过Andriod虚拟机将中间语言转换成机器语言来执行,即Java是基于虚拟机机制的。Xamarin模仿了这一套机制,它自己单独实现了这一套虚拟机,把C#代码编译成中间语言之后,在Andriod程序运行时,通过Xamarin自己的虚拟机来运行。最终结果还是转换成原生的Andriod代码来执行。
IOS:由于IOS不允许通过虚拟机机制来运行,所以程序编译之前,通过AOT(Ahead Of Time)编译机制,事先把C#代码转换成IOS机器代码来执行,同时在APP Store上架审核的时候,和原生IOS是一样的,不会因为代码原因导致审核不通过。

时间: 2024-10-06 11:59:04

Xamarin原生跨平台概述(精简概述,命中要害。PS:无图)的相关文章

C#移动跨平台开发(2)Xamarin移动跨平台解决方案是如何工作的?

概述 上一篇 C#移动跨平台开发(1)环境准备发布之后不久,无独有偶,微软宣布了开放.NET框架源代码并且会为Windows.Mac和Linux开发一个核心运行时(Core CLR),这也是开源的!IT媒体网站纷纷转载,博客园的C#开发者们热泪盈眶(泥煤都等这一天好久了!) 与此同时VS2015预览版更是直接集成了Android模拟器,但是其实里面并没有说集成IOS模拟器,我不知道大家是怎么得出可以直接用VS来开发Android和IOS应用的.不管怎么说,这都是个好消息.那么问题来了,C#如何来

使用Xamarin实现跨平台移动应用开发(转载)

刚在朋友圈看到张善友,转发的一条分享“使用Xamarin实现跨平台移动应用开发”,写的确实很详细得体,从收费到开源,这段时间xamarin受到不少质疑,如此文http://blog.csdn.net/aofengdaxia/article/details/41891945/.当然这篇随笔也是转载的(如果不写成随笔,大伙可能看不到这篇文章).希望那些已经入坑xamarin的开发者能有一个新的认识 原文链接:http://www.infoq.com/cn/articles/mobile-cross-

我正在使用Xamarin的跨平台框架—Xamarin.Android回忆录

一.缘起 在自己给别家公司做兼职外包的时候,已经明确知道外包的活不是那么好干的,一般在经历了初期热血澎湃的激情后,逐渐冷淡,愤怒,再冷淡,再愤怒…,听上去好像高潮迭起,但令人尴尬的是,这高潮迭起我们都不想要,以至于最后都想草草结束,一走了之.但当我们把Android移动应用委托第三方开发后,还是未能料到产品会如此粗糙,在不能确定这产品要到何时才能与观众见面时,我们果断终止了恋爱. 于是接下来可选的方案有限,初期采用好评如潮的phonegap开发后,其界面的流畅速度,尤其以下滑滚动速度最让人不能接

JavaScript之DOM-1 DHTML概述 DOM概述

一.DHTML 概述 DHTML 简介 - DHTML : Dynamic HTML, 动态 HTML,不是一种技术.标准或规范,只是一种将目前已有的网页技术.语言标准整合运用,制作出能再下载后仍然能实时变换页面元素效果的网页设计概念 - DHTML 的功能 - 动态改变页面元素 - 与用户进行交互等 - DHTML 对象模型包括 BOM 和 DOM DHTML 对象模型 BOM 与 DOM - BOM: Browser Object Model,浏览器对象模型,用来访问和操纵浏览器窗口,使 J

三大框架 之 Hibernate框架概述(概述、配置、核心API)

目录 Hibernate框架概述 什么是框架 hibernate简介(JavaEE技术三层架构所用到的技术) hibernate是什么框架 ORM hibernate好处 Hibernate基本使用 下载框架 Hibernate目录 使用 常见配置 映射配置 核心配置 核心API Configuration SessionFactory sessionFactory简介 配置连接池 查看日志 工具类 session session的api Hibernate框架概述 什么是框架 软件的一个半成品

JVM概述 & GC概述

参考: https://blog.csdn.net/seu_calvin/article/details/51404589 Oracle:Java Garbage Collection Basics span{color:red} 0. Java Garbage Collection Basics 学习记录 Java 概述 任何运行java程序的PC需要获取一个Java runtime environment,JRE由Java虚拟机(JVM),Java平台核心类和支持的Java平台库组成. 在J

软件开发概述 编程语言概述

http://www.cnblogs.com/hellokitty1/p/4032990.html 程序语言的发展: 机器语言  汇编语言  高级语言    软件开发的基本步骤:分析问题,建立数学模型.  确定数据结构和算法.  编制程序 .  调制程序. 算法的特性:有穷性    确定性   有零个或多个输入   有一个或多个输出   有效性   流程图:其优点是形象直观,简单易懂,便于修改和交流.   结构化程序设计: 顺序结构   选择结构    循环结构   调试程序: 语法错误  逻辑

WEB概述/HTML概述

WEB三要素: 常用浏览器: IE   Edge firefox  chrome(opera) safari Html工作原理: html是部署在服务器上,运行在浏览器上的文本. 什么是html? 可以理解为标签固定的xml 标记: 被称为html标签 注释: <!--注释的内容-->

告别组件之教你使用原生js和css写移动端轮播图

在工作中由于项目需要要写一个轮播图,本想使用组件直接调用实现快速开发,但是一想到自己经常使用组件但是让自己手写的话确实一点都不会. 一个不会手写组件的前端程序员不是一个好程序员!于是打算自己手写一个. 老规矩,首先看一下最终效果,这个最终可以实现定时自动播放,触摸滑动,手动修改下面横条效果等功能. 项目中使用到的HTML代码如下 <div class="banner"> <ul class="clearfix"> <li><