【雏形】第三方知乎客户端项目已经启动

前言

上文说过我打算开发第三方知乎客户端,我想既然已经发文了那么就开始吧。其实从知乎开始大量投放广告那会儿,我就有这个打算,自行开发知乎的第三方客户端(主要面向 Android 平台),去掉一切不纯净的东西。

我想有我这个想法的人不少,但确实没看到有过人行动起来做这件事情。于是最近几天开始我做了。

知乎现状

知乎目前已经成为是我常驻的广告最多的平台了,不管是手机客户端还是 PC 网页版。包括但不限于首页、问题页、评论列表、回答内容页,全部存在大量广告和推广。

我这里说的广告指的是其它厂商投放的广告,推广指的是知乎自家产品内容的推广:包括知乎 Live、知乎私家客等。甚至还有不那么“恶意”的在每个回答页底部插入的“推荐阅读”也很碍眼。

就单单说知乎客户端首页 Feed 列表,在我这里每隔四五个 Feed 就插入一条广告,真的,我受不了。

还有就是 Android 客户端的诸多流氓行为,最典型的例如启动页广告强制跳转,之前的版本还有过用前台服务常驻内存。

项目现状

目前我得开发这整个项目体系的 5 个部分:包括对知乎 API 封装的核心库、REST API 后端、Web 后端、静态 Web 前端和 Android 客户端。

今天花了很多时间写代码,已经有了一个雏形:ZHClean from Hentioe - React SPA

访问上面的网站可以看到一个以我本人的视角访问的知乎首页,当然前端并不重要,Web 前端只是在为 Android 铺路而已(测试完备程度)。

对知乎网络协议封装的核心库也是采用的 Android 开发中常见的 Retrofit + RxJava 的方案。REST API 后端是一个 Spring Boot 应用,一方面是给 Android 客户端的远程模式使用(搭建私有云),另一方面就是让这个 SPA 前端工作了。

结束语

当前能访问的那个页面你可以理解为一个快速开发出来的 Demo,在控制台还有一个 React 错误,是因为 CI 调用 Webpack 构建失败上传了未压缩的 bundle JS 文件。这个无关紧要了,我要去打游戏了,之后有时间会继续弄。

PS:如果上面页面的数据加载慢那是正常的,因为前端请求时服务器得即时抓取知乎内容。如果是本地(Android 客户端可以本地)直接请求知乎那就很快了。