Android KTX 或 Anko
Android KTX or Anko
我对使用 Android KTX vs Anko. Because both libraries are trying to achieve the same end goal, and the line between them it's getting a little bit blurry to the point, in some cases, the same functionality is available in both libraries 的优点和缺点有点困惑。
如果你能帮助我阐明每个任务的任务及其用例,我将非常感激。
提前致谢!
Anko 是 JetBrains 在开发 Kotlin 并使其与 Android 相关时启动的一个项目。我认为它是 Kotlin 可能性的早期生产就绪展示。
Anko 以 Anko 布局而闻名,但在 Anko Commons 中也有一些 Android 开发的扩展,还有一些其他模块,如 SQLite。
然而,Anko 库在更新后积累了大量的方法更新,这使得今天的库在每个 dex 文件限制为 65K 方法时相对重量级(我更喜欢保留一个,因为 apk 大小和性能原因)。
Anko commons 为 Android 提供扩展,因此它在某种程度上类似于 Android KTX,但它不如 Android 集成和组织良好(包和工件明智) KTX 现在是 AndroidX 的一部分,它是 Android Jetpack 的一部分。使库更小、耦合更松散是 Android Jetpack / Android X 哲学 BTW 的一部分。
所以 Android KTX,显然是未来 ,我认为没有理由不跳上船,或者更确切地说,不要让它跳上你的 Android 个项目。
此外,as you yourself pointed out,未来的 Anko 版本将弃用(并可能最终删除)与 Android KTX 的重叠,以仅提供 AndroidX 中没有的功能。
内附无耻外挂:
既然你在谈论 Anko,如果 Anko 布局引起了你的注意,但你遇到了困难(尤其是在与自定义或第三方视图交互时),我建议你查看 Splitties 中的 Views DSL ,比 Anko 布局更灵活,而且非常轻量级。您可能也会对其他模块感兴趣。我开始这个项目是为了在工作和家中的 Android 项目中利用 Kotlin 功能。
你没有问过,但这是我对 Anko 协程的看法:
我发现 bg { … }
扩展令人困惑。我更喜欢将 kotlinx.coroutines 与 Android 工件一起使用,使用 launch
、withContext
等,以及 Dispatchers.IO
.
但是,在我看来,Anko 协程侦听器(例如 onClick
可以暂停)是个不错的主意。
Anko 是 JetBrains 的 Kotlin 库。它与 Android KTX 的目标相同,即让您作为 Android 开发人员的生活更轻松,并使您的代码更具可读性和易用性。 Android KTX 和 are Anko 相似但不完全相同。
Anko 和 Android KTX 的区别
他们有共同的目标,但考虑的范围不同。 KTX 的使命是为 Kotlin 用户带来惯用的 APIs。 KTX 不打算向现有 Android API 添加新功能。
Anko 的范围更广,这使它可以灵活地创新和创建新功能
决定何时使用 Anko 或 Android KTX
一般来说,Anko 和 Android KTX 涵盖了 Android API 的不同部分,您没有理由不能在您的项目中同时使用它们。单独研究每一个,并在您的项目中使用任意一个!
我对使用 Android KTX vs Anko. Because both libraries are trying to achieve the same end goal, and the line between them it's getting a little bit blurry to the point, in some cases, the same functionality is available in both libraries 的优点和缺点有点困惑。
如果你能帮助我阐明每个任务的任务及其用例,我将非常感激。
提前致谢!
Anko 是 JetBrains 在开发 Kotlin 并使其与 Android 相关时启动的一个项目。我认为它是 Kotlin 可能性的早期生产就绪展示。
Anko 以 Anko 布局而闻名,但在 Anko Commons 中也有一些 Android 开发的扩展,还有一些其他模块,如 SQLite。
然而,Anko 库在更新后积累了大量的方法更新,这使得今天的库在每个 dex 文件限制为 65K 方法时相对重量级(我更喜欢保留一个,因为 apk 大小和性能原因)。
Anko commons 为 Android 提供扩展,因此它在某种程度上类似于 Android KTX,但它不如 Android 集成和组织良好(包和工件明智) KTX 现在是 AndroidX 的一部分,它是 Android Jetpack 的一部分。使库更小、耦合更松散是 Android Jetpack / Android X 哲学 BTW 的一部分。
所以 Android KTX,显然是未来 ,我认为没有理由不跳上船,或者更确切地说,不要让它跳上你的 Android 个项目。
此外,as you yourself pointed out,未来的 Anko 版本将弃用(并可能最终删除)与 Android KTX 的重叠,以仅提供 AndroidX 中没有的功能。
内附无耻外挂: 既然你在谈论 Anko,如果 Anko 布局引起了你的注意,但你遇到了困难(尤其是在与自定义或第三方视图交互时),我建议你查看 Splitties 中的 Views DSL ,比 Anko 布局更灵活,而且非常轻量级。您可能也会对其他模块感兴趣。我开始这个项目是为了在工作和家中的 Android 项目中利用 Kotlin 功能。
你没有问过,但这是我对 Anko 协程的看法:
我发现 bg { … }
扩展令人困惑。我更喜欢将 kotlinx.coroutines 与 Android 工件一起使用,使用 launch
、withContext
等,以及 Dispatchers.IO
.
但是,在我看来,Anko 协程侦听器(例如 onClick
可以暂停)是个不错的主意。
Anko 是 JetBrains 的 Kotlin 库。它与 Android KTX 的目标相同,即让您作为 Android 开发人员的生活更轻松,并使您的代码更具可读性和易用性。 Android KTX 和 are Anko 相似但不完全相同。
Anko 和 Android KTX 的区别
他们有共同的目标,但考虑的范围不同。 KTX 的使命是为 Kotlin 用户带来惯用的 APIs。 KTX 不打算向现有 Android API 添加新功能。 Anko 的范围更广,这使它可以灵活地创新和创建新功能
决定何时使用 Anko 或 Android KTX
一般来说,Anko 和 Android KTX 涵盖了 Android API 的不同部分,您没有理由不能在您的项目中同时使用它们。单独研究每一个,并在您的项目中使用任意一个!