「实用推荐」如何为桌面 移动跨平台应用选择UI框架/APP架构?

news2024/9/24 3:27:42

DevExpress .NET MAUI UI组件库提供了用于Android和iOS移动开发的高性能UI组件,该库包括数据网格、图表、日程、数据编辑器、CollectionView和选项卡组件。

获取DevExpress .NET MAUI最新正式版下载(Q技术交流:532598169)

“一次编写,随处运行”——这个口号帮助Java在20世纪90年代中期获得了广泛的普及,从那时起,许多跨平台框架被引入,比如Ionic、Flutter,当然还有.NET MAUI。这些框架允许开发人员使用相同的代码,而不考虑底层操作系统/设备类型。虽然使用单一UI框架可以节省时间/资源,但这种开发策略的有效性和效率完全取决于应用程序的复杂性和用户体验需求。

跨平台应用的另一种技术是共享业务逻辑和服务,但根据设备类型(桌面/移动)使用不同的UI框架。使用这种策略您将共享更少的UI代码,但可以使用每个平台的固有优势来制作高质量的界面(当然,跨平台/设备提供最佳的用户体验)。

如何为桌面 & 移动跨平台应用选择UI框架/APP架构?

单一UI项目:优势与挑战

一个完全跨平台的界面可以帮助开发团队减少开发成本和上市时间,例如使用DevExpress Blazor创建的单个页面可以通过Blazor Hybrid在Web、桌面和移动应用程序中使用。这不仅仅是一个Web组件的WebView封装器:它允许您在.NET环境中运行代码,同时访问设备功能,这种策略可以提高团队的效率,因为您可以共享代码和专业知识。

下面的内容将帮助您创建一个Blazor Hybrid应用程序:Get Started - Blazor Hybrid。

另一个快速发展的跨平台框架是 .NET MAUI,它被设计成支持不同的设备类型(桌面、移动、平板),该框架包括一些有用的特性,用于在不同目标之间共享代码:

  • 项目结构:与Xamarin不同,.NET MAUI将所有跨平台代码合并到一个项目中。
  • 特定于设备的自定义:自适应布局XAML扩展允许您基于设备和操作系统类型更新控件属性。
  • 原生UI元素:在底层.NET被转换成原生的特定于操作系统的元素,确保了特定于设备的用户体验。

这些核心功能可以帮助您创建针对不同设备的单一代码库应用程序。

下面是一个如何为移动和桌面设备指定不同布局的示例(移动一栏,桌面两栏):

<Grid ColumnDefinitions="{OnIdiom Phone='*', Desktop='*,500'}" ... >

这种技术对于相对简单的应用程序非常有效,然而业务应用程序通常需要更复杂的特定于设备的更改。例如桌面客户端可能包含带Ribbon和Docking的复杂视图,这些控件通常被移动设备上的其他元素所取代。

此外,手机上的整个用户流程可能会有很大的不同。例如,本地单元格编辑在桌面应用程序中很常见,但对于移动设备,您可能更喜欢分别显示细节和编辑屏幕,您可以在手机上的许多应用程序(如Contacts)中找到这种模式。

下面的图片说明了一些例子,它可能是具有挑战性的创建一个单一的UI代码库:

当期望的桌面界面和移动界面之间存在显著差异时,创建大量特定于设备的触发器可能会很快使代码复杂化(使其难以开发和维护)。

如何为桌面 & 移动跨平台应用选择UI框架/APP架构?

如何为桌面 & 移动跨平台应用选择UI框架/APP架构?

如何为桌面 & 移动跨平台应用选择UI框架/APP架构?

如何为桌面 & 移动跨平台应用选择UI框架/APP架构?

具有设备特定UI框架的应用程序

使用单一UI平台为代码共享提供了更多的机会,但是在处理具有复杂接口的应用程序时,利用这些优势是一项挑战。如果您正在开发这样的应用程序,可能需要为不同的客户端类型使用单独的UI框架,并重用非可视化代码。这允许您利用每个平台,并且仍然共享相当多的代码。

如何为桌面 & 移动跨平台应用选择UI框架/APP架构?

在上图中,客户端应用程序使用不同的UI框架实现,而两个客户端都使用通用的服务、业务逻辑和服务器端模块。根据您的偏好,可以将所有服务器逻辑实现为单个服务,也可以创建微服务基础设施。

在客户端上,您可以选择最适合的应用程序平台:

  • WPF和WinForms(都是非常成熟的平台)为丰富的桌面用户体验提供了各种重要的特性和功能。
  • 轻量级的.NET MAUI将允许您为Android和iOS创建一个以移动用户体验为中心的应用程序。

