周天宇 发表于 2015-10-20 00:45

unity制作最强APP!第一讲-整体框架选型

首先自我介绍一下,北邮本科毕业后在搜狐畅游工作三年,开始做java服务器,跟主程设计了整个部门服务器的架构,之后两年接触了unity,做了一款坦克类型的产品。现在自己创业,是北京蜂赢国际投资管理有限公司的技术总监,北京爱蜂科技有限公司的CEO。
我们之前一直做金融互联网相关的工作,现在开始做一些产品。

为什么要用unity+java组合?
因为我对这两个最熟悉,其他原生语言不熟,而且公司没有做IOS的技术人员,我相信unity的跨平台特性能帮助我快速出一款产品。说白了就是任性,也没有为什么就做了。


java用了SSH框架,为什么要用这个框架?本身我自己写过一套简单的轻量级的服务器架构,对于app产品很好用,但当时相同时开发app和web版,服务器用一套,就选择了web级别成熟的框架SSH。事实证明很好用,目前为止,一套服务器实现了app和web的需求。


unity用了MVC的设计模式,客户端的框架结构都是自己写的(此处少一个说明图,有时间再补吧):
M层是数据层,所有客户端的数据只在这个层面保存和整理。
V层是显示层,就是界面的索引,说的更通俗一点是prefab中的引用都在这,也就是只有这个脚本跟prefab有直接联系,继承monobehavior,可以挂到prefab上
C层是控制层,是对V层的控制,所有的界面功能逻辑在这进行
一个操作流程大概是:用户点击View=》Control=》Model=》网络向服务器发包=》Model收包并且处理数据=》根据Model中数据控制显示逻辑=》View
其中model到Control是通过事件通知机制完成的,后续会讲到,也是亮点。


文件夹目录结构
目录结构很重要,直接影响到整个项目代码的整洁程度和团队开发效率
首先每个大功能新建一个文件夹:例如行情功能模块,资讯功能模块,动态功能模块,首页,个人信息等等。
每个主要功能模块下面分别有View,Ctrl和Data的子文件夹(此处缺一个截图)


所有的View和Ctrl,Data类都有各自继承的父类,父类规定了每个类的生命周期,而且包含了自动生成,相互之间自动关联,显示隐藏,层级,动画以及一系列其他统一的行为,具体的代码以后会跟大家讲。


还有一些管理类
AppManager:应用的管理类,应用相关的配置,数据的引用都在这
GUIManager:UI管理类,所有UI的打开关闭,层级的控制都在这进行统一管理
HttpNetworkManager:网络层管理类,负责与服务器的通信


说到网络层,不得不说下我用了http的异步方式,所有人会纳闷http异步有什么新奇的,nono,我这个异步是游戏里面经常用的方式,每个返回包都带一个协议号。客户端发送一个请求可以同时接受多个返回包,不是一问一答,而是一问多答。为什么要这么做?以后会给大家讲解。


还做了其他大量工作
比如内嵌网页:一个界面上下为unity,中间嵌入了网页内容
分享功能:sharesdk,现在改用友盟了
推送,更新功能:友盟
界面切换动画效果,
上拉刷新,下拉获取更多。
数据loading效果等等。


今天先说这么多吧,以后给大家一一讲解。


最后说下我们的应用:e片红,欢迎大家体验并一起讨论

244128133 发表于 2016-1-18 14:49

楼主我用过你们的软件,很不错

liugang121 发表于 2016-6-6 17:05

哇晒楼主好厉害我都想去你公司了

luoduo 发表于 2017-1-2 17:58


膜拜中。。。。

675150239 发表于 2017-6-10 18:04

楼主是超人

675150239 发表于 2017-6-10 18:03

顶顶多好

675150239 发表于 2017-6-10 18:06

很好哦

gor 发表于 2017-6-10 18:03

不错不错

gor 发表于 2017-6-10 17:35

LZ真是人才

yu32167 发表于 2017-6-27 08:01

好帖就是要顶
页: [1] 2 3 4 5
查看完整版本: unity制作最强APP!第一讲-整体框架选型