用 electron 实现第三方网页客户端

# 为什么要做第三方客户端

  • 首先是为了获得更好的用户体验。如下图所示,左侧是第三方微博客户端 Share,右侧是 V2EX 第三方客户端。两者的特点都是界面都很简洁,功能比较纯粹。早期也有很多第三方贴吧 APP、视频软件 APP,但是随着大厂流量战争越打越强,就对这些第三方 APP 进行了封杀。
  • 其次我们可以在第三方客户端中加入广告和捐赠功能,来获得一部分额外收入。🍭
  • 最后就是在有一定用户量后开源出来可以吸一波 Star。不过这个和上面有点矛盾,因为开源出来后你加入的广告就可能被别人去掉后重新编译打包了。甚至里面的捐赠支付二维码会被改成其他人的二维码。这一点就看个人取舍了。

# 如何优化第三方客户端体验

  1. 使客户端功能更纯粹。现在无论什么 APP 都要加新闻、直播、钱包、小视频的功能(说的就是微信、百度、微博这些毒瘤 😡)。我们封装第三方客户端时首当其冲就是要去掉这些无用功能。
  2. 去除广告。幸运破解器也可以帮助去除,不过成功率较低。
  3. 使用贴合原生系统的设计风格。安卓使用 material design,苹果使用 cupertino 设计风格(这个名子来自 flutter,官方没有具体名子)。
  4. 动画贴近原生。使用系统级的过渡动画,这样会使 APP 界面切换更流畅。如何检测动画是否是系统级的?在开发者选项中将动画速度切换成 0.5 倍,如果 APP 的动画速度也变慢了,说明动画是系统级的。在 flutter 中,由于使用的是 Skia 绘制的,动画引擎也是内建的,所以无法使用系统内建动画,跟系统有一股割裂感。这也是我不喜欢 flutter 的一点。
  5. 增加特色功能。如主题换肤、特殊权限破解(如看视频免 vip 等等,但是随着这些鉴权逐渐迁往服务端现在基本不可能实现了,只能想办法找一些漏洞)。

# 实现第三方客户端的一般思路

# 登录校验

# 接口抓取

# 接入视频、音频流

# 使用爬虫(需要自建服务器)