介绍

Xamarin.Forms是一个开源UI框架,Xamarin.Forms允许开发人员从单个共享代码库构建Android,iOS和Windows应用程序

Xamarin.Forms允许开发人员使用XAML和C#后台代码创建用户界面,这些界面在每个平台上均被渲染为高性能的本机控件

1、Xamarin.Forms适用于谁:
Xamarin.Forms适用于具有以下目标的开发人员:

  • 跨平台共享UI布局和设计。
  • 跨平台共享代码,测试和业务逻辑。
  • 使用Visual Studio在C#中编写跨平台应用程序。

2、Xamarin.Forms如何工作

Xamarin.Forms提供了一个一致的API,用于跨平台创建UI元素,该API可以用XAML或C#实现,并且支持诸如Model-View-ViewModel(MVVM)之类的模式的数据绑定。

在运行时,Xamarin.Forms利用平台渲染器将跨平台的UI元素转换为Android,iOS和UWP上的本机控件,允许开发人员获得本机的外观,感觉和性能,同时实现跨平台共享代码的好处。

Xamarin.Forms应用程序通常包含一个共享的.NET Standard库和各个平台项目。 共享库包含XAML或C#视图以及任何业务逻辑,例如服务,模型或其他代码。 平台项目包含应用程序需要的任何特定于平台的逻辑或程序包。

Xamarin.Forms使用Xamarin在各个平台上本地运行.NET应用程序。

3、其他工具
Xamarin.Forms具有庞大的NuGet软件包生态系统,可以为应用程序添加各种功能。 本节介绍了一些常用的NuGet软件包。

3.1 Xamarin.Essentials

Xamarin.Essentials是一个为本地设备功能提供跨平台API的库,像Xamarin本身一样,Xamarin.Essentials是一种抽象,它简化了访问本机实用程序的过程。 Xamarin.Essentials提供的一些实用工具示例包括:

  • Device info
  • File system
  • Accelerometer
  • Phone dialer
  • Text-to-speech
  • Screen lock

3.2 Shell
Xamarin.Forms Shell通过提供大多数应用程序所需的基本功能来降低移动应用程序开发的复杂性。 Shell提供的功能的一些示例包括:

  • Common navigation experience
  • URI-based navigation scheme
  • Integrated search handler

3.3 Platform-specifics

Xamarin.Forms提供了一个通用API,可跨平台呈现本机控件,但是特定平台可能具有其他平台上不存在的功能。 例如,Android平台具有用于ListView中的快速滚动的本机功能,但iOS没有。 Xamarin.Forms特定于平台的功能使您可以利用仅在特定平台上可用的功能,而无需创建自定义渲染器或效果。

Xamarin.Forms包括针对各种平台特定功能的预构建解决方案。 有关更多信息,请参见:

3.4 Material Visual

Xamarin.Forms Material Visual用于将Material Design规则应用于Xamarin.Forms应用程序。 Xamarin.Forms Material Visual利用Visual属性将自定义渲染器有选择地应用于UI,从而使应用程序在iOS和Android上具有一致的外观。

Xamarin.Forms 入门的更多相关文章

  1. Xamarin.Forms入门学习路线

    Xamarin 介绍 Xamarin是一套跨平台解决方案,目的是使用C#语言创造原生的iOS,Android,Mac和Windows应用. Xamarin的三个优势: Xamarin App拥有原生A ...

  2. Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面

    Xamarin.Forms 是一个跨平台的.基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面.Xamarin.Forms 通过 ...

  3. C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码

    前言 什么是Xamarin? Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单. Xamarin的产品简化了针对多种平台的应用开发,包括iOS.Android.Windows P ...

  4. 使用Xamarin.Forms跨平台开发入门 Hello,Xamarin.Forms 第一部分 快速入门

    本文介绍了如何使用VisualStudio开发Xamarin.Forms 应用程序和使用Xamarin.Forms开发应用的基础知识,包括了构建和发布Xamarin.Forms应用的工具,概念和步骤. ...

  5. Xamarin.Forms跨平台开发入门-第二部分:深入解析

    英文原文: https://developer.xamarin.com/guides/xamarin-forms/getting-started/hello-xamarin-forms/deepdiv ...

  6. Xamarin.Forms快速入门-深入探讨

    官网链接 项目介绍 以Notes项目为例,The Notes application consists of one solution containing four projects, as sho ...

  7. Xamarin.forms 自定义tabview控件

    一 问题描述 forms本身ui代码是翻译为平台原生代码,forms按照xaml技术进行对android和ios两种ui模型进行公共抽象出了几种page和view,在空杯博客已经有详细介绍 http: ...

  8. 使用MvvmCross框架实现Xamarin.Forms的汉堡菜单布局

    注:本文是英文写的,偷懒自动翻译过来了,原文地址:Implementing MasterDetail layout in Xamarin.Forms by MvvmCross 欢迎大家关注我的公众号: ...

  9. 菜鸟的Xamarin.Forms前行之路——绪言

    作者入门时间不是很久,差不多一年,期间自学的东西比较杂乱,到目前为止,编程方面的知识比较薄弱.之所以做这个系列,也只是因为做了两个月的Xamarin.Forms方面的东西,由于资料和自身实力的原因,过 ...

随机推荐

  1. Spring Boot整合Mybatis完成级联一对多CRUD操作

    在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能.关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Myb ...

  2. 基于hystrix的线程池隔离

    hystrix进行资源隔离,其实是提供了一个抽象,叫做command,就是说,你如果要把对某一个依赖服务的所有调用请求,全部隔离在同一份资源池内 对这个依赖服务的所有调用请求,全部走这个资源池内的资源 ...

  3. linux下nginx部署以及配置详解

    1.下载源码包解压编译 启动多个,请看:在linux系统下安装两个nginx以及启动 查看nginx包路径:http://nginx.org/download/,两种下载方式: 1.在官网下载使用Xf ...

  4. 在Centos7中创建.net core 项目,并用Apache做代理服务器部署.net core项目

    这一篇实例记录一次用Centos7创建并部署.net core项目的过程,希望能帮到用到的小伙伴. Kestrel 是 ASP.NET Core 项目模板中包括的默认 Web 服务器,Kestrel可 ...

  5. Resharper2019 1.2破解教程

    下载安装 Resharper 去Resharper官网下载安装 Resharper官网地址 Resharper下载地址 破解 (破解dll百度网盘链接)[https://pan.baidu.com/s ...

  6. k8s--scope.yaml

  7. 大数据量高并发的数据库优化,sql查询优化

    一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. ...

  8. PHP Lumen Laravel 解决validate方法自定义message无效的问题

    /** * 由于 \Laravel\Lumen\Routing\ProvidesConvenienceMethods::validate 在验证不通过时, * 抛出 \Illuminate\Valid ...

  9. PHP、JS 中 encode/decode

    PHP : urlencode() urldecode() JS : encodeURIComponent() decodeURIComponent() 同一字符串,编码后的结果一样 1

  10. xadmin集成DjangoUeditor,以及编辑器的视频路径配置

    稍微讲一下DjangoUeditor的配置,因为之前去找配置的时候东拼西凑的,所以自己写一下自己一步步配置的过程.首先我是再github上去下载下来,因为是当作第三方插件集成到xadmin中,所以不用 ...