![283c0dfe706e02dbdf87017ec3e17f3f.png](https://i-blog.csdnimg.cn/blog_migrate/92bfe03ecaea94348e935d4e3eec0cb3.png)
![a2aa4bcd6c1c31e1776d89f3b1519de7.png](https://i-blog.csdnimg.cn/blog_migrate/71914ca9e9b67d35646eefed15374da8.png)
第023期原创分享 作者:huber
大家好,我是hub哥
大家印象中的国产开源,也许更多关注的是BAT、京东、美团之类,其实还有一些大厂的开源,人们平时没太留意,比如小米、网易等等,他们的开源库里其实也挺丰富,今天咱们就来看看网易云音乐的开源。是不是有些好奇?网易云音乐开源了啥?
网易云音乐在GitHub上的这个项目,有些“ 特别 ”,因为开源的,只有API,就像项目标题一样:
![3cecbfcff970cc4feda448a97b84f0a5.png](https://i-blog.csdnimg.cn/blog_migrate/876d067ca2a971297838dfbc619ac7d0.png)
够简洁啊,项目描述就这么一句话,依然不影响收获近16k的star,是不是有些意外,只是开源了API,为啥还如此受欢迎?
![385c04a0679104f29f6f73cc05d01fcb.png](https://i-blog.csdnimg.cn/blog_migrate/2b03c6fc4992e2b763e98ee3ab101e06.png)
那咱们先来看看,到底开源了哪些API:
![0abb51772f2dd951077c10377f71915f.png](https://i-blog.csdnimg.cn/blog_migrate/aa69a81eea70a40dff9c8318364a78ec.png)
部署环境:NodeJS 8.12+
总共155个API,很丰富,但是,这样一个项目放在GitHub上,总感觉哪里不对劲呢?是不是有种熟悉的感觉:“ 这不就是一个开放平台么?只不过是把API放到GitHub上而已,没有源码这也叫开源?”
![0a7cc002ecf299ea65d8a47870c98bc9.png](https://i-blog.csdnimg.cn/blog_migrate/82185bcc9f9d3065caf5ec47960b52d6.png)
没错,当我第一次看到这个项目的时候,也有类似感受,但是仔细一想,这个“开放平台” 又和其它大厂的开放平台有些不太一样,到底哪里不一样呢,主要区别在这两点:
◆ API是一组面向音乐播放器的完整接口,几乎包含了客户端所有接口,并且包含了服务端部署相关,开发者完全可以用在这些API开发一个自己的音乐播放器系统,相比之下,其它开放平台的API大多是面向单个场景
◆ 开源式调用,不同于其它开放平台,你需要注册开发者账户,并且平台通过你创建的key进行对API调用的中心化管控,而该项目的API则不需要那些流程,自由部署,自由使用
所以,从某种角度来看,这也算是一种开源吧,然后我在GitHub上搜罗了一下,基于这套API开发的优质项目还挺多,咱们就来看两个:
![5dc1617dade7dc7de4b7bb094d756eeb.png](https://i-blog.csdnimg.cn/blog_migrate/8ac1d85295713febe2949638d794395e.png)
没错,几乎把网易云音乐APP仿的一摸一样 ,虽然是仿,但是能仿到这个程度,也值得一赞了
![315831afdf806db0f4f8fd8d8a334ce9.png](https://i-blog.csdnimg.cn/blog_migrate/3d1607e1369819248fdac1b985aa1af9.png)
![f2c73cbfe850e977b08f5bd45a954ce3.png](https://i-blog.csdnimg.cn/blog_migrate/de3998df9b3685e83943ddaa2a6ff18b.png)
◆ 项目地址
https://github.com/zion223/NeteaseCloudMusic
当然,有些更优秀的开发者,就连网易云音乐播放器的频谱动画都仿的一摸一样:
![1407f106fd75d46eaca3103e0280c009.png](https://i-blog.csdnimg.cn/blog_migrate/07c665fba93a451b10876b3c19b8f958.png)
![098ebbe57b1ed16aded64371459727e0.png](https://i-blog.csdnimg.cn/blog_migrate/55a36f7aa17c791f6cf801db13a31b53.png)
牛逼吧,真是秀出新天际,而且作者把实现方案也写的特别详细,如果大家有类似需求,可以去看看,说不定有所收获
◆ 项目地址
https://github.com/tyhjh/Jinyuneffect
![e58df20e36a78178d99e2134c8a9ea63.png](https://i-blog.csdnimg.cn/blog_migrate/d0cf2638bdc0cc18b30b2726e996ed5c.png)
网易云音乐API传送门
https://github.com/Binaryify/NeteaseCloudMusicApi
最后
也许大家会问,开源这一套API,到底有什么用?
其中一个应用场景容易想到:用这一套API做一个自己的音乐播放器系统,就像上面的两个例子,而且这样也只限于学习,因为内容版权等问题,商用几乎就免谈了其实不止于此,这里举两个例子:
◆ 网易云音乐这么多年的累积,这套API的结构已经较为成熟,如果自己要从头开发一套类似的音乐产品,不管是软件,还是硬件产品(比如智能音箱),那完全可以按照这套API结构去设计自家的服务端系统,这样能少走不少弯路;然后对客户端来说,前期可直接借用这套API开发,这样就不用等待自己服务端出接口,最后两端完成后再切换到自家的API,从而提升时间利用效率
◆ 利用这套API进行大数据分析,比如各类音乐受欢迎程度、个人的音乐喜爱偏好等等,从而能更加精准的描绘出用户画像,以便自家类似产品中的内容精准推送等等
也许还有其他更有价值的应用场景,欢迎大家讨论
完~