博客
关于我
.NET之全平台一体化的体验
阅读量:442 次
发布时间:2019-03-06

本文共 1319 字,大约阅读时间需要 4 分钟。

一、前言

最近利用空闲时间研究了一番Xamarin技术,发现其提供的支持非常到位,因此决定尝试全面的开发,目标是实现“进可攻,退可守”。

全平台开发的概念是指开发的APP能够在Android、iOS、WP等移动端运行,同时又能在Windows和Linux等桌面端运行。这种开发模式的优势在于既能覆盖多个平台,又能灵活应对不同环境的需求。

二、简单实现

为了展示项目的基本实现情况,以下将通过文字描述截图内容。目前,我的开发工作主要集中在Android平台上,而iOS平台由于缺乏实际设备,暂时无法进行测试。至于UWP(Universal Windows Platform),由于设备升级到Windows 10 10568版本的问题,目前也无法实时调试,计划在未来阶段补上开发。

需要注意的是,标题中的“全平台”并非完全覆盖所有平台,但通过合理选择和配置,确实可以实现跨平台的开发需求,这并非虚构的夸张,而是真实可行的实现方案。

三、进可攻,退可守

“进可攻”主要体现在Web端的开发上。在Linux环境下,我采用Jexus(免安装Mono版)和TinyFox来部署后台网站和数据服务。虽然初衷上曾考虑使用ASP.NET Core,但由于一时难以适应,因此暂时搁置了这一选择。

“退可守”则体现在Windows Server的IIS部署上。需要强调的是,我的开发环境中并未安装Mono,这一点可能会让一些观众感到意外,但这正是实现跨平台开发的关键所在。

四、项目结构与细节

项目目前包含14个子项目,分布在5个项目文件夹中,包括多个测试项目。详细项目结构如下:

  • 01-APP:用于开发移动端应用,目前仅支持Android。
  • 02-Website:后台管理网站,基于NancyFX框架,使用自带的Forms Authentication进行身份验证。
  • 03-DataService:用于提供数据服务的接口,目前开发了两套解决方案,一套基于MVC框架,另一套基于NancyFX(使用OWIN)。
  • 04-Core:数据访问和模型层,采用Dapper进行数据库操作。
  • 05-Logic:业务逻辑层,主要包含Nancy和应用程序的基本使用方法,相关内容可参考我的前期博客。

此外,项目中还包含多个测试项目,使用xUnit进行测试,但目前前三个项目文件夹的测试尚未完成,UI测试的工作也处于探索阶段。

五、测试与学习

在此过程中,我对测试工具有了一番了解,了解到Evolve 2016上展示的Test Cloud Live功能非常有趣。然而,目前找不到相关资料,只能通过邮件联系相关人员,得到了以下回复:“请关注我们的博客,稍后会对所有人开放Test Cloud Live功能。”这让人既期待又有点失望。

六、运行图示

以下是部分项目的运行界面,虽然界面设计较为简陋,但功能已经基本实现。下方是Android端的界面,上方是基于Jexus 5.8.1.3在Linux环境下运行的Web端。

结语

目前项目仍处于开发初期,存在许多待解决的问题和bug。源码目前尚未上传到github,计划在6月底或7月初进行发布。之后将定期更新项目进展,并分享开发心得。

转载地址:http://oexkz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现BCC校验计算(附完整源码)
查看>>
Objective-C实现bead sort珠排序算法(附完整源码)
查看>>
Objective-C实现BeadSort珠排序算法(附完整源码)
查看>>
Objective-C实现bellman ford贝尔曼福特算法(附完整源码)
查看>>
Objective-C实现bellman-ford贝尔曼-福特算法(附完整源码)
查看>>
Objective-C实现bellman-ford贝尔曼-福特算法(附完整源码)
查看>>
Objective-C实现bellmanFord贝尔曼-福特算法(附完整源码)
查看>>
Objective-C实现BellmanFord贝尔曼-福特算法(附完整源码)
查看>>
Objective-C实现bezier curve贝塞尔曲线算法(附完整源码)
查看>>
Objective-C实现bfs 最短路径算法(附完整源码)
查看>>
Objective-C实现BF算法 (附完整源码)
查看>>
Objective-C实现Bilateral Filter双边滤波器算法(附完整源码)
查看>>
Objective-C实现binary exponentiation二进制幂运算算法(附完整源码)
查看>>
Objective-C实现binary search二分查找算法(附完整源码)
查看>>
Objective-C实现binary tree mirror二叉树镜像算法(附完整源码)
查看>>
Objective-C实现binary tree traversal二叉树遍历算法(附完整源码)
查看>>
Objective-C实现BinarySearchTreeNode树算法(附完整源码)
查看>>
Objective-C实现binarySearch二分查找算法(附完整源码)
查看>>
Objective-C实现binomial coefficient二项式系数算法(附完整源码)
查看>>
Objective-C实现binomial distribution二项分布算法(附完整源码)
查看>>