使用Clojure构建原生Android应用

悟途网 2015年09月29日 23:09 阅读()
字号 (A- A+)

使用Clojure构建原生Android应用

在Android平台上使用Clojure进行开发,在过去几年中取得了长足的进步,让开发人员可以把它用于完整的应用,比如SwiftKey的Clarity Keyboard。在本文中,我们将检阅当前在Android平台上支持Clojure的工具的情况。

在Android平台上使用Clojure进行开发,在过去几年中取得了长足的进步,让开发人员可以把它用于 完整的应用 ,比如 SwiftKey的Clarity Keyboard 。在本文中,我们将检阅当前在Android平台上支持Clojure的工具的情况。

在Android平台上,使用来自标准升级渠道的Clojure历来都要遭受缓慢的启动,相比Java这 可长达4-10倍的时间 。此问题可由 Skummet 来解决,这是Clojure的 分支 ,它优化了Clojure的编译器,从而可以产生更精简、加载更快的字节码(bytecode)。Skummet还包括一个用Skummet构建的经过优化的Clojure运行时版本。

据Skummet的作者 Alex Yakushev 说,Skummet旨在确保最大的兼容性,尽管依赖直接引用Vars的代码可能会有问题,大部分Clojure代码默认应该是兼容的。

总的来说,对一个简单的基准应用,Skummet能够使首次加载时间缩短到1/4,使APK大小和堆的使用减小到一半。据SwiftKey的 Adam Clements和Ben Leavett说,使用Skummet让他们可以把Clarity Keyboard的加载时间保持在1.5–2秒,更进一步的优化也是可能的。

在Android平台上用Clojure开发的其它有用的工具包括在 Clojure-Android Initiative 项目中,有:

lein-droid :一个Leiningen插件,作为Clojure-Android项目的构建工具,处理打包资源、创建APK文件、进行数字签名、等等这些过程。

Neko :封装了Android某些部分Java API的工具包,使得它们的使用更符合Clojure的习惯。

Zach Oakes,Android版本 Nightweb 应用的作者, 认为 Clojure通过使用简洁的语法可以使应用的代码量得到“惊人的”缩减,而且让程序员更容易地执行异步任务从而也可以改善应用的响应。

据SwiftKey的工程师们说,使用Clojure创建Android应用,对应用的设计会产生巨大的影响。特别是,就Clarity Keyboard而言,这让他们可以采用完全的“事件驱动”设计,再结合不可变更的数据结构,从而可以轻易地保存和“重放”用户的任何动作。使用不可变更的数据也有助于构建高度模块化的应用,使得每项操作默认都是异步的。

热门文章
随机推荐
分享 Android 内核源代码交叉编译

分享 Android 内核源代码交叉

Android 内核源代码交叉编译,因为我们需要 Android 的模...

分享 Android 五种布局模式

分享 Android 五种布局模式

Android布局是应用界面开发的重要一环,在Android中,共...

android快捷卸载第三方应用

android快捷卸载第三方应用

android快捷卸载第三方应用,1、需要的权限:2、获取所...

解决Android设备无线连不上及常见无线连接问题

解决Android设备无线连不上及

Android设备越来越多,作为无线终端,常常会遇到各种无...

Android 串行接口(serial port)编程

Android 串行接口(serial port)编

Android 串行接口(serial port)编程,android-serialport-api项目(...

Android 6.0中的新技术总结

Android 6.0中的新技术总结

最近 Google 正式发布了 Android M,并命名为“棉花糖”(...

如何设置安卓android手机通话接通震动提醒功能

如何设置安卓android手机通话

安卓android手机通话接通震动提醒,进入手机拨号界面,...

Android安卓手机连接隐藏wifi方法

Android安卓手机连接隐藏wi

安卓手机怎么连接隐藏wifi信号?由于手机运行的安卓版...