微信号:imooc-com

介绍:慕课网是一个超酷的互联网、IT技术免费学习平台,创新的网络一站式学习、实践体验;服务及时贴心,内容专业、有趣易学。专注服务互联网工程师快速成为技术高手!

【独家分享】Kotlin会是未来Android开发的主流吗?

2017-07-13 18:25 color


Google I/O大会作为科技界的盛会,同时也是Google 最新产品和技术的发布会,影响着整个互联网行业的技术风向,历来广受关注。


在这个大会上,Google 将Kotlin语言作为安卓开发的一级编程语言,且下一版的Android Studio(3.0)将全面提供支持!对移动开发者来说,这可能是最激动人心的消息了。


那么这个空降的干儿子,又是何方神圣,为什么能得到了Google 的青睐呢?


有幸慕课网诚邀腾讯Android高级工程师——Bennyhuo,在慕课网做了一次线上话题活动,帮助用户更深刻认识和学习kotlin。


Bennyhuo,他是国内最早从事Kotlin开发和推广活动的参与者和组织者之一,长期以来专注于Kotlin的研究、开发与宣传推广,说他是一名Kotlin布道师一点也不为过。


他曾在Github发布过15期Kotlin入门视频,好评如潮,几乎是市面上能看到的、最早的Kotlin中文教学视频,很多人正是从他的教学中开始入门Kotlin。




关于Kotlin,他们的问题



Q:老师你好,现在招聘安卓开发的,kotlin算加分项吗?老师可以讲讲面试安卓必备的知识点,还有面试建议吗?

 
bennyhuo:面试不同层次的程序员要求不一样,你可以补充下你的情况。 据了解,kotlin现在尽管不是必须项,不过它已经成了不少公司招聘的加分项。
 
如果你能够扎实地掌握这门语言能用它为团队带来收益,那可能加分更多~ 程序员面试都基本差不多,一方面看你的基础是不是扎实,以及学习态度,学习意愿如何,对于自驱力不足的面试者,特别是初级程序员,可能会比较受影响;另一方面,如果不需要培训就能上手干活,这样也是比较理想的。


前面说得太抽象,如果你想面试时给面试官留下印象,拿出你的github,拿出你对技术的思考,对你自身学习进步的路线的规划~当然,统计一下你的有效代码,重复的不算,如果达到10w行,那么应付校招足够了。 至于安卓,除了前面的,你能对常见的安卓基础知识掌握熟悉,looper的原理,binder的原理,ui的布局和绘制等等,想必大家已经耳熟能详了。 做一个踏实勤奋的程序员,不要好高骛远。



 
Q:刚看完老师的kotlin视频,没想到老师竟然来答疑了,请问老师,kotlin中虽然使用lambda之类的可以提高开发效率,可是在后期维护调试的时候会很麻烦,老师有没有什么好办法解决,还有就是在js框架比如react native,kotlin和java原生之间老师认为哪个更有前景?
 
bennyhuo:Lambda 调试可以断点的,如果你熟悉并理解它的使用的话基本上不会有什么影响的。 说说前景。Java也好,Kotlin也好,都是原生开发,原生开发的地位肯定是无法被撼动的,rn虽然火了一阵子,但也没有见到哪家公司抛弃原生开发,当然作为一种补充,rn这样的框架相对轻量级,有他存在的意义。再说说Java和Kotlin,Kt本身确实解决了Java语法不够简洁,灵活性不够高的问题,加上有JB和谷歌这样的公司背书,它也在某种意义上被贴上了有追求有极客精神的标签,尽管现在还没有在安卓开发中广泛使用,但也已经成为一些公司衡量求职者技术水平的一个指标,相信它在将来会逐渐承担起更多领悟的开发重任~ 对于大家来说,一定要抓住机会,踏实学习,这门语言不会让大家失望的~
 



Q:老师,我Java基础一般,不学Java可否直接用kotlin开发安卓?靠谱吗?另外,老师我还想问下kotlin在实际开发环境中的优劣可否举例说下?
 
bennyhuo:可以直接用kt开发安卓,也很靠谱,但现在Java主导,你不学Java还是会影响你进步的。作为一个有追求的程序员,怎么能只学一种语言呢?


 kt开发安卓的优势嘛,Java 两千行的代码用kt用不到一千行,最重要的是,你可以出去吹牛逼啊,等以后大家都会kt烂大街的时候,你不会都不好意思出门啦
 



Q:请问下,相较于java,在高并发下,kotlin是否有带来性能方面的提升或者什么优势吗

 
bennyhuo使用 Kotlin 的协程,编写出来的并发程序会轻量级一些,成千上百的请求可以共享一个线程,并发能力相应的也会比纯线程的并发程序有提高。



 
Q:android相比java后台,很多人都说学java后台好找工作,android比较饱和难找工作,水平要求相对较高。老师,请问你怎么看?是继续学android还是考虑其他方向?就目前IT行业,哪个方向发展更加好?
 

bennyhuo:不管你找什么工作,技术越深竞争对手越少。实际上服务端相比安卓技术栈更深,更广,学习难度也比较大,安卓应用开发本身知识点有限,入门相对容易,因而看上去“安卓烂大街”,其实安卓的中级高级工程师的需求非常大。 对于大家来说,不管从事什么工作,一定要在某些点上深挖,千万不要浅尝辄止,我们在招人的过程中其实经常见到一些基础一般,技能掌握不深的面试者,这样的朋友可能竞争力相对较差,而且很多时候用人方也会宁缺勿滥,毕竟招一个这样的工程师对于团队的战斗力带来的影响有可能长期是负面的,需要其他工程师花时间培养,这样的成本对于快节奏的互联网来说很难承受。



 
Q:我还是不想离开 java 语言
 
bennyhuo:没人逼着你离开Java啦,写kt也不会让你有离开Java的感觉。





Kotlin的未来已来



>> 推荐bennyhuo讲师的kotlin教程视频:只需有一定的Java基础,即可学习



点击下图,即可报名学习





程序员的梦工厂

  慕课网 

编程|项目开发|实战|IT|工程师

空·




戳原文,更有料!


 
慕课网 更多文章 新课速递 | Android专项及自动化测试 Unittest测试 Fiddler抓包 新课速递 | 微信小程序入门与实战 常用组件 API 开发技巧 项目实战 图说架构系列 - 架构师的坎坷成长路 数据那些概念(数据、信息、分析、挖掘、机器学习、大数据、AI等) 区块链入门-概念原理篇
猜您喜欢 今晚九点|如何做好一个资产系统(CMDB) 7点见|春节男男最爱发红包;苹果最新财报亮眼;柯洁四月战阿尔法狗 65行python代码多线程下载65集《乡村爱情故事8》 04 | 微服务反模式与缺陷:直达式报告反模式 Android GC 原理探究