重写 Chess.com 的 Android 应用
Chess.com 的 Android 应用程序正在进行重写,该应用程序每天有大约三十万人使用,每月有一百万人使用,并且使用超过 69 种语言!
现在,您可能会问:“但您在Google Play上的评分是 4.4 星,无崩溃率是 99.97%,而且您还在盈利——为什么还要费这么大劲呢?”首先,谢谢您,被欣赏的感觉真好。其次,如果您知道我们的首席执行官 Erik Allebest 也有同样的疑问,您也应该不会感到惊讶。以下是我告诉他的:
我们目前正在计划对这款应用进行彻底的重新设计(哦,顺便说一句,我们正在计划彻底的重新设计,你应该感到兴奋,因为它太棒了)。在花了几个月时间在一封邮件的“发送”按钮上徘徊之后,我最终得出结论,单靠循序渐进的方式根本无法实现这个目标。Chess.com 对其移动应用(Android 和 iOS)有着宏伟的计划,而 Android 团队认为,实现这一目标的最佳、最安全的方式是从头开始。
当前的应用运行良好,但肯定存在一些小问题(“那不是 bug,而是功能!”——你懂的),而且添加新功能有时也很有挑战性。作为一家公司,我们始终希望使用最新的稳定技术,坦白说,现有应用在 2011 年 1 月首次提交到版本控制!我其实记不清第一行代码是什么时候写的,但该应用兼容 Android 2(或者是 1?没人记得了)。Android 9 将于今年发布。我认为可以肯定地说,一个最初为 Android 2 设计的项目不能被视为“最新的稳定技术”。
让我们一起向这款经受住时间考验的移动应用致敬。我们并非始终完美无缺,但我们始终致力于提升玩家体验,提供新功能,并打造移动端最卓越的实时象棋体验。
那么,未来会是什么样子呢?这是一个不断变化的目标,但以下几件事我可以肯定:
-
新版应用将经过全新设计,将会非常精美。它采用了Material Design 设计,动画和过渡流畅,速度更快,总体来说使用体验非常愉悦。
-
新应用的最低 Android 版本要求为 5.0 / Marshmallow(如果您是 Android 开发者,则最低 SDK 要求为 21)。我们预计这意味着现有玩家群体中 5% 的用户将无法在其现有设备上升级,对此我们深感抱歉。但对于其余 95% 的用户来说,这意味着他们将能够使用更先进、功能更丰富的技术,享受更流畅的体验。同时,这也意味着我们将能够更快地完成新版本的开发,因为我们无需费力地支持旧版 Android 系统。
-
新应用将主要使用Kotlin编程语言编写,而不是 Java。我承认,长期以来我对 Kotlin 持怀疑态度(我最看重的是稳定性),但当谷歌宣布支持Kotlin 作为与 Java 并驾齐驱的主要编程语言时,我不得不立即接受。为什么?因为 Kotlin 可以彻底清除各种 bug。Kotlin 的语法比 Java 简洁得多,这意味着我的团队效率更高。Kotlin 拥有扩展函数,这意味着我可以扩展某些类的 API,使其功能有所缺失。Kotlin 让不可变性变得非常简单——参见上文关于彻底清除各种 bug 的观点。我还可以继续补充——我会在以后的文章中继续阐述。
-
新应用从一开始就会通过Dagger2及其依赖
dagger.android
包进行正确的依赖注入,而不是等到十年后才用撬棍把它塞进去。这意味着什么?这意味着可测试性(以及稳定性)的提升、内存管理的改进,以及对象创建和对象使用之间清晰的关注点分离。我稍后会写一篇更专业的技术文章来探讨这个问题——敬请期待!
重申第一点,我们真正关注的是为玩家提供更好的体验。即使是最深奥的技术点,也是为了提升经典的用户体验。希望您和我一样兴奋,也欢迎您跟随 Chess.com Android 团队的冒险之旅,一起重写这款二十万行代码、面向现代时代的应用!谢谢。
鏂囩珷鏉ユ簮锛�https://dev.to/autonomousapps/rewriting-chesscoms-android-app-4aij