从eclipse切换到Android Studio,感觉最爽的就是AS的强大代码提示功能以及强大的插件支持,帮我们解决了很大一部分重复且技术含量较低的代码,解放生产力,让我们专注了解业务及技术的研发,自从google宣布kotlin作为android官方的开发语言以来,就想从java切换到kotlin开发,代码真的简洁了很多,少了很多,且最新的AS3.0支持将java转换为kotlin代码(目前不太好用,转了之后bug较多,但之后肯定会有改进),kotlin本来就是完全兼容java,支持混合开发,但目前kotlin的资料还是比较少,插件更是少之又少,完全使用kotlin编程,一下子还有些不适应,虽然kotlin可以调用任意的java库(反之亦可),突然还要写findViewById(只是简洁了些)就有些失落,就试着看看之前的ButterKnifeZelezny能不能用(AS自带粘贴java转kotlin代码功能),抱着这个想法安装了下,发现完全不能用了,github上也找了下,还木有这样的插件,于是决定弄一个支持kotlin的插件。
附上一张动态图,你们感受下,如果觉得好记得github给个赞哟,有兴趣的,可以看github源码
这是基于JakeWharton大神写的Kotter Knife,本想也支持onClick事件的,却发现JakeWharton没这打算https://github.com/JakeWharton/kotterknife/issues/57 说是kotlin不太需要,那就先这样吧。
看到这动态图,应该挺熟悉的,感觉也没有多少不一样的地方,这个应该很简单,只需要基于ButterKnifeZelezny改一下生成代码的模板就行了,好吧,其实我最初就是这样想的,理想很丰满现实很骨感,编写java插件和kotlin插件,完全不是一套api,在两年前,其实我就对于这个插件进行了一些改进,但由于英语不太好,当时git也不太熟悉(公司用的svn)全靠自己摸索,并没有向原作者提pull request,但是网上是还有有有心人向原作者推荐了我的改进之后的插件https://github.com/avast/android-butterknife-zelezny/issues/73 之后的版本中于是都可以生成onClick方法了,这个插件真心能极大提高我们的效率,我也一直都在用,其实现在看来,当时只不过修改了下源代码,照葫芦画瓢,但Idea还是不错的。
从有想法到实现这个插件历时一个月左右,可以在intellij idea和android studio上使用,欢迎大家使用和反馈意见https://github.com/dongjunkun/KotterKnife-Plugin