Swift编写–仿照Twitter客户端
前端代码纯Swift编写,基本页面已经编写完成,下面首先将展示一下登录注册模块.后端接口用Python3.0+编写,实现部分接口,数据库采用MySql.项目是完全仿照Twitter 客户端编写.
由于项目时间较长,内容不乏一些OC的编程思想,有需要的随意看看思路吧.由于内容较多,文章简要介绍了一下,列了几张图.不麻烦的话给个赞或者star,谢谢!
前台代码地址:
https://github.com/waitwalker/MyTwitter
后台代码地址:
https://github.com/waitwalker/MyTwitterAPI
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:869685378,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!
一. 项目主要架构模式:
1.1 尽量采用现在比较流行的MVVM(model,view,viewModel),这里举一个简单的使用例子=>关于页面是一个列表页面:
图1.1 关于页面(登录页面右上角按钮触发)
1.2 列表的数据源来自MTTAboutViewModel,MTTAboutViewModel通过一个类方法将数据回调给MTTAboutTwitterViewController, MTTAboutTwitterViewController将数据传给cell(view).MTTAboutTwitterViewController不负责数据的请求以及业务处理.
图1.2 MTTAboutViewModel数据请求处理
1.3 将数据回调给VC:
图1.3 VC获取viewModel回调过来的数据
1.4 view显示
图1.4 view显示数据
二. 项目主要技术和第三方框架:
项目的架构主要采用mvvm模式,布局采用的是SnapKit(3.0+版本).
网络请求用的是Alamofire.
json数据解析用的SwiftyJSON.
事件流的监控用的是RxSwift,之前用过ReactiveCocoa,ReactiveCocoa也有自己的swift版本,两者都属于响应式编程框架,在语法上还是有很大区别.学习RxSwift比一门新的语言学习起来还要难受(个人感觉),不过基本用法掌握后使用起来很方便,具体实现可以参考项目中的代码.
还有其他方面的,比如设计模式什么的,太多,大家有兴趣的可以把项目克隆下来看看.
由于项目时间较长,内容不乏一些OC的编程思想,有需要的随意看看思路吧.
三 .项目结构主要分为:
3.1 登录&注册:
3.1-1 登录注册
3.1-2 登录注册
3.1-3 登录注册
3.1-4 登录注册
3.1-5 登录注册
3.2 首页
首页页面,目前实现首页发推功能
首页页面
发推页面
选择相片
3.3 搜索
搜索页面
3.4 通知
通知页面
3.5 私信
私信页面
四. 后台接口
4.1 后台接口
东西太多,一次写不了太多,未完待续…
作者:偶尔登南山
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:869685378,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!
Swift编写–仿照Twitter客户端相关推荐
- swift编写的项目源代码_通过在Swift中命名模型来编写简洁的代码
swift编写的项目源代码 I have been using namespaced models a lot recently in my projects and at work, so I de ...
- golang 编写的邮件客户端
近期开始学习 golang ,编写了邮件客户端: golang编写的邮件客户端[一]基本框架搭建:从smtp服务器获取消息 golang编写的邮件客户端[二]添加读写协程 转载于:https://ww ...
- C#高性能大容量SOCKET并发(十一):编写上传客户端
原文:C#高性能大容量SOCKET并发(十一):编写上传客户端 客户端封装整体框架 客户端编程基于阻塞同步模式,只有数据正常发送或接收才返回,如果发生错误则抛出异常,基于TcpClient进行封装,主 ...
- Firefox for iOS现身Github 使用Swift编写
http://www.cocoachina.com/industry/20141208/10545.html 自从Mozilla新CEO走马上任以来,该公司对于发展路线显然与以往有所不同,对该公司最重 ...
- FTP 编写 2:客户端与服务端的连接
FTP 编写 2:客户端与服务端的连接 首先编写客户端与服务端能进行简单的连接,这个较为容易: 服务端的编写流程是:启动 Winsock.建立套接字.绑定套接字.监听.接收连接.关闭连 ...
- 实用的twitter客户端:Twitterrific for Mac
Twitterrific for Mac是Mac平台上非常优秀的twitter客户端,twitterrific 5 for twitter让你轻松阅读并撰写推文,还支持通知中心.Retina显示屏.内 ...
- 使用NodeJS和Angular构建Twitter客户端
在本教程中,我们将研究如何使用NodeJS构建一个基本的Twitter客户端,以及一个Angular应用程序来显示您的tweets主页时间表. 这是一个快速浏览过程,在设置您自己的Twitter客户端 ...
- twitter客户端_3个用于Linux命令行的Twitter客户端
twitter客户端 Twitter的命令行? 为什么不! 尽管这似乎是解决问题的解决方案,但对于某些人来说,在终端窗口中与Twitter进行交互是有意义的. 与台式机Twitter客户端甚至Twit ...
- twitter客户端_使用Twitter进行客户推荐
twitter客户端 When reading customer testimonials on websites I sometimes wonder how genuine the words a ...
最新文章
- 练手扎实基本功必备:非结构文本特征提取方法
- 计算机视觉编程——图像分割
- oracle对大对象类型操作:blob,clob,nclob,bfile
- msSql 利用 xp_cmdshell 删除 创建目录
- 【WPF】一个类似于QQ面板的GroupShelf控件
- flutter 泛型_flutter用NestedScrollView的项目必须知道的坑
- java opencv 读取视频_java使用OpenCV从视频文件中获取帧
- Java实现两个文件夹之间的同步(改进版)
- 关于MOVE_BASE的map坐标到UTM坐标变化的理解
- CNNIC发布第39次《中国互联网络发展状况统计报告》
- 记一个应届生的求职旅途
- Servlet 实现上传附件(支持多附件)
- stm32定时器配置与时间计算公式
- 靠一颗火锅丸子弯道超车三全,安井到底凭什么?
- 微服务探索:nuoyi-cloud(诺伊)
- 小菜鸟学浏览器之感悟
- 小程序轮播图_微信小程序层叠轮播图
- 为什么要加密所有个人身份信息(PII)
- 英文SEO分析竞争对手推广策略实操
- 创新实训(2)-Scrapy 学习
热门文章
- 十大高薪热门职业健康观察报告出炉!程序员求生欲最强
- html表格不随字数变化,设置table中的宽度不随文字改变让其固定
- cuda-z/gpu-z/cpu-z工具分析GPU显卡和CPU算力信息
- Android TextView的属性与应用
- SWIFT电文学习笔记
- HDU-1495-非常可乐
- 2022PTA天梯赛-全国总决赛试题(个人python解题记录)(更新中)
- Springboot+高考志愿填报信息管理系统 毕业设计-附源码251922
- Linux物理内存管理——会议室管理员如何分配会议室
- matlab调用weka,weka学习(7)-Weka以及Matlab,LibSVM接口