摘要 Xamarin成立于2011年5月16日。Xamarin 是一套基于C#语言的跨平台移动应用开发工具,2016年2月24日被微软正式收购。

前言

很早就已经听说强大的.NET生态中有一个移动开发的解决方案叫Xamarin,也曾经翻阅过相关资料和教程,但由于国内资源较少,且全是英文,所以并没有深入研究。

如今随着.NET Core 3.0、VisualStudio 2019的发布,.NET的跨平台渐入佳境,又恰逢公司有APP方面的需求,所以决定会一会这个所谓的Xamarin(渣马润)。

介绍

1.Xamarin是什么?

Xamarin成立于2011年5月16日,2016年2月24日被微软正式收购,而后微软宣布将会在各个版本的Visual Studio中免费提供Xamarin,并且宣布Xamarin SDK开源。

Xamarin是一套基于C#语言的跨平台移动应用开发工具,开发人员可以使用C#编写原生的Andorid、Mac、iOS、UWP应用。

2.Xamarin能做什么?

Xamarin主要包含Xamarin.Andorid、Xamarin.iOS、Xamarin.Forms。

(1)Xamarin.Andorid:为.NET开发人员提供了完整的Andorid SDK,可以构建完整的Andorid原生应用。

(2)Xamarin.iOS:为.NET开发人员提供了完整的iOS SDK,可以构建完整的iOS原生应用。

(3)Xamarin.Forms:为.NET开发人员提供了一个完整的跨平台UI工具包,开发人员可以通过(C#、XAML)轻松构建适用于各个平台(Andorid、iOS、UWP)的原生应用。

简单来说就是前两个分别能够使用C#开发Andorid和iOS应用,而Xamarin.Forms则可以用一套代码C#代码开发跨平台的应用。本系列只研究Xamarin.Forms。

3.Xamarin.Forms如何运作?

Xamarin Forms的工作原理是将创建的UI元素从共享PCL(可移植类库)UI代码映射到Windows,Android和iOS上相应的原生代码。每个Xamarin Forms页面分为两部分,用于处理UI逻辑的Code Behind文件和制作UI界面的XAML文件。

Xamarin.Forms提供了两个创建应用程序用户界面的方式:

①XAML:可扩展应用程序标记语言,它和XML、HTML差不多。(WPF也是使用的XAML)

②C#:如果没有任何前端开发经验,可以使用这种方式。

安装

随着宇宙第一IDE Visual Studio 2019 的发布,Xamarin的安装变得更加简单了。

1.下载VS2019安装程序

地址:https://visualstudio.microsoft.com/zh-hans/vs/

2.打开安装程序=》工作负载=》移动与游戏=》使用.NET的移动开发

3.点击安装

4.打开VS2019,点击创建新项目,在项目模版中找到移动应用(Xamarin.Forms)则安装成功。

本文链接:http://www.leo96.com/article/detail/38

欢迎添加个人微信号:Like若所思。

欢迎关注我的公众号,不仅为你推荐最新的博文,还有更多惊喜和资源在等着你!一起学习共同进步!

Xamarin.Forms移动开发系列1:介绍和安装的更多相关文章

  1. Xamarin.Forms移动开发系列5 :XAML标记扩展

    摘要 本文主要讲述Xamarin.Forms中XAML的标记扩展. 前言 在Xamarin.Forms移动开发系列4 :XAML基础一文中提到过XAML标记扩展,本文将对标记扩展进行更深入的了解. 大 ...

  2. Xamarin.Forms教程开发的Xcode的下载安装

    Xamarin.Forms教程开发的Xcode的下载安装 Xamarin.Forms教程开发的Xcode的下载安装,Xcode是开发iOS应用程序的图形化开发工具.本节将讲解Xamarin.Forms ...

  3. Xamarin.Forms移动开发系列3:项目剖析

    摘要 本文主要进行Xamarin.Forms应用程序剖析. 前言 本文介绍Xamarin.Forms应用程序剖析. 由于本系列重点研究对象为Xamarin.Forms,所以对Xamarin.Andro ...

  4. Xamarin.Forms移动开发系列4 :XAML基础

    摘要 本文介绍Xamarin.Forms创建用户界面的语言:XAML基础部分. 前言 本文介绍Xamarin.Forms定义用户界面的语言:XAML. 本篇篇幅较长,主要讲述XAML语法,以及对其他基 ...

  5. Xamarin.Forms移动开发系列2:创建和调试

    摘要 本文将介绍如何通过VS2019创建Xamarin.Forms应用程序,以及如何进行调试. 前言 本文介绍Xamarin.Froms应用程序的创建和调试. 开发环境 1.Visual Studio ...

  6. Xamarin.Forms教程开发Xamarin.Forms应用程序需要的工具

    开发Xamarin.Forms应用程序需要的工具 Xamarin.Forms教程开发Xamarin.Forms应用程序需要的工具,2014年5月8日在发布的Xamrin 3中引进了Xamarin.Fo ...

  7. openresty开发系列12--lua介绍及常用数据类型简介

    openresty开发系列12--lua介绍及常用数据类型简介 lua介绍  1993 年在巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de ...

  8. openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍

    openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/u ...

  9. windows下mongodb基础玩法系列一介绍与安装

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

随机推荐

  1. 短的 Guid 帮助类

    直接贴代码了: /// <summary> /// 短的 Guid 帮助类 /// </summary> public class ShortGuidHelper { #reg ...

  2. Topshelf + QuartzNet 实现挂载在 WIndows Services 中的定时任务

    直接贴代码了: 首先我们可以把所有的 Job 放到一个单独的 DLL 中,好处是可以共享这些业务 Job.比如我们新建一个 QuartzNetDemo.WinService.Jobs 的类库. 然后, ...

  3. Elasticsearch 在业界的大量应用案例

    国内现在有大量的公司都在使用 Elasticsearch,包括携程.滴滴.今日头条.饿了么.360安全.小米.vivo等诸多知名公司.

  4. Winform中对xml文件进行保存时空白节点自动换行问题的解决

    场景 Winform中自定义xml配置文件后对节点进行读取与写入: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10053213 ...

  5. python中的三个读read(),readline()和readlines()

    Python 将文本文件的内容读入可以操作的字符串变量非常容易. 文件对象提供了三个“读”方法: .read()..readline() 和 .readlines(). 每种方法可以接受一个变量以限制 ...

  6. 在ie下转换时间戳出错

    在将特定格式转换为时间戳的时候,我们通常的做法事new Date(str).getTime(), 这个方法在谷歌上是可行的,但是在ie上需要注意一点,就是这个str如果是“2019-11-15”的格式 ...

  7. webpack4 打包静态资源

    demo 代码点此,开始之前,先做点准备工作. 准备工作 准备一个空文件夹,然后执行下列命令: npm init -y npm i -D webpack webpack-cli 然后创建一个 dist ...

  8. maven 学习---使用Maven构建项目

    要构建一个基于Maven的项目,打开控制台,进入到 pom.xml 文件所放的项目文件夹,并发出以下命令: mvn package 这将执行Maven的“package”阶段. Maven构建生命周期 ...

  9. ios 开发学习步骤

    https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/RoadMapiOSCh/Wher ...

  10. excel 导出导入

    /** * 导出 * @param * @param * @return */ public function exportexcel() { set_time_limit(0); ini_set(' ...