由于WPF、WinForms和MAUI都是基于.NET的,您可以可以很容易地重用客户端服务、帮助器和模型类。实现更多代码共享的关键是一个松散耦合的体系结构,模块之间可以相互隔离。MVVM设计模式将帮助您将视图与视图模型解耦,并使用依赖注入轻松引入外部依赖。

如果您采用这种策略,项目结构可能如下所示:

如何为桌面 & 移动跨平台应用选择UI框架/APP架构?

  • Client.Shared - 客户端服务,通用助手
  • DataModel - 数据库对象的模型
  • DesktopClient - WPF/WinForms应用程序
  • MobileClient - .NET MAUI 应用程序

WebApiService - 包含业务逻辑和处理对数据库访问的web服务,注意:您可以使用DevExpress免费Web API服务来实现服务器端安全性和基于角色的数据访问。

DevExpress跨平台 .NET App UI (XAF) 基于类似的想法,数据处理、安全性、业务逻辑和其他共享模块被设计为与视图无关的块,在引入新的可视化客户端时,您可以轻松地重用大部分代码。

总结

为给定平台选择最佳UI框架至关重要,因为它决定了开发过程、用户体验,并最终决定了项目的成功。统一的跨平台UI对于简单的应用程序、最小可行产品(MVPs)或次要设备的卓越用户体验不是主要关注的时候,这或许是一个有效的解决方案。

对于更复杂的应用程序,共享UI代码的可能性可能会受到限制,因为桌面设备和移动设备的用户流存在显著差异。通过分离可视化客户端并利用每个UI平台的优势,您可以开发高影响力的应用程序,来高度满足用户需求。松耦合体系结构不仅允许广泛的代码重用,而且还确保代码保持干净、可维护和可测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1706455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

03 FreeRTOS 同步互斥与通信

1、同步与互斥 一句话理解同步与互斥&#xff1a;我等你用完厕所&#xff0c;我再用厕所。 什么叫同步&#xff1f;就是&#xff1a;哎哎哎&#xff0c;我正在用厕所&#xff0c;你等会。 什么叫互斥&#xff1f;就是&#xff1a;哎哎哎&#xff0c;我正在用厕所&#xff0c;你…

笔试强训week6

day1 Q1 难度⭐⭐ 小红的口罩_牛客小白月赛41 (nowcoder.com) 题目&#xff1a; 疫情来了&#xff0c;小红网购了 n 个口罩。 众所周知&#xff0c;戴口罩是很不舒服的。小红每个口罩戴一天的初始不舒适度为 ai​。 小红有时候会将口罩重复使用&#xff08;注&#xff1a;…

什么是死锁,如何解决?

一、问题解析 死锁是指两个或两个以上的进程&#xff08;或线程&#xff09;在执行过程中&#xff0c;由于竞争资源或者由于彼此通信而造成的一种阻塞的现象&#xff0c;若无外力作用&#xff0c;它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁&#xff0c;这些…

网上有哪些正规的兼职副业赚钱平台?分享10类正规的网上兼职赚钱平台,让你在家也能赚钱~

在如今的快节奏社会中&#xff0c;越来越多的人开始寻求兼职副业来增加收入。而随着互联网的普及&#xff0c;网上赚钱平台成为了许多人选择的方式之一。然而&#xff0c;面对众多的网上赚钱平台&#xff0c;我们要如何辨别哪些是正规可靠的呢&#xff1f;在本文中&#xff0c;…

解读:Mint Blockchain 最新路线图,释放 NFT 生态重磅发展计划

作者&#xff1a;Mint Ecosystem 关于 Mint Blockchain&#xff1a;Mint Blockchain 是一个以太坊原生 L2 网络&#xff0c;核心是发展 NFT 生态和产业&#xff0c;促进 NFT 领域的 Mass Adoption 产生。MintCore 团队致力于将 Mint Blockchain 打造成一个围绕服务 NFT 资产的…

6万转高速主轴电机哪个品牌好?

近年来&#xff0c;随着全球科技的迅猛发展&#xff0c;各个工业领域对高精密零件加工的需求日益旺盛&#xff0c;特别是在医疗、航天航空、通讯技术等领域&#xff0c;对工件的精密性要求达到了前所未有的高度。在这样的背景下&#xff0c;高转速&#xff0c;高精密的高速电主…

yolo 算法 易主

标题&#xff1a;YOLOv10: Real-Time End-to-End Object Detection 论文&#xff1a;https://arxiv.org/pdf/2405.14458ethttps%3A//arxiv.org/pdf/2405.14458.zhihu.com/?targethttps%3A//arxiv.org/pdf/2405.14458 源码&#xff1a;https://github.com/THU-MIG/yolov10 分析…

哈夫曼树,哈夫曼编码和线索二叉树

