【UWP】Gank 干货集中营 客户端
简介
一个偶然的机会,在网上看到了 《「代码家」的学习过程和学习经验分享》,知道了代码家做的Gank网站。
干货集中营
每日分享妹子图 和 技术干货,还有供大家中午休息的休闲视频
在看过一段时间分享的内容后,今年春节的时候就做了个Gank.io的UWP客户端。
开源地址和下载地址:
- GitHub: https://github.com/lhysrc/gank.uwp
- Windows Store: https://www.microsoft.com/store/apps/9nblggh412kz
欢迎大家下载,系统兼容到10586版本,即2015年11月发布的Windows10。
软件功能和截图可以在GitHub上看到,有问题欢迎大家提issue。🙂
代码
本篇简单介绍代码结构,之后有时间再写一下开发中遇到的问题。
代码总共包含三个项目:
项目名称 | 描述 |
---|---|
GankIO | UI项目 |
GankIO.BackgroundTask | 更新磁贴和通知 |
GankIO.Common | 公共,Models和工具类 |
GankIO 项目
UI项目,因为之前没有想加磁贴和通知的功能,所以名称没有后缀。加了磁贴和通知功能后,公共部分只能抽离出来,就多了两个项目。
整个项目使用MVVM架构,所以包含了Views文件夹和ViewModels文件夹。而Models放到了公共项目(GankIO.Common
)。
Resources文件夹都是些界面的资源字典(ResourceDictionary
)。
路径 | 描述 |
---|---|
/Resources/CategoryTemplate.xaml | 列表中每条干货模板,根据类型不同使用不同模板 |
/Resources/Converters.xaml | 值转换器 |
/Resources/Custom.xaml | Template10的自定义样式 |
/Resources/Styles.xaml | 自定义样式 |
Views:
路径 | 描述 |
---|---|
/UserControls/CategoryUserControl.xaml | 干货ItemTemplate |
/UserControls/FuliUserControl.xaml | 福利ItemTemplate |
/UserControls/WebUserControl.xaml | 为WebView添加了部分操作 |
/Views/CategorysPage.xaml | 全部干货页 |
/Views/MainPage.xaml | 主页,每日视图 |
/Views/Message.xaml | 提示消息的显示 |
/Views/PhotosPage.xaml | 福利页 |
/Views/PostGankDialog.xaml | 提交干货 |
/Views/SettingsPage.xaml | 设置页 |
/Views/Shell.xaml | 汉堡菜单 |
/Views/Splash.xaml | 启动动画 |
/Views/WebViewPage.xaml | 浏览器页面 |
除些之外,因为项目并不大,很多内容都放在了App.xaml.cs
启动文件中。主要包括:
- 全局异常处理
- 后台任务注册
- 小娜功能注册
GankIO.Common
这个项目主要是一些工具类和模型。模型(Models文件夹)都是通过API返回的JSON直接生成的,所以有点乱,如果要了解模型结构,可直接查看 http://gank.io/api 的返回结构就行了。
路径 | 描述 |
---|---|
Services/GankService.cs | Gank.io API操作类 |
Services/SettingsService.cs | 设置操作类 |
Utils/ExceptionHandlingSynchronizationContext.cs | 同步上下文异常处理工具类 |
Utils/Exts.cs | 扩展方法 |
Utils/TileAndToast.cs | 通知和磁贴 |
Utils/Utils.cs | 工具类 |
结语
项目使用 Template10 和 UWPCommunityToolkit 这两个框架。
这两个框架可以说把UWP开发所需的而自身又没有的类或控件都实现了,虽然有些功能还不全,但因为都是开源的,都可以自己修改。
总体来说UWP的开发体验还是很好的,最后希望大家多多开发UWP应用了。
本文发表于博客园。 转载请注明源链接:http://www.cnblogs.com/hjklin/p/gank-uwp.html。
- 若您觉得本文对您有帮助,请点一下“推荐”按钮。你的支持我写作最大的动力。
- 才疏学浅,文章中难免会有不足和错误之处。希望大家能不吝作出批评指正。
- 欢迎转载,但未经本人同意,必须在文章页面明显位置给出作者和原文连接。谢谢配合!