Xamarin.Forms 入门






3.90/5 (6投票s)
Xamarin.Forms 的介绍
概述
最近,我一直在学习 Xamarin 的相关知识。在这个过程中,我遇到了一些问题,并尝试了各种方法来解决它们。为了让 Xamarin 新手避免在这些问题上花费太多时间,我尝试总结我的一些经验并分享出来。
我将重点介绍 Xamarin.Forms 的相关内容,我将它分为以下三个部分
第一部分:Xamarin.Forms 入门
第二部分:Xamarin.Forms 实践
第三部分:Xamarin.Form 的 Prism
这次我将分享第一部分,其余两个部分将持续分享。
Xamarin.Forms 介绍
我们为什么使用 Xamarin
当考虑开发移动应用程序时,通常我们会想到使用 Objective-C、Java 和 Swift 这些语言来开发。因此,对于 .Net 开发人员来说,学习一门新的语言肯定需要额外的努力和时间。此外,如果我们想同时开发 Android 和 iOS 应用程序,我们必须学习各种技术。Xamarin 恰好解决了 .Net 开发人员的麻烦。 Xamarin 提供了一种单一的语言 C#,可以在包括 iOS、Android 和 Windows Phone 在内的多个平台上开发原生应用程序。Xamarin 由 Xamarin.iOS、Xamarin.Android 和 Xamarin.Forms 组成。接下来我将详细讨论 Xamarin.Forms 的相关内容。
什么是 Xamarin.Forms
Xamarin.Forms 是一个跨平台框架,允许开发人员创建可以在 Android、iOS、Windows 和 Windows Phone 上共享的用户界面。用户界面使用目标平台的原生控件进行渲染。对于不同的平台,Xamarin.Forms 应用程序可以保留原生的外观和感觉。
在编写 Xamarin.Forms 应用程序时,大部分代码可以在共享代码中编写,特定于平台的代码可以在每个平台中编写。处理共享代码有两种方法。一种是使用可移植库,另一种是使用共享项目。在可移植类库 (PCL) 中,当代码被编译时,会为每个平台生成程序集 (dlls)。在共享项目中,许多不同的应用程序项目可以引用公共代码。创建用户界面有两种方法。一种是使用 C# 代码,另一种是使用 XAML。因此,对于那些有 WPF 经验的人来说,更容易开始使用 Xamarin.Forms。虽然 Xamarin.Forms 中的控件已经足够,但你也可以在每个平台中实现渲染器来创建适当的用户界面。
移动应用程序和桌面应用程序有什么区别
我们可以看到,移动应用程序和桌面应用程序之间存在许多差异。对于刚开始开发移动应用程序的开发人员来说,最好改变观点和习惯。例如,我们习惯于使用复选框来指示我们在桌面应用程序中是否选择了任何东西,而我们在移动应用程序中使用开关。除了控件样式不同之外,用户行为也不同。点击鼠标被点击屏幕取代。
Xamarin.Forms 的开发环境
<1>配置环境变量
<2>添加 JAVA_HOME 变量
<3>修改 CLASSPATH 变量
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
<4>修改 Path 变量
打开 Android SDK Manager 以更新 Android SDK Platform-tools 并安装 API
- 更新 Visual Studio for Xamarin.Forms
通过 Xamarin.Forms 创建应用
- 创建一个 Xamarin.Forms 项目
- Xamarin.Forms 项目的结构
<1>可移植类库 (PCL)
共享代码在此项目中编写,我们可以添加 xaml 页面来显示 UI,就像 WPF 应用程序一样。
<2>特定平台(Android、iOS、Windows、WinPhone)
对于每个平台,我们可以添加特定代码,例如启动画面等等。
- 显示 “Hello Xamarin”
<1>在 HelloPage.xaml 中,添加一个 label 控件并将文本设置为 “Hello Xamarin”。
<2>在 App.cs 中,将 MainPage 设置为 HelloPage 类。
- 在模拟器上运行应用
我们可以在 Visual Studio 中创建默认模拟器。我们也可以使用 Genymotion,它比默认模拟器更快。
摘要
通过以上介绍,我们已经能够使用 Xamarin 创建一个应用程序。下次我将分享第二部分,从中我们可以学习 Xamarin.Forms 的一些实用技巧和功能,例如如何更改控件的默认样式,如何在 PCL 项目中使用特定平台的方法,如何添加 Jar 包和服务引用等等。