专栏首页养码场在Kotlin踩坑无数的他想聊聊:如何完全使用 Kotlin 独立开发 App

在Kotlin踩坑无数的他想聊聊:如何完全使用 Kotlin 独立开发 App

自谷歌宣布Kotlin成为 Android 开发官方支持的语言后,Kotlin的 这门 JVM 语言火速成为众多开发者关注的焦点,“养码场”社群内的养码人对此也聊意甚多。

两个多月过去了,Kotlin这门开源语言的人气不断攀升,甚至出现了“Kotlin:征服硅谷的编码语言”的言论。据场主了解到,此言论的缘由是,近日,Google的核心Android开发团队已经在生产代码中使用Kotlin。

虽养码人对此讨论甚多,但大多数也是持观望态度:不敢轻易使用,虽然背后站着JetBrains 和 Google 这两个巨头。

场主特意找到了一篇针对“Kotlin答疑解惑”的文章,答疑者是资深Kotlin 开发者刘自鹏。他,现就职于美团点评企业平台研发部,独立开发了 Twobbble(已开源)。这是一个 Android 平台的第三方 Dribbble 客户端,它完全基于 Material Design 设计,不过值得一提的是,Twobbble 完全使用 Kotlin 进行开发。

作为一个较早使用 Kotlin 的开发者,刘自鹏踩过的坑可谓是是数不胜数,加上独立开发这样一款精致的 App 的经验,以下针对Kotiln、独立开发以及如何开发出精致的 App 等问题做出的解答,可能会对你深入了解Kotlin有所帮助。

提问1:

在你看来,除了生态,Kotlin在语言方面还有哪些设计不足?或者说在实际使用中还有哪些需要workaround的方式或者比较丑陋的方法才能实现你所想要的东西?

刘自鹏:

目前我的使用过程都还是比较顺利的,没有遇到这些点。设计得好不好,我可能没办法去评论,但缺点:语言不可能完美,总归可能藏着,但依托于java的生态,我们总能找到workaround。

提问2:

如果Kotlin来开发app,从开发周期,效率来考虑,原生开发,html5混,当下哪种模式相对好一些,当下流行什么样的模式?

刘自鹏:

使用Kotlin来开发app,效率上已经是较于原来有一个很大的提升了。 而hybrid主要优势是跨平台,降低多平台的开发成本。纯原生开发最大的优势是更好的体验,更强的交互。没有办法去说哪种方案更好,因为这都是根据你的业务需求来的。

如果你的业务中有某个页面,它需要和iOS保持一致,并且内容可以快速随着业务需求去变化,hybrid很适合,如果没有类似的需求,并且你的应用很注重交互体验,那原生显然更好。

提问3:

Kotlin的突然出现,感觉有点始料未及。我从事Java也有多年,也一直在想找自己的第二语言,最近在学习Python。前一段时间看了go,scala,Erlang语言,感觉学习起来都不是很容易。

我大概有4个问题:

1、Kotlin会是让人比较容易上手的语言吗?

2、对于有Java经验的人,学习起来还有哪些瓶颈要克服?

3、对于Kotlin这门语言,会不会热过一阵之后,就消声匿迹了呢,它未来的发展,你感觉怎么样?

4、还有App使用kotlin开发,会比Java有什么优势吗?

刘自鹏:

针对一、二问题:按Kotlin开发团队的话来说,Kotlin是一门以java开发者的思维来开发的语言,Java 到 Kotlin的过渡是相当平滑的,只要熟悉基本语法,你几乎可以直接用你原来开发Java的思想去开发写Kotlin代码,而你学习更多Kotlin的特性就能够让你代码写起来更加轻松简洁,所以真的没有什么要克服的,多学习一些它的特性吧。

第三个问题:Android开发一直处于低糖的状态,其实不少Android开发者对现代语言早就如饥似渴了。Kotlin与Java完美的互操作这一点 为Kotlin的社区支持提供了很好的基础, 加上kotlin团队一直以来对开发者需求的快速反应迭代,所以对于Kotlin,至少在Android这个细分领域,我很看好它的未来。

第四个问题:对比Java的优势有很多,比如语法更加简洁、不啰嗦,更多的语法糖扩展函数,空安全,协程,通过扩展函数与lambda实现各种酷炫的高阶函数,默认参数,智能类型转换,以及更多的java所不具备的特性,总之它能够用更少的代码完成更多的事,也就能够让我们后续的维护成本更低。

提问4:

没有Java开发的经验,直接用Kotlin作为入门学习Android开发合适吗?

刘自鹏:

可以,但是不建议。为什么?

1、在你没有编程基础的情况下去学Kotlin,因为语法特性多而灵活,并不会比别的语言容易。

2、现在Android开发的基础教程,进阶教程清一色是Java的。你如果不会,那么你的学习过程会很吃力。

