Xamarin.Forms 入门
介绍
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包括针对各种平台特定功能的预构建解决方案。 有关更多信息,请参见:
- Xamarin.Forms platform-specifics
- Android platform-specifics
- iOS platform-specifics
- Windows platform-specifics
3.4 Material Visual
Xamarin.Forms Material Visual用于将Material Design规则应用于Xamarin.Forms应用程序。 Xamarin.Forms Material Visual利用Visual属性将自定义渲染器有选择地应用于UI,从而使应用程序在iOS和Android上具有一致的外观。
Xamarin.Forms 入门的更多相关文章
- Xamarin.Forms入门学习路线
Xamarin 介绍 Xamarin是一套跨平台解决方案,目的是使用C#语言创造原生的iOS,Android,Mac和Windows应用. Xamarin的三个优势: Xamarin App拥有原生A ...
- Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面
Xamarin.Forms 是一个跨平台的.基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面.Xamarin.Forms 通过 ...
- C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码
前言 什么是Xamarin? Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单. Xamarin的产品简化了针对多种平台的应用开发,包括iOS.Android.Windows P ...
- 使用Xamarin.Forms跨平台开发入门 Hello,Xamarin.Forms 第一部分 快速入门
本文介绍了如何使用VisualStudio开发Xamarin.Forms 应用程序和使用Xamarin.Forms开发应用的基础知识,包括了构建和发布Xamarin.Forms应用的工具,概念和步骤. ...
- Xamarin.Forms跨平台开发入门-第二部分:深入解析
英文原文: https://developer.xamarin.com/guides/xamarin-forms/getting-started/hello-xamarin-forms/deepdiv ...
- Xamarin.Forms快速入门-深入探讨
官网链接 项目介绍 以Notes项目为例,The Notes application consists of one solution containing four projects, as sho ...
- Xamarin.forms 自定义tabview控件
一 问题描述 forms本身ui代码是翻译为平台原生代码,forms按照xaml技术进行对android和ios两种ui模型进行公共抽象出了几种page和view,在空杯博客已经有详细介绍 http: ...
- 使用MvvmCross框架实现Xamarin.Forms的汉堡菜单布局
注:本文是英文写的,偷懒自动翻译过来了,原文地址:Implementing MasterDetail layout in Xamarin.Forms by MvvmCross 欢迎大家关注我的公众号: ...
- 菜鸟的Xamarin.Forms前行之路——绪言
作者入门时间不是很久,差不多一年,期间自学的东西比较杂乱,到目前为止,编程方面的知识比较薄弱.之所以做这个系列,也只是因为做了两个月的Xamarin.Forms方面的东西,由于资料和自身实力的原因,过 ...
随机推荐
- FMX 窗口置顶 或置底 xe10
FMX 窗口置顶 或置底 xe10 Popup 置底 StayOnTop 置顶
- React+SpringBoot项目部署
静态资源访问配置 https://www.jianshu.com/p/b6e0a0df32ec https://segmentfault.com/q/1010000012240531/a-102000 ...
- MVC中Model BLL层Model模型互转
MVC中Model BLL层Model模型互转 一. 模型通常可以做2种:充血模型和失血模型,一般做法是模型就是模型,不具备方法来操作,只具有属性,这种叫做失血模型(可能不准确):具备对模型一定的简单 ...
- 2019 魔域java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.魔域等公司offer,岗位是Java后端开发,因为发展原因最终选择去了魔域,入职一年时间了,也成为了面试官,之 ...
- python入门基础 02
目录 1.while 2.字符串格式化 3.运算符 4.编码初始 总结 1.while # while -- 关键字 (死循环) # # if 条件: # 结果 # # while 条件: # 循环体 ...
- Matlab代码优化之道
一. 遵守Performance Acceleration的规则 关于什么是“Performance Acceleration”请参阅matlab的帮助文件.1.只有使用以下数据类型,matlab才会 ...
- AppDir【创建缓存目录】【建议使用这个工具类】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 创建缓存目录 public static String APP_CACHE = "";// /storage/e ...
- Excel内部编码查看与验证工具
Excel 2007 以前版本 MS-XLS内部结构:BIFF格式 https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms- ...
- C# 里面将字符作为代码计算,主要是运算符号的计算
DataTable dt = new DataTable(); string str="1+2*(5+3)+3-1"; dt.Compute(str, "false&qu ...
- docker启动报错解决及分析(Cannot create container for service *******: cannot mount volume over existing file, file exists /var/lib/docker/overlay2/)
现象: Cannot create container for service *******: cannot mount volume over existing file, file exists ...