大家印象中的国产开源,也许更多关注的是BAT、京东、美团之类,其实还有一些大厂的开源,人们平时没太留意,比如小米、网易等等,他们的开源库里其实也挺丰富,今天咱们就来看看网易云音乐的开源。网易云音乐在 GitHub上 的这个项目,有些“ 特别 ”,因为开源的,只有 API,就像项目标题一样:
够简洁啊,项目描述就这么一句话,依然不影响收获近 16k 的 star,是不是有些意外,只是开源了 API,为啥还如此受欢迎?
总共 155 个 API,很丰富,但是,这样一个项目放在 GitHub 上,总感觉哪里不对劲呢?是不是有种熟悉的感觉:“ 这不就是一个开放平台么?只不过是把 API 放到 GitHub 上而已,没有源码这也叫开源?”
没错,当我第一次看到这个项目的时候,也有类似感受,但是仔细一想,这个“开放平台” 又和其它大厂的开放平台有些不太一样,到底哪里不一样呢,主要区别在这两点:
◆ API 是一组面向音乐播放器的完整接口,几乎包含了客户端所有接口,并且包含了服务端部署相关,开发者完全可以用在这些 API 开发一个自己的音乐播放器系统,相比之下,其它开放平台的 API 大多是面向单个场景
◆ 开源式调用,不同于其它开放平台,你需要注册开发者账户,并且平台通过你创建的 key 进行对 API 调用的中心化管控,而该项目的API则不需要那些流程,自由部署,自由使用所以,从某种角度来看,这也算是一种开源吧,然后我在 GitHub 上搜罗了一下,基于这套 API 开发的优质项目还挺多,咱们就来看两个:
没错,几乎把网易云音乐 APP 仿的一摸一样?,虽然是仿,但是能仿到这个程度,也值得一赞了
https://github.com/zion223/NeteaseCloudMusic当然,有些更优秀的开发者,就连网易云音乐播放器的频谱动画都仿的一摸一样:
牛逼吧,真是秀出新天际,而且作者把实现方案也写的特别详细,如果大家有类似需求,可以去看看,说不定有所收获https://github.com/tyhjh/Jinyuneffect网易云音乐 API 传送门
https://github.com/Binaryify/NeteaseCloudMusicApi
最后
其中一个应用场景容易想到:用这一套 API 做一个自己的音乐播放器系统,就像上面的两个例子,而且这样也只限于学习,因为内容版权等问题,商用几乎就免谈了
◆ 网易云音乐这么多年的累积,这套 API 的结构已经较为成熟,如果自己要从头开发一套类似的音乐产品,不管是软件,还是硬件产品(比如智能音箱),那完全可以按照这套 API 结构去设计自家的服务端系统,这样能少走不少弯路;然后对客户端来说,前期可直接借用这套 API 开发,这样就不用等待自己服务端出接口,最后两端完成后再切换到自家的 API,从而提升时间利用效率◆ 利用这套 API 进行大数据分析,比如各类音乐受欢迎程度、个人的音乐喜爱偏好等等,从而能更加精准的描绘出用户画像,以便自家类似产品中的内容精准推送等等也许还有其他更有价值的应用场景,欢迎大家讨论~~~
崔庆才
静觅博客博主,《Python3网络爬虫开发实战》作者
隐形字
个人公众号:进击的Coder