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片红,欢迎大家体验并一起讨论
楼主我用过你们的软件,很不错 哇晒楼主好厉害我都想去你公司了
膜拜中。。。。 楼主是超人 顶顶多好 很好哦 不错不错 LZ真是人才 好帖就是要顶