同事想让我帮他做discuz论坛的iOS应用开发,在github上看到15年有公司曾经做过一个discuz的插件,叫做bigApp,目的就是快速的把discuz转成iOS应用,但不知为何后来就突然死亡了。
基于github上还有残存的代码,和同事商量觉得对这部分代码进行评估和调研。
与我而言,我更倾向前端 + leancloud(或者Parse Server) + iOS这种把前端,服务器端和手机端隔离独立的方案, 把leancloud(或者Parse Server)作为数据中心来进行开发,这也是我看到的掘金提出的方案。
不过因为自己不太懂前端,服务器端的技术,不可能一个人把所有方案都写出来。而同事更倾向于购买现成的源代码,方案等。所以他最终选择了discuz这个基于论坛又有着丰富插件/模版的方案来作为他web端的产品。
不过我对php更是不了解了,所以只能摸着石头过河了。而这份bigApp的源码就相当于一个引导了。
再决定这个方案后,那么就开始评估吧。
安装XAMPP
- https://www.apachefriends.org/zh_cn/index.html
- 去官网上下载安装包即可(PHP 5.6.30版本,因为使用的是discuz3.2),如果是首次安装,应该会非常顺利。如果之前安装过或者单独安装过组件,可能会遇到一点小问题,例如mysql端口被占用等等,google下解决即可。
安装discuz
- http://www.discuz.net 下载3.2 简体 UTF8版本。
- 解压后把upload文件夹copy至XAMPP安装目录下htdocs的目录里,并修改为你喜欢的名字,例如BBS
- 在浏览器地址栏输入localhost/bbs,即可进入安装界面。
- 新安装的话,基本一路Next下去即可,遇到文件写权限问题添加权限即可。
- 可以参考 http://jingyan.baidu.com/article/b87fe19eb57ff252183568d9.html
安装bigApp插件
- 去https://github.com/Inspirelife96/BigApp-Addon下载插件。
- 解压,找到Discuz目录下的bigapp文件夹, 将bigapp文件夹上传到“$DISCUZROOT/source/plugin/”下;
- 将“$DISCUZROOT/source/plugin/bigapp/ repfiles/iyz_index.php”拷贝到“$DISCUZROOT/api/mobile/”中;
- 登录Discuz插件后台,安装插件,启用插件。然后在已启动的插件里面就可以看到BigApp了。
- 事实上上面好多功能都已经不能用了。需要一个个调查下。
下载BigApp_Discuz_iOS
- 去https://github.com/Inspirelife96/BigApp_Discuz_iOS下载。
- 解压,打开Clan.xcodeproj即可。
编译
- 编译只有一个问题,如下,把WeakReferences in Manual Retain Release改成Yes即可
配置
- 找到ThemeStyle.plist,把YZBaseURL修改为http://localhost/BBS/ (注意,BBS是你修改的Discuz论坛的目录名字)
- 事实上还有其他很多配置,但当前目的仅仅是运行程序,所以进修改了网站的地址,当前是本地的Discuz。
模拟器结果
基本的样子还是有的,但很多数据还是不正确。
- 此外,发帖会导致程序崩溃。
工时:
- 前期调研 1 day
- 环境搭建及配置运行 0.5 day
接下来的工作:
加下来会细看 Discuz, BigApp插件以及 BigApp iOS之间的相互关系和iOS 代码的成熟程度,二次开发的难度,额外消耗等。预计这个评估为5-7个工作日。