前端代码纯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客户端相关推荐

  1. swift编写的项目源代码_通过在Swift中命名模型来编写简洁的代码

    swift编写的项目源代码 I have been using namespaced models a lot recently in my projects and at work, so I de ...

  2. golang 编写的邮件客户端

    近期开始学习 golang ,编写了邮件客户端: golang编写的邮件客户端[一]基本框架搭建:从smtp服务器获取消息 golang编写的邮件客户端[二]添加读写协程 转载于:https://ww ...

  3. C#高性能大容量SOCKET并发(十一):编写上传客户端

    原文:C#高性能大容量SOCKET并发(十一):编写上传客户端 客户端封装整体框架 客户端编程基于阻塞同步模式,只有数据正常发送或接收才返回,如果发生错误则抛出异常,基于TcpClient进行封装,主 ...

  4. Firefox for iOS现身Github 使用Swift编写

    http://www.cocoachina.com/industry/20141208/10545.html 自从Mozilla新CEO走马上任以来,该公司对于发展路线显然与以往有所不同,对该公司最重 ...

  5. FTP 编写 2:客户端与服务端的连接

    FTP 编写 2:客户端与服务端的连接     首先编写客户端与服务端能进行简单的连接,这个较为容易:     服务端的编写流程是:启动 Winsock.建立套接字.绑定套接字.监听.接收连接.关闭连 ...

  6. 实用的twitter客户端:Twitterrific for Mac

    Twitterrific for Mac是Mac平台上非常优秀的twitter客户端,twitterrific 5 for twitter让你轻松阅读并撰写推文,还支持通知中心.Retina显示屏.内 ...

  7. 使用NodeJS和Angular构建Twitter客户端

    在本教程中,我们将研究如何使用NodeJS构建一个基本的Twitter客户端,以及一个Angular应用程序来显示您的tweets主页时间表. 这是一个快速浏览过程,在设置您自己的Twitter客户端 ...

  8. twitter客户端_3个用于Linux命令行的Twitter客户端

    twitter客户端 Twitter的命令行? 为什么不! 尽管这似乎是解决问题的解决方案,但对于某些人来说,在终端窗口中与Twitter进行交互是有意义的. 与台式机Twitter客户端甚至Twit ...

  9. twitter客户端_使用Twitter进行客户推荐

    twitter客户端 When reading customer testimonials on websites I sometimes wonder how genuine the words a ...

最新文章

  1. 练手扎实基本功必备:非结构文本特征提取方法
  2. 计算机视觉编程——图像分割
  3. oracle对大对象类型操作:blob,clob,nclob,bfile
  4. msSql 利用 xp_cmdshell 删除 创建目录
  5. 【WPF】一个类似于QQ面板的GroupShelf控件
  6. flutter 泛型_flutter用NestedScrollView的项目必须知道的坑
  7. java opencv 读取视频_java使用OpenCV从视频文件中获取帧
  8. Java实现两个文件夹之间的同步(改进版)
  9. 关于MOVE_BASE的map坐标到UTM坐标变化的理解
  10. CNNIC发布第39次《中国互联网络发展状况统计报告》
  11. 记一个应届生的求职旅途
  12. Servlet 实现上传附件(支持多附件)
  13. stm32定时器配置与时间计算公式
  14. 靠一颗火锅丸子弯道超车三全,安井到底凭什么?
  15. 微服务探索:nuoyi-cloud(诺伊)
  16. 小菜鸟学浏览器之感悟
  17. 小程序轮播图_微信小程序层叠轮播图
  18. 为什么要加密所有个人身份信息(PII)
  19. 英文SEO分析竞争对手推广策略实操
  20. 创新实训(2)-Scrapy 学习

热门文章

  1. 十大高薪热门职业健康观察报告出炉!程序员求生欲最强
  2. html表格不随字数变化,设置table中的宽度不随文字改变让其固定
  3. cuda-z/gpu-z/cpu-z工具分析GPU显卡和CPU算力信息
  4. Android TextView的属性与应用
  5. SWIFT电文学习笔记
  6. HDU-1495-非常可乐
  7. 2022PTA天梯赛-全国总决赛试题(个人python解题记录)(更新中)
  8. Springboot+高考志愿填报信息管理系统 毕业设计-附源码251922
  9. Linux物理内存管理——会议室管理员如何分配会议室
  10. matlab调用weka,weka学习(7)-Weka以及Matlab,LibSVM接口