• 腾讯视频链接

    https://v.qq.com/x/page/z3206z0iutx.html

  • Bilibili 视频链接

    https://www.bilibili.com/video/BV1hy4y167Nb/

"音乐是灵魂之间的美好交流,是带着情绪的艺术品。网易云音乐要做的,就是帮助用户发现和分享好音乐,用音乐连接用户和音乐人,让用户去感受音乐人想表达的情绪,让更多的人用音乐取暖、发光、获得力量。"

—— 郭元,网易云音乐产品经理

网易云音乐是网易旗下一款专注于发现和分享的音乐产品,依托专业音乐人、DJ、好友推荐及社区功能,为用户打造全新的音乐生活。目前,网易云音乐用户数已超过 8 亿,曲库数超 4,000 万 (近期更新数据),入驻原创音乐人超 20 万,是中国最活跃的音乐社区和中国最大的原创音乐平台。

△ 用网易云音乐和好友分享音乐

Android 客户端开发团队 2019 年 8 月引入 Kotlin 之后,很快就发现学习 Kotlin 是一件比较轻松的事情: 刚开始的一段时间,经常可以在团队成员的周报中看到对 Kotlin 特性的讨论,团队中也不时会有同事撰写 Kotlin 的学习总结文章并发出来分享。大家基本都可以很快上手开发。而且通过 Kotlin 官方网站、Github 上 Kotlin 项目中的文档,以及 Android Studio 提供的将 Kotlin 代码反编译为 Java 代码的功能,都可以帮助团队成员们更加深入地了解 Kotlin 语言。

"Kotlin 作为 Android 开发的新语言新技术,集成了很多其它语言中的先进设计思想。与 Java 代码兼容和互相调用的特性,也极大地减少了我们在内部推广 Kotlin 的阻力。"

—— 贾斌,网易云音乐资深 Android 开发工程师

目前在网易云音乐的 Android 工程中,Kotlin 文件比例大约占 23%,而且新增的功能大部分都是使用 Kotlin 进行编写。团队也同时引入了 KTX 和协程等库来提高开发效率,让工程师更专注于功能本身的实现。

使用 Kotlin 带来的第一个直观好处是简洁。团队自己有做过统计:

"相比 Java 平均每个文件有 138 行代码,Kotlin 平均每个文件只有 82 行代码,代码量平均减少了 40%,使用 Kotlin 要更加简洁、高效。"

—— 展智泉,网易云音乐高级 Android 开发工程师, 网易云音乐 Kotlin 布道者

Kotlin 协程提供了非常方便的线程切换功能,而且通过引入结构化并发机制,使得对异步任务的追踪和取消变得非常简单。协程还可以与 ViewModel 结合使用,利用 viewModelScope,可以让异步任务和 ViewModel 的生命周期保持一致,有助于防止泄漏。

△ 颇受欢迎的 Kotlin 协程

团队统计到的线上崩溃中出现的 NPE 几乎全都发生在 Java 代码中,在 Kotlin 代码中出现的则非常少。

更简洁、更高效、更稳定、更轻松,这就是网易云音乐的 Kotlin 乐章。用户们在这个音乐平台上找到惊喜,而开发者则在新技术的推动下找到了持续探索的新方向。

您的作品中有多少用到了 Kotlin 呢?欢迎在下方评论区和大家分享。


推荐阅读

 点击屏末  | 查看更多开发者精彩故事


