Discuz iOS应用开发 - 开篇

同事想让我帮他做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

  • 编译

    • 编译只有一个问题,如下,把WeakReferences in Manual Retain Release改成Yes即可
  • 配置

    • 找到ThemeStyle.plist,把YZBaseURL修改为http://localhost/BBS/ (注意,BBS是你修改的Discuz论坛的目录名字)
    • 事实上还有其他很多配置,但当前目的仅仅是运行程序,所以进修改了网站的地址,当前是本地的Discuz。
  • 模拟器结果

  • 基本的样子还是有的,但很多数据还是不正确。

  • 此外,发帖会导致程序崩溃。

工时:

  1. 前期调研 1 day
  2. 环境搭建及配置运行 0.5 day

接下来的工作:
加下来会细看 Discuz, BigApp插件以及 BigApp iOS之间的相互关系和iOS 代码的成熟程度,二次开发的难度,额外消耗等。预计这个评估为5-7个工作日。