使用Xamarin.Forms的企业应用程序模式(电子书)--介绍

5250阅读 0评论2017-10-10 renxiao2003
分类:Android平台

无论平台如何,企业应用开发人员都面临着几个挑战:

考虑到这些,建立可以随时间轻松修改或扩展的应用程序很重要。 设计这种适应性可能很困难,因为它需要允许应用程序的各个部分独立开发和测试的架构,而不会影响应用程序的其余部分。

许多企业应用程序非常复杂,需要多个开发人员。 决定如何设计应用程序可能是一个重大挑战,以便多个开发人员可以独立工作在不同的应用程序上,同时确保在集成到应用程序中时,这些程序无缝集成。

设计和构建应用程序的传统方法导致所谓的单片应用程序,其中组件紧密耦合,并且它们之间没有明确的分离。 通常,这种单一的方法导致难以维护的应用程序,因为可能难以在不破坏应用程序中的其他组件的情况下解决错误,并且可能难以添加新功能或替换现有功能。

对这些挑战的有效补救是将应用程序分解成离散的,松散耦合的组件,可以轻松地集成到应用程序中。 这种方法提供了几个好处:

但是,将应用程序分割成离散的,松散耦合的组件时,还有许多问题需要解决。 这些包括:

本指南提供有关这些问题的指导,并重点介绍使用Xamarin.Forms构建跨平台企业应用程序的核心模式和架构。 该指南旨在通过解决常见的Xamarin.Forms企业应用程序开发场景,并通过支持Model-View-ViewModel(MVVM)模式来分离演示,演示逻辑和实体的关注,从而帮助生成适应性强,可维护和可测试的代码。

例应用程序

本指南包括一个示例应用程序eShopOnContainers,它是一个包含以下功能的在线商店:

示例应用程序架构

1-1提供了示例应用程序架构的高级概述。

 

1-1eShopOnContainers高级架构

示例应用程序附带三个客户端应用程序:

有关Web应用程序的信息,请参阅

示例应用程序包括以下后端服务:

这些后端服务作为使用ASP.NET Core MVC的微服务实现,并在单个Docker主机中部署为唯一容器。 总而言之,这些后端服务被称为eShopOnContainers参考应用程序。 客户端应用程序通过表示状态转移(REST)Web界面与后端服务进行通信。有关微服务和Docker的更多信息,请参阅Containerized微服务.

有关后端服务实现的信息,请参阅 .。

移动应用

本指南的重点是使用Xamarin.Forms构建跨平台企业应用程序,并使用eShopOnContainers移动应用程序作为示例。 图1-2显示了eShopOnContainers移动应用程序中提供前面列出的功能的页面。

 

1-2eShopOnContainers手机应用程序

移动应用程序使用eShopOnContainers参考应用程序提供的后台服务。 但是,它可以配置为为希望避免部署后端服务的用户使用来自模拟服务的数据。

eShopOnContainers手机应用程序执行以下Xamarin.Forms功能:

有关此功能的更多信息,请参阅Xamarin开发人员中心上的Xamarin.Forms文档,以及

此外,eShopOnContainers手机应用程序中的某些类提供了单元测试。

移动应用解决方案

eShopOnContainers移动应用程序解决方案将源代码和其他资源组织到项目中。 所有项目都使用文件夹将源代码和其他资源组织到类别中。 下表列出了构成eShopOnContainers手机应用程序的项目:

项目

描述

eShopOnContainers.Core

该项目是包含共享代码和共享UI的便携式类库(PCL)项目。

eShopOnContainers.Droid

该项目拥有Android特定代码,是Android应用的入门点。

eShopOnContainers.iOS

该项目拥有iOS专用代码,是iOS应用程序的入门点。

eShopOnContainers.UWP

该项目拥有通用Windows平台(UWP)特定代码,是Windows应用程序的入门点。

eShopOnContainers.TestRunner.Droid

该项目是eShopOnContainers.UnitTests项目的Android测试运行器。

eShopOnContainers.TestRunner.iOS

这个项目是eShopOnContainers.UnitTests项目的iOS测试运行器。

eShopOnContainers.TestRunner.Windows

该项目是eShopOnContainers.UnitTests项目的通用Windows平台测试运行器。

eShopOnContainers.UnitTests

该项目包含eShopOnContainers.Core项目的单元测试。

来自eShopOnContainers手机应用程序的课程可以重新用于任何Xamarin.Forms应用程序,很少或根本没有修改。

eShopOnContainers.Core 项目

eShopOnContainers.Core PCL项目包含以下文件夹:

文件夹

描述

Animations

包含能够在XAML中使用动画的类。

Behaviors

包含暴露于视图类的行为。

Controls

包含应用程序使用的自定义控件。

Converters

包含将自定义逻辑应用于绑定的值转换器。

Effects

包含EntryLineColorEffect类,用于更改特定Entry控件的边框颜色。

Exceptions

包含自定义Service AuthenticationException

Extensions

包含VisualElementIEnumerable 类的扩展方法。

Helpers

包含应用程式的辅助类。

Models

包含该应用程序的模型类。

Properties

包含AssemblyInfo.cs.NET程序集元数据文件。

Services

包含实现提供给应用程序的服务的接口和类。

Triggers

包含BeginAnimation触发器,用于在XAML中调用动画。

Validations

包含验证数据输入的类。

ViewModels

包含暴露于页面的应用程序逻辑。

Views

包含应用程序的页面。

平台项目

平台项目包含效果实现,自定义渲染器实现和其他平台特定的资源。

概要

Xamarin的跨平台移动应用开发工具和平台为B2E,B2B和B2C移动客户端应用提供了全面的解决方案,能够在所有目标平台(iOS,Android和Windows)之间共享代码,并有助于降低总成本 的所有权。 应用程序可以共享其用户界面和应用程序逻辑代码,同时保留本机平台的外观和感觉。

企业应用开发人员面临着几个挑战,可以在开发过程中改变应用的架构。 因此,重要的是构建一个应用程序,以便随着时间的推移可以修改或扩展。 设计这种适应性可能很困难,但通常包括将应用程序分割成离散的,松散耦合的组件,可以轻松地集成到应用程序中。

上一篇:使用Xamarin.Forms的企业应用程序模式(电子书)--前言
下一篇:使用Xamarin.Forms的企业应用程序模式(电子书)--MVVM