Xamarin 笔记 - 设置环境(Windows 和 IOS)





5.00/5 (3投票s)
如何设置 Xamarin Notes 环境
引言
我一直使用 .NET 框架和 C# 语言从事 Web 或桌面开发,但在某些项目的前端,Angular 占据主导地位。在突尼斯,我们总是谈论移动应用开发的未来,但我几年前并不擅长转向另一种语言。为了我的社交项目,我尝试使用 AngularJS、Ionic 和 Cordova 等混合框架构建一个示例……但这并不像我想象的那么容易。之后,微软在2016年2月收购了 Xamarin,以实现开放战略,让他们的软件无处不在,而不仅仅局限于 Windows。微软收购 Xamarin 后,对能够将 C# 开发与功能齐全的跨平台移动开发工具结合起来的专业人才的需求不断增长,这些工具能够共享业务逻辑和代码以交付完全原生的应用程序,自2011年以来,它从未停止发展。
所以,Xamarin 是开始开发跨平台应用程序的一个解决方案,它能提供流畅的用户界面,并原生输出到 iOS、Android 甚至是 UWP。
借助 Xamarin.Forms
,用户界面通过XAML这一框架专用于所有三个平台。如果我们能够以最大程度的代码共享为3个平台发布应用,那将非常有趣。
本课程旨在以我自己的学习方式介绍 Xamarin 多平台开发框架。
Xamarin 有丰富的文档,提供免费和付费资源,对我来说,最好的入门资源是 Xamarin University。你可以获得的知识没有限制。
如果我们开始学习 Xamarin,我们会发现两种开发方法:第一种是使用 Xamarin.Forms
,你将在一个可移植项目中用 XAML 和 C# 构建所有内容;或者使用 Xamarin.Android 或 Xamarin.iOS,在这种情况下,我们将使用特定的原生环境,例如 iOS 的 StoryBoard
和 C#。
这是关于 Xamarin 的概述
“Xamarin 不止一件事,而是很多。”
这是对 Xamarin 的简短描述,您可以找到更多描述其优点和缺点的文档。
Xamarin 允许您使用 C# 创建原生应用。
在下一部分,我将从定义硬件和软件要求开始,您将了解到开始构建任何应用程序所需的一切,即使没有移动开发经验。
背景
- 应该具备 C# 基础知识和一些移动开发基础。
设置环境 (Windows 和 IOS)
重要的是要注意,工具发展非常迅速,因此根据您阅读此帖子时的时间,它可能不再那么有用。
如果您想构建 Android 应用程序,您需要在 Windows 上使用 Visual Studio 2017 或 Visual Studio 2017 for Mac;但是如果您构建 iOS 应用程序,您可以在 Windows 上使用 Visual Studio 2017,但必须使用 Mac 进行编译,或者您可以使用 Visual Studio 2017 for Mac,这是苹果公司强制要求的。
- 系统要求
- Windows
- Windows 10
- 酷睿 i7,16 GB 内存(工作起来更舒适,最低要求可以是酷睿 i5,4GB 内存)
- Visual Studio 2017(在这种情况下,版本是企业版还是社区版并不重要)
- Mac
- Mac OS 11(截止撰写本文,但我们总是使用最新版本)
- 酷睿 i7,16 GB 内存,256 GB 固态硬盘
- Visual Studio for Mac
- XCode 9(或最新版本)
- Windows
UWP
它只在 Windows 上运行,安装非常简单,概括来说就是选择“使用 Windows 通用平台进行开发”选项,作为 UWP 开发环境的安装选项,并选择 SDK:IntelliTrace 和 Windows 10 SDK。
环境设置
您可以在此文档中找到 Windows 或 iOS 的所有必需条件
但对于两者,我们都必须安装最新版本的 Visual Studio,截止撰写本文,我们有 Visual Studio 2017(适用于 Windows 和 MAC):https://www.visualstudio.com/
1. Windows
我们可以安装我们想要的任何版本,社区版、专业版或企业版。我们选择使用 .NET 进行移动开发。
2. iOS
Visual Studio for Mac 的安装与 Visual Studio for Windows 非常相似。您可以选择组件,此时,您可能倾向于不安装 Android SDK,因为您可能已经在 Windows 中安装了。如果您不使用 Windows,则必须安装 Android SDK,我下面将描述的过程可以在 Mac 上毫无问题地应用。
如果您使用的是 Mac,网站将检测到并显示社区版或其他版本的下载部分
模拟器不是。模拟器。”
iOS 模拟器不是仿真器。这有很大的区别。有些事情只能在物理设备上运行。
模拟器随 XCode 安装。默认情况下,安装 IDE 时,一些模拟器已经安装,但如果您想添加更多模拟器,请点击代码,然后转到 Preferences,Downloads,组件并选择您想要的模拟器。每当您安装/更新 XCode 时,请运行它。通常,可能会出现一个接受使用条款的窗口。如果您不接受条款,Visual Studio for Mac 可能无法识别模拟器。
欲了解更多详情,请查看 此链接。
1. Android 的先决条件
Android 基本上需要以下组件
- Java 64位 SDK (JDK)
- Android SDK
- Android NDK 是可选的,但无论如何,我安装了它
当您通过 Visual Studio 安装 Xamarin 时,它已经安装了所有这些组件。然而,直到最新版本,安装程序都会下载 32 位 JDK,这是不兼容的。
另一点是,它将它们安装在 C:/Program Files/RepositoryName 中,这不安全,因为您可能会遇到与路径字符大小相关的错误,该错误可能超过 256 个字符,并且在此路径中,您可能会有一个空格,这可能会导致许多问题。
因此,为了防止所有这些问题,您需要在 C:/ 中手动安装每个组件,然后将其路径添加到 Windows 环境变量中。
C:/java
C:/android-sdk
C:/android-ndk
将这些组件放置在环境变量中,可以确保如果我需要使用任何其他也需要这些组件的开发平台,它们将已经存在并可供使用。
1.a. 安装 JDK
您可以从 此链接 下载。
您的安装程序在这里。请确保这是最新版本。
安装完成后,添加以下系统变量
JAVA_HOME
值为 C:/java/jdk {已安装版本}CLASSPATH
值为.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
编辑路径变量,添加以下值: %JAVA_HOME%\bin
现在打开命令行并输入 java -version。如果一切顺利,java 版本将会显示。
1.b. 安装 Android NDK
从此处下载 zip 文件,并将其解压到 C:/android-ndk。添加变量 ANDROID_NDK_HOME
,值为 C:/android-ndk。解压内容时,请确保没有文件夹嵌套在另一个文件夹中。
1.c. Android SDK
在网站上,这将随 Android Studio 一起安装,但在 Visual Studio 2017 中,它将集成,因此无需添加。但您也可以通过此链接添加 Xamarin Android SDK 管理器。
创建跨平台 Xamarin 项目
您可以通过以下步骤开始一个新的 Xamarin.Forms
应用程序:文件 -> 新建 -> Visual C# -> 跨平台 -> 跨平台应用程序。此模板允许您选择启动项目、您计划面向的平台以及您的代码共享策略。
以前我们有这样的显示
可移植类库允许您编写代码并生成可以在多个平台(包括 Xamarin.iOS、Xamarin.Android 和 Windows Phone)之间共享的库。
(https://developer.xamarin.com/guides/cross-platform/application_fundamentals/pcl/)
但是现在,可移植类库已被 .NET Standard 取代
.NET Standard 是 .NET API 的正式规范,旨在在所有 .NET 运行时(如 .NET Framework、Mono 和 .NET Core)上可用。
https://blog.xamarin.com/building-xamarin-forms-apps-net-standard/
您可以包含 Azure 移动应用程序和后端项目。
创建新项目后,我们将得到这个结构
下一步是选择使用模拟器还是您的设备进行编译,但最近,他们宣布了一个新的、更快的工具,用于 Xamarin 和 Visual Studio for Mac 功能,以编译和渲染您的应用程序,那就是安装在您的 iOS 或 Android 设备上的 Xamarin Live Player 应用程序。
模拟器
当我开始研讨会时,在使用模拟器时遇到了许多问题。Windows 10 移动模拟器使用 Hyper-v。我们尝试安装 GenyMotion 作为 Android 模拟器,它使用 Virtual Box。Hyper-v 和 Virtual Box 不能在同一台机器上工作。也许有一些方法可以让他们一起工作,GenyMotion 允许您获得更多设备(供个人使用),但正如我之前所说,它需要特定的配置(在此处查看更多),但培训室中使用的机器不具备此特性。
之后,为了最大限度地减少机器内存的使用,我们使用了我们的手机(三星、华为……),安装了 USB 驱动程序,然后开始编译并查看结果,但对于某些手机来说,这仍然是一个问题。
Xamarin Live Player
Visual Studio 有一个 Forms 预览工具,应该可以实时显示视图,但它从未奏效。每个人都在抱怨它。所以 Visual Studio 发布了另一个工具;Xamarin Live Player。
它在适应现有移动开发体验的同时,为开发人员提供实时反馈。通过将您的设备与 IDE 配对,我们能够持续在设备上部署、测试和调试应用程序。
那么,我们如何使用它呢?
很简单,我们从设备中选择一个新目标开始。
Visual Studio App Center (前身为 Xamarin Test Cloud)
在创建新应用程序和开发之后,开发人员在测试过程中面临许多挑战,即使他们必须通过持续集成交付,您也需要一个可以在许多设备中进行测试的环境。
在移动周期中,应用程序从设计和开发开始,然后我们进行测试和监控,但如果测试不如预期,我们就会回到设计和开发,所以我们尝试迭代开发和维护。
微软提供了许多服务,例如 HockeyApp、Xamarin Test Cloud、Xamarin Insights(但后来加入了 HockeyApp)、Azure Mobile Engagement、Azure App Service 和 CodePush。
连接到 https://appcenter.ms/ 但是在微软创建 Visual Studio App Center 之后,所有这些都集中在一个地方。他们将所有这些不同的解决方案整合到一个中央应用程序中。
要开始构建功能,您可以连接到云中 VSTS 或 GitHub 或 BitBucket 中现有的代码仓库,除了此构建过程之外,它还有一个设备实验室,其中包含 300 多种 Android 和 iOS 设备配置,您可以在其上运行自动化脚本,它支持各种框架,如 Appium、Espresso、XCUITest
和 Xamarin.UITest
。
完成构建任务流程后,您将进入向用户分发阶段,您可以创建组,无论是公司内部测试组还是 Beta 测试人员,并直接向他们发送您的应用以及提供实时应用内更新。您还具有发布到 Google Play 或 iTunes 的能力。一旦准备就绪,连接到应用中心即可。
应用程序发布并使用后,开发人员希望了解其运行情况,并在发生崩溃时易于维护。您可以从应用程序的字段中获取实时堆栈跟踪的崩溃报告。
除了崩溃之外,我们还需要了解一些分析数据,以便更好地了解我们的客户,因此,从应用程序中心,我们可以记录自定义事件。最后,它是一个推送通知的单一来源。
历史
- 2018年1月5日:初始版本