网易云音乐的 Kotlin 乐章 | Android 开发者故事相关推荐

  1. android 网易云音乐上滑动画,Android 仿网易云音乐 音轨跳动效果

    网易云音乐的Loading效果,大家应该也比较熟悉了,效果是一个红色音轨不断跳动的效果,一般用于Loading等待时填充使用.本篇来自定义这个效果. Android 仿网易云音乐 音轨跳动View.g ...

  2. android 换肤 视频,网易云音乐4.0版体验:自定义换肤和短视频来了

    原标题:网易云音乐4.0版体验:自定义换肤和短视频来了 日前,网易云音乐的iOS和Android更新到了4.0版本,对于期待更多创新功能的忠实粉来说,这着实是一个好消息.在新版本到来之后,不少人开始发 ...

  3. 实现一个网易云音乐的 BottomSheetDialog

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  4. debian之网易云音乐的安装

    前提 众所周知网易云音乐是windows和android.ios上很火的一款音乐播放器,众多linux用户是不是为linux无法使用网易云而苦恼呢,不比灰心,网易云官网未deepin和ubuntu两款 ...

  5. 网易云音乐:从刷屏 IP 到音乐生活王国

    自 2013 年上线起,网易云音乐就将自己定位为音乐社交平台,而非音乐播放器.依托专业音乐人.歌单乐评.社交推荐等特色功能,网易云音乐发展迅速,现已突破了 4 亿用户量.在用户眼中,网易云音乐是一个有 ...

  6. 付费率、月活增速不敌网易云音乐的腾讯音乐,还有什么故事能说?

    5月底,国内领先的在线音乐平台网易云音乐正式递交招股书,于香港寻求上市.8月1日,据港交所文件,网易云音乐已通过港交所上市聆讯,正式向 "全球音乐社区第一股"发起冲击. 更新版招股 ...

  7. 网易云音乐Android版使用的开源组件

    转自:http://www.jianshu.com/p/f31ab96a32f3 网易云音乐Android版从第一版使用到现在,全新的 Material Design 界面,更加清新.简洁.同样也是音 ...

  8. android 加载动画效果_这效果炸了,网易云音乐“宇宙尘埃”特效

    本文作者 作者:Mlx 链接: https://juejin.im/post/6871049441546567688 本文由作者授权发布. 1前言 前段时间,女朋友用网易云音乐的时候看到一个宇宙尘埃特 ...

  9. [转]网易云音乐Android版使用的开源组件

    原文链接 网易云音乐Android版从第一版使用到现在,全新的 Material Design 界面,更加清新.简洁.同样也是音乐播放器开发者,我们确实需要思考,相同的功能,会如何选择.感谢开源,让我 ...

最新文章

  1. CSS2020聚焦新基建 腾讯发布云原生安全体系 助力客户备战云上“主战场”
  2. prometheus 插件node_exporter 启动方式
  3. 前端常用效果(2)带效果的tab切换
  4. Java函数式编程和Lambda表达式
  5. input发送a.jax_JAX-RS 2.0:服务器端处理管道
  6. Redis安装及配置(Linux)
  7. push推送服务设计
  8. H5的sessionStorage 和 localStorage
  9. jQuery动画之显示隐藏动画
  10. 图片的变形与模糊,是两回事
  11. 7. 敏捷软件开发框架 - 极限编程XP
  12. echarts折线图和柱状图结合绘制
  13. 县级外业调查及举证软件_MapGIS第三次国土调查系列产品
  14. CLC龍链:致力于打造支付生态系统
  15. 「译」开发者如何提升和推销自己
  16. 在worldpress中使用php代码抓取图书馆书籍信息
  17. 树莓派3B+安装Android 系统
  18. 用stlstack实现深搜_同心筑共未来,深信服是认真的
  19. ESP32 DEVKIT V1 资料分享-原理图+引脚图
  20. 什么是物联网,与传感网之间,有什么区别

热门文章

  1. 再次迷宫救人——BFS
  2. java中浅克隆与深克隆解析
  3. 基于seetaface2实现Java人脸对比、人脸搜索
  4. mysql having 最大_mysql having的用法
  5. VBS学习日记(六) FSO相关操作
  6. 【java】学生成绩分级ABCDE(起点闭关计划)
  7. 【题解】POJ2311 Cutting Game
  8. 创建人物特写视频flash教程(五)
  9. 华康医疗深交所IPO:市值49亿 为湖北今年首家上市企业
  10. LBP特征原理与人脸检测