介绍

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. NFS实现多服务器文件共享

    服务器 1.安装所需的软件包 yum install -y rpc-bind nfs-utils 2.设为开机自启动 systemctl enable nfs systemctl enable rpc ...

  2. linux上文件的上传和下载

    现整理一篇linux上文件的上传和下载 第一种方式就是在windos上安装工具 如: 工具如何使用我就不赘述了,easy 第二种方式就是使用liux的命令(首先是文件上传) 上传文件(首先创建文件夹如 ...

  3. java基础 Arrays

    package cn.mantishell.day08.demo04; import java.util.Arrays; /** * java.util.Arrays是一个与数组相关的工具类,里面提供 ...

  4. bat命令复制文件

    del HDT675.applicationdel setup.exedel publish.htmRD /S /Q "Application Files"xcopy /E \\1 ...

  5. SpringbBoot之JPA批量更新

    菜鸟学习,不对之处,还请纠正. 需要批量更新数据库的某些数据,项目使用的是JPA,刚对mybatis熟悉一点,又换成了JPA... 有点懵. 查询了一番之后,发现可以使用 In findByIdIn( ...

  6. Java 之 request 案例——用户登录

    用户登录案例需求: 1.编写login.html登录页面 username & password 两个输入框 2.使用Druid数据库连接池技术,操作mysql,db1数据库中user表 3. ...

  7. Java里面获取当前服务器(linux环境)的IP地址--与请求者的真实IP

    package com.wfd360.Util; import javax.servlet.http.HttpServletRequest; import java.net.Inet4Address; ...

  8. 【DATAGUARD】物理dg配置客户端无缝切换 (八.4)--ora-16652 和 ora-16603错误

    [DATAGUARD]物理dg配置客户端无缝切换 (八.4)--ora-16652 和 ora-16603错误 一.1  BLOG文档结构图       一.2  前言部分   一.2.1  导读 各 ...

  9. java Excel文件流输出(后台)没有下载提示

    /**方案: *1. *问题源头应该是前端用的是ajax方式请求路径,要想出现下载Excel的弹窗,我个人理解应该是等同于重新打开一个窗口,而ajax默认不动页面直接将值返回,所以没有提升下载. *解 ...

  10. equals与hashCode

    当我们需要将自己的类存入HashMap或HashSet时一般都要重写其equals与hashCode方法,但在重写时要符合规范否则会出问题. 1.equals方法 首先equals方法需要满足如下几点 ...