前言 在数据压缩中,如电脑中的压缩软件,哈夫曼编码应用比较广泛,因此被称作最优二叉树。下面时哈夫曼树的一些定义。 哈夫曼树 定义 代码 下面时哈夫曼树的初始化和创建: #include "stdio.h"#define MAXSIZE 5 typedef struct {int weigth;int parent, lchi…

SSRS中使用QRCoder生成二维码

步骤 1.下载QRCoder.dll 下载地址&#xff1a;https://download.csdn.net/download/wjl7126180/89369398 2.使用gacutil.exe安装QRCoder.dll到GAC(Global Assembly Cache) gacutil.exe是全局程序集缓存工具&#xff0c;需要安装.NET Framework才会存在&#xff0c;如果没有…

质量人,你还在等什么?快来六西格玛培训公司充电吧!——张驰咨询

在竞争激烈的商业环境中&#xff0c;质量成为了企业生存和发展的关键。而六西格玛&#xff0c;作为一种全球公认的质量管理方法论&#xff0c;正在成为越来越多企业追求品质革命的重要工具。而六西格玛培训公司&#xff0c;则成为了这场品质革命中&#xff0c;质量人不可或缺的…

SSH秘钥对简化github项目管理(外加Tortoise配置)

文章目录 使用SSH秘钥对简化github项目管理为什么要用密钥对&#xff1f;如何使用SSH方式克隆版本库呢&#xff1f;补充&#xff1a;使用TortoiseGit&#xff08;小乌龟&#xff09;快速访问github远程仓库&#xff01;结尾&#xff1a;喜欢的小伙伴可以点点关注赞哦 使用SSH秘…

四大策略,五大优势!麒麟信安云助力用户实现VMware替换无忧

2023 年 12 ⽉ 11 ⽇&#xff0c;VMware 正式官宣“所有 VMware by Broadcom 解决⽅案向订阅许可证的过渡&#xff0c;并停⽌销售永久许可证、永久产品的⽀持和订阅&#xff08;SnS&#xff09;续订以及混合购买计划/订阅购买计划积分&#xff08;HPP/SPP&#xff09;”。 202…

根据一棵树的前序遍历与中序遍历构造二叉树(C++)

文章目录 1. 题目描述2. 题目解析 题目来源&#xff1a; 力扣…根据一棵树的前序遍历与中序遍历构造二叉树 1. 题目描述 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二…

python清洗苹果产量数据:从字符串到整型的转化

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、使用普通方法清洗数据 1. 创建字典并遍历 2. 示例代码 3. 结果展示 三、使…

教你网站如何免费实现https

想要实现https访问最简单有效的的方法就是安装SSL证书。只要证书正常安装上以后&#xff0c;浏览器就不会出现网站不安全提示或者访问被拦截的情况。下面我来教大家怎么去获取免费的SSL证书&#xff0c;又如何安装证书实现https访问。 一、选择免费SSL证书提供商 有多家机构提…

计算机SCI期刊,中科院2区,IF=5+,收稿范围广泛!

一、期刊名称 CAAI Transactions on Intelligence Technology 二、期刊简介概况 期刊类型&#xff1a;SCI 学科领域&#xff1a;计算机科学 影响因子&#xff1a;5.1 中科院分区&#xff1a;2区 出版方式&#xff1a;开放出版 版面费&#xff1a;$2600 三、期刊简介 期…

在今日头条上写文章:ChatGPT完整使用教程

了解如何充分运用ChatGPT进行创作 简介 在今日头条上发布文章变得越来越方便。本文旨在详细解析如何运用ChatGPT来创作文章&#xff0c;并提供全方位的使用指南及常见问题的答疑。 第一步&#xff1a;基础准备 确保你已注册今日头条账号。 登录ChatGPT并与你的今日头条账号进…

质量源于设计QbD培训的内容有哪些?

质量源于设计QbD培训的内容丰富而深入&#xff0c;旨在帮助企业深入理解并应用QbD理念&#xff0c;提升产品质量和客户满意度。以下是质量源于设计QbD培训的主要内容&#xff1a; 首先&#xff0c;培训将详细介绍QbD的基本概念、核心内容和实施流程。QbD是一种集成的方法&#…

玻璃加工生产线液压比例控制器

玻璃加工生产线广泛应用于自动化中空玻璃的生产、清洗、磨边、上片、除膜、打胶等各个环节&#xff0c;体现了高度的专业化和自动化水平。在玻璃制造过程中&#xff0c;液压升降机用于玻璃板材的升降和定位&#xff0c;确保玻璃在加工过程中的稳定性。液压系统提供的强大而平稳…

基于直接二元搜索的片上偏振分束器设计 (Nature Photonics, 9, 6, (2015))案例复现

时间—2024.6.08 腾讯会议 智能算法驱动的光子学设计与应用