3、就现在的大环境来看,只会Kotlin的Android开发者可能找不到Android开发的工作。

提问5:

开发出精致的 App,介绍一下都用那些技术框架,怎么选择?

刘自鹏:

这里所说的精致,主要是UI与交互层面的。 至于个人开发时,技术如何选型,首先多关注行业动态可以看出哪些第三方项目是主流,这时你可以去看这个项目的star数量,数量大证明使用者多,接着瞄一眼issues,看看问题解决得及不及时。

当然技术服务于业务,技术选型也要照顾到和你的业务是否契合。

提问6:

请问app界面怎么做到交互性好,体验好,不知道从哪一方面学习这些,模仿别人的界面会属于侵权吧?

刘自鹏:

如果你只是练手,完全照搬知名应用的设计没有问题,但是如果你要发布,建议原创。 我一直认为作为一个客户端开发者,是有必要具备一定的ui设计能力与交互意识的。关于这点,如果你是Android开发者,可以学习Mater...

另外,建议多观察他人开发的设计优秀的App,吸取优点。可常浏览Dribbble。

提问7:

我准备“入坑”使用 Kotlin ,你有什么建议吗?

刘自鹏:

我认为 Kotlin 转正是 Android 开发者的福音。建议其实没什么,Android 开发者转用 Kotlin 过渡是很平滑的。总之,生命苦短,我用 Kotlin 。

作 者 介 绍

Android 开发者:刘自鹏

就职于美团点评企业平台研发部,较早使用 Kotlin 的开发者之一,Kotlin 项目 Twobbble 的作者,对 Material Design 有多年实践,热爱交互,专注应用层开发。

本文分享自微信公众号 - 养码场(yangmachang0),作者:刘自鹏

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 90年代自学C,独立研发中文编辑器和输入法,被称小说圈中的Geek,你一定不知道这样的王小波!

    早在90年代初,王小波就接触了计算机。1988年,他毕业于美国匹兹堡大学东亚研究中心,获硕士学位,那时就知道Macintosh,玩过IBMPS/2。

    养码场
  • 程序员用代码告诉你,千万别出门!

    事情是这样的,B 站 UP 主 @ele实验室,用了一夜的时间,写了一个简单的疫情传播仿真程序,告诉大家在家待着的重要性,视频如下:

    养码场
  • 用Python解读“女神大会”,直男心目中的女神是这样的?

    都说直男审美不可靠,而程序员作为直男一大代表,更是经常被调侃穿衣风格、外在形象。但场主发现,直男(程序员)的审美,似乎,还是有点靠谱的?

    养码场
  • 使用 Kotlin 构建的常见问题解答 | Kotlin 迁移指南 (下篇)

    今年五月份的 Google I/O 上,我们正式向全球宣布 Kotlin-first 的这一重要理念,Kotlin 将成为 Android 开发者的首选语言,十...

    Android 开发者
  • 如何看待 Kotlin 成为 Android 官方支持开发语言?

    Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言。一时间朋友圈和Android圈被各种刷屏。当然我也顺势而为发布了一篇的文...

    技术小黑屋
  • 跟鹅厂老司机学技术之一:“遇见” Kotlin

    6月8日,腾讯云技术社区继续推出了【跟鹅厂老司机学技术】系列分享的第一期:“遇见”Kotlin,邀请到的嘉宾是腾讯工程师霍丙乾。 [1496977258982_...

    云加社区
  • 为什么我要改用Kotlin

    写在前面的话,作为一个不熬夜的人,一觉醒来发现Kotlin成为了Android的官方语言,可谓是大喜过望。为了趁热打铁,我决定提前三天放出原定本周日Releas...

    技术小黑屋
  • 谷歌官宣Kotlin成为Android 开发首选语言后,这四本书再也藏不住了!

    一年一度的 Google 开发者大会I/O 昨日如期举行。大会上,Google 正式向宣布 Kotlin成为Android 应用程序开发首选语言,接下来很多新的...

    博文视点Broadview
  • [转]Kotlin 语言入门宝典 | Android 开发者 FAQ Vol.5

    导语: 官方出的 FAQ ,kotlin是兼容 java 6.0 的 jvm 语言,此篇 FAQ 中,大概需要重点关注的大概是 APK 的影响吧: Kotlin...

    MelonTeam
  • 《 Kotlin极简教程 》正式预售: 欢迎阅读,大家多多指教!!! "Kotlin Minimalist Tutorial" official pre-sale: Welcome to read,

    本书由阿里Java程序员撰写,带你快速进入Kotlin世界。本书基于Kotlin 1.1版本,从Kotlin基础知识到动手实战,包含了大量精选示例代码和应用案例...

    一个会写诗的程序员

扫码关注云+社区

领取腾讯云代金券