个点击上方“Github中文社区”,关注
大家印象中的国产开源,也许更多关注的是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进行大数据分析,比如各类音乐受欢迎程度、个人的音乐喜爱偏好等等,从而能更加精准的描绘出用户画像,以便自家类似产品中的内容精准推送等等