IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> SwiftUI 开源项目 - ZYSwiftUIFrame 自带服务端的完整示例项目(更新中...) -> 正文阅读

[移动开发]SwiftUI 开源项目 - ZYSwiftUIFrame 自带服务端的完整示例项目(更新中...)

Gitee 地址:https://gitee.com/szluyu99/ZYSwiftUIFrame

Github 地址:https://github.com/szluyu99/ZYSwiftUIFrame

本项目主要维护 Github 地址,同时会同步将其推送到 Gitee 地址(相当于镜像)

前言

我并不是专业的 IOS 开发人员,之前也没有接触过 IOS,但是因为某些原因,团队需要开发一个 IOS App,然后我便接触到了 Swift 和 SwiftUI,当然,我并没有学 OC 和 UIKit。该项目中几乎没有用到 UIKit 相关的东西(有也是谷歌搜索到了代码直接复制一下),基本上完全使用 SwiftUI 进行开发。

总觉得以后应该不会再和 IOS 有太多交集,但是好歹也是钻研了这么一段时间的技术,总希望能留下点什么东西,因此就诞生了这个项目。我试图将我开发 IOS 时学习和积累到的知识点和技术尽可能的集成到这个项目中,该框架也许会不停的迭代(如果我还有机会接触 IOS 的话)。

再次申明,我并不是专业的 IOS 开发人员,很多代码风格和思维,也许都是其他项目的开发经验,欢迎探讨。

希望我的项目能为 SwiftUI 带来一丝丝微弱的光芒。

主要特色

从我这么一个对 IOS 完全零基础的人的角度来看,我之前查询过很多项目,但是很多项目的功能性都是比较偏向某面,大多都是着力于视图层或其他功能性,很少能遇到比较完整的项目(可能我的看法并不专业)。而且 SwiftUI 开发中必然会遇到一些拦路虎如:下拉刷新、上拉加载、显示网络图片等,主要原因是因为 SwiftUI 目前还不是特别成熟,但是它作为未来的趋势是必然的。

该 SwiftUI 项目包含完整的:网络请求、下拉刷新、上拉加载更多、数据增删改查、图片上传、图片预览等功能(后续还会继续更新),代码中抽取成了框架体系:例如通用 ViewModel 等,很适合进行快速开发。

项目特色:

  • 拥有服务端项目,为了模拟实际的项目场景,我使用 Go 开发的
  • 包含网络请求部分,结合上面服务端,实现了对数据库数据的增删改查
  • 即使不运行服务端,项目也有单机 Demo,供你快速了解其主要功能
  • 封装了丝滑的上拉刷新、下拉加载更多(基于 BBSwiftUIKit),也可以模仿我的代码自行封装
  • 代码优雅、风格整洁,注释比较详细
  • 待更新…

项目技术

IOS 技术栈:基于 Swift 语言

  • SwiftUI

服务端技术栈:基于 Go 语言

  • Web 框架:Gin
  • ORM 框架:GORM

项目预览

1. 不需要开启服务端

不需要开启服务端,功能是下面 “需要开启服务端” 功能的简化版,仅用于本地演示,并且不涉及到数据请求。

1.1 用户列表

下拉刷新、上拉加载更多:

新增、删除、修改:

帮助、搜索:

2. 需要开启服务端

开启服务端的数据,模拟真实的请求后台,实现对数据库的操作。

2.1 消息列表

上拉、下拉、删除:

2.2 会议列表

显示帮助、删除、下拉刷新、搜索:

更新、新增:

图片上传、预览、删除、保存:

运行教程

运行 IOS 项目

这个应该不用多说了,项目拉下来,用 Xcode 打开 ZYSwiftUIFrame.xcodeproj 文件。

运行前需要修改签名等操作。


项目跑起来后,不需要服务端的界面是可以直接查看的,需要服务端的界面,还需要运行起服务端。

当服务端跑起来后,将 Api/NetworkManager.swift 中的 NetworkAPIBaseURL 修改为你当前的局域网 IP。

(端口默认是 8080,不需要修改)

保证你的真机和运行起服务端的电脑在同一个局域网下,或者直接使用模拟器运行项目。

查看电脑当前 IP 的方法:在网络偏好设置查看。

运行服务端项目

需要有 Go 语言的环境。

项目我已经打包好了,就是 go_api_server 目录下的 main 文件,终端中 ./main 即可运行。

运行前记得修改 config 目录中的配置文件,修改成自己的数据库名、用户名、密码。

数据库相关

我本地数据库用的 MySQL 8。

Golang 的数据库框架有自动迁移功能,在连接上数据库的基础上,直接运行起项目会自动建表。

我也在代码中初始化生成了一些测试数据,因此只要数据库连接正常,项目运行起来,就有数据了。

当然,我也提供了 SQL 语句(结构 + 数据),在项目的 sql 文件中。

文件上传目录

文件上传到本地,目前写死是 uploads/file 目录。

后台接口文档

该接口文档由 ApiPost 生成:

https://console-docs.apipost.cn/cover.html?url=36557b241534caed&salt=6015c9b386e133e0

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:19:35  更:2022-04-06 23:20:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 21:44:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码