<output id="ilehw"><bdo id="ilehw"><nobr id="ilehw"></nobr></bdo></output>
        <dl id="ilehw"><font id="ilehw"></font></dl>
          1. Android 开发者应该从 Java 转到 Kotlin 吗?谷歌告诉你

            h4cd
             h4cd
            发布于 2019年05月13日
            收藏 30

            今年 I/O 大会上,谷歌宣布正在采取的下一个重大步骤是 Kotlin-first,Android 开发将越来越多地以 Kotlin 为主,许多新的 Jetpack API 和功能将首先在 Kotlin 中提供。并且当天谷歌就开源了 Jetpack Compose 呼应这一战略。

            消息一出来,“Android 开发以后是不是只能用 Kotlin 了”、“Android 开发者应该从 Java 转到 Kotlin 吗”等问题困扰了开发者。?#28304;耍?#35895;歌 Android Studio 技术负责人 Jeffrey van Gogh 进行了回应

            “我们将在很多方面继续支持 Java 编程语言”,Jeffrey 首先回答了 Android 关于 Java 支持的问题,同时给出了一张 Java 与 Kotlin 支持对照表。

            表中可以看到,Kotlin 相比 Java,在 Android 开发中确实获得了更加重要的地位,“比如在线培训、样本,我们首先会在 Kotlin 中支持,Java 中将是‘尽力而为’。同时,有一些功能,如多平台项目和 Jetpack Compose,只会在 Kotlin 中提供。”

            Jetpack Compose 是一个非捆绑 UI 工具包,结合了反应?#22870;?#31243;模型和 Kotlin 编程语言的简洁性和易用性,旨在简化 UI 开发。

            这样来看,很显然在今后一?#38382;?#38388;内 Android 开发者并不是只有 Kotlin 一种选择,Java 同样可用。而至于这是否只是一个过渡,则要听听 Jeffrey 是如何回答“是否应该从 Java 迁移到 Kotlin?”这一问题的。

            不要把‘Kotlin-first’误解成必须将现有 Java 开发的 Android 使用 Kotlin 重写”,Jeffrey 说到,并补充?#24471;?#35895;歌自家的应用也没有这样做。 

            Jeffrey 的意思是 Java 与 Kotlin 具有极高的互操作性,所以两者完全可以共存于同一个项目中。“看看 Android Studio,它有几十万行代码,其中大?#21152;?10% 的 Kotlin 代码。我们所做的只是使用 Kotlin 编写新功能。Kotlin 与 Java 具有很好的互操作性,可以在 Kotlin 中编写单个类,其余部分使用 Java 编写,或者使用 Kotlin 编写 99% 的代码,而剩下的一点点用 Java 来写。”

            而具体应该继续使用 Java 还是转到 Kotlin,Jeffrey 表示这需要考虑一些因素,比如团队对于 Kotlin 的兴趣、Kotlin 的学习曲线之陡峭,还有能不能接受 Kotlin 本身相比 Java 在开发 Android 上的弱点,比如软件构建过程需要更长的时间,因为 Kotlin 编译器比通用 Java 编译器要慢,以及 Kotlin 生成的 APK 相?#36234;?#22823;。

            此外应用开发所处的阶?#25105;?#38656;要考虑,Jeffrey 表示新项目使用 Kotlin 编写是更好的选择。

            本站文章除注明转载外,均为本站原创或编译。?#38431;?#20219;何?#38382;?#30340;转载,但请务必注明出处,尊重他人劳动共创开源社区。
            转载请注明:文章转载自 OSCHINA 社区 [http://www.bswx.tw]
            本文标题:Android 开发者应该从 Java 转到 Kotlin 吗?谷歌告诉你
            加载中

            精彩评论

            简单代码
            简单代码
            并不喜欢那?#26088;?#31616;表达式,虽然敲代码时间少了,可阅读更费时间了。
            ?#25307;?#21517;平
            ?#25307;?#21517;平

            引用来自“简单代码”的评论

            并不喜欢那?#26088;?#31616;表达式,虽然敲代码时间少了,可阅读更费时间了。
            兄弟。要不看二进制或者汇编吧。这就不是极简。就怕你看不懂。。
            xiaokek
            xiaokek

            引用来自“xiaokek”的评论

            声明变量把类?#22836;?#21518;面 这种反C语言习惯的做法我不喜欢

            引用来自“xshrim”的评论

            习惯问题, 当初学go的时候还不是很难接受, 现在真香.
            go让名称放在第一位,但是我感觉在开发的时候类型才是最重要的1. 当需要定义一个整形变量a。 心里是这样想的:我现在需要一个整形的变量,我要定义它,于是我先写一个int,再思考它的名字 a ,于是就这么写出来了int a 。而不是我写了个变量a,我得给它区分个类型int。2. 在调用一个方法的时候,func(abdfsasdffdg int, bagressdgf string, csdgesredg bool) 那个go函数看的很乱,程序员其实根本就不怎么看?#38382;?#21517;字是什么,而只是看需要传入什么类型,注意力只在于int,string,bool这三个,如果如上那么写,反而影响了视线,乱系八糟的。func(int adsfasdfsdaf, string asdfasfasf, bool gwegasgs),这么写我只注意类型,就不受名称影响了。3. IDE自动提示 go本身就是为快而生,定义一个结构变量Rectangle rectangle,当键盘敲下r时候,IDE会自动给出rectangle,直接回车就出来了,反过来就的自己一个字母一个字母敲上去,蛋疼啊4. 至于go给出的解释,当遇到复杂函数时…… 一个项目中能写几个复杂函数,为了去解决这么一点小问题就把优?#32856;?#29306;牲了 Go 语法设计从头到尾透漏着故意的与众不同
            大公司的翔都是香的,真是悲哀
            阿信sxq
            阿信sxq

            引用来自“简单代码”的评论

            并不喜欢那?#26088;?#31616;表达式,虽然敲代码时间少了,可阅读更费时间了。
            编写一时爽,维护火葬场
            这波天秀
            这波天秀

            引用来自“简单代码”的评论

            并不喜欢那?#26088;?#31616;表达式,虽然敲代码时间少了,可阅读更费时间了。

            引用来自“阿信sxq”的评论

            编写一时爽,维护火葬场
            不想学习你就直说,想要啰嗦复杂还不容易,直?#26377;?#27719;编不就完了

            最新评论(58

            ?#25307;?#21517;平
            ?#25307;?#21517;平

            引用来自“简单代码”的评论

            并不喜欢那?#26088;?#31616;表达式,虽然敲代码时间少了,可阅读更费时间了。

            引用来自“?#25307;?#21517;平”的评论

            兄弟。要不看二进制或者汇编吧。这就不是极简。就怕你看不懂。。

            引用来自“nevercat_oo”的评论

            没看人家重点是在说可阅读性吗?怎么开始说起简不简洁了.....

            引用来自“?#25307;?#21517;平”的评论

            他开头就说了极简,,,,我眼睛没瞎吧

            引用来自“?#20855;嗣任鰲?#30340;评论

            文言文极简可?#21015;?#39640;么,这只是在可?#21015;?#21644;效率中寻找一个平衡而已,而且@简单代码 只是发表了自己的观点而已,你自己?#34892;?#36259;看汇编你自己看去别人看懂看不懂你怕什么.

            引用来自“?#25307;?#21517;平”的评论

            时代在进步。。。。跟不上步伐迟早被抛弃。。。既然不喜欢。说明没用。没用那你凭什么来可阅读性能差?凭什么?你没资格。。。。看着费劲说明基础不行。不行就好好读书。别到处bb。

            引用来自“?#20855;嗣任鰲?#30340;评论

            我以为是在跟人说话,原来?#20197;?#36319;狗说话,对不起我我们不在一个频道.

            引用来自“?#25307;?#21517;平”的评论

            哟。。。你这条谁家主人没牵好到处咬人。。。劳资打了疫苗。。谁便咬。。。。不学无术。。。自己垃圾还怪别人的东西不好。。。

            引用来自“?#20855;嗣任鰲?#30340;评论

            抱歉本人把狗语翻译机关了听不懂你在说什么.
            狗狗。那你快滚回你妈肚子里去。艹尼玛。。。。垃圾。写不会程序怪语言。艹死狗
            ?#20855;嗣任? title=
            ?#20855;嗣任?/a>

            引用来自“?#20855;嗣任鰲?#30340;评论

            我以为是在跟人说话,原来?#20197;?#36319;狗说话,对不起我我们不在一个频道.

            引用来自“?#25307;?#21517;平”的评论

            哟。。。你这条谁家主人没牵好到处咬人。。。劳资打了疫苗。。谁便咬。。。。不学无术。。。自己垃圾还怪别人的东西不好。。。
            抱歉本人把狗语翻译机关了听不懂你在说什么.
            ?#25307;?#21517;平
            ?#25307;?#21517;平

            引用来自“简单代码”的评论

            并不喜欢那?#26088;?#31616;表达式,虽然敲代码时间少了,可阅读更费时间了。

            引用来自“?#25307;?#21517;平”的评论

            兄弟。要不看二进制或者汇编吧。这就不是极简。就怕你看不懂。。

            引用来自“nevercat_oo”的评论

            没看人家重点是在说可阅读性吗?怎么开始说起简不简洁了.....

            引用来自“?#25307;?#21517;平”的评论

            他开头就说了极简,,,,我眼睛没瞎吧

            引用来自“?#20855;嗣任鰲?#30340;评论

            文言文极简可?#21015;?#39640;么,这只是在可?#21015;?#21644;效率中寻找一个平衡而已,而且@简单代码 只是发表了自己的观点而已,你自己?#34892;?#36259;看汇编你自己看去别人看懂看不懂你怕什么.

            引用来自“?#25307;?#21517;平”的评论

            时代在进步。。。。跟不上步伐迟早被抛弃。。。既然不喜欢。说明没用。没用那你凭什么来可阅读性能差?凭什么?你没资格。。。。看着费劲说明基础不行。不行就好好读书。别到处bb。

            引用来自“?#20855;嗣任鰲?#30340;评论

            我以为是在跟人说话,原来?#20197;?#36319;狗说话,对不起我我们不在一个频道.
            哟。。。你这条谁家主人没牵好到处咬人。。。劳资打了疫苗。。谁便咬。。。。不学无术。。。自己垃圾还怪别人的东西不好。。。
            ?#20855;嗣任? title=
            ?#20855;嗣任?/a>
            我以为是在跟人说话,原来?#20197;?#36319;狗说话,对不起我我们不在一个频道.
            ?#25307;?#21517;平
            ?#25307;?#21517;平

            引用来自“简单代码”的评论

            并不喜欢那?#26088;?#31616;表达式,虽然敲代码时间少了,可阅读更费时间了。

            引用来自“?#25307;?#21517;平”的评论

            兄弟。要不看二进制或者汇编吧。这就不是极简。就怕你看不懂。。

            引用来自“nevercat_oo”的评论

            没看人家重点是在说可阅读性吗?怎么开始说起简不简洁了.....

            引用来自“?#25307;?#21517;平”的评论

            他开头就说了极简,,,,我眼睛没瞎吧

            引用来自“?#20855;嗣任鰲?#30340;评论

            文言文极简可?#21015;?#39640;么,这只是在可?#21015;?#21644;效率中寻找一个平衡而已,而且@简单代码 只是发表了自己的观点而已,你自己?#34892;?#36259;看汇编你自己看去别人看懂看不懂你怕什么.
            时代在进步。。。。跟不上步伐迟早被抛弃。。。既然不喜欢。说明没用。没用那你凭什么来可阅读性能差?凭什么?你没资格。。。。看着费劲说明基础不行。不行就好好读书。别到处bb。
            ?#25307;?#21517;平
            ?#25307;?#21517;平

            引用来自“简单代码”的评论

            并不喜欢那?#26088;?#31616;表达式,虽然敲代码时间少了,可阅读更费时间了。

            引用来自“?#25307;?#21517;平”的评论

            兄弟。要不看二进制或者汇编吧。这就不是极简。就怕你看不懂。。

            引用来自“?#20855;嗣任鰲?#30340;评论

            兄弟我们厂要一个抬杠的,我看你挺合适的要不考虑下.
            ,,,,,,,,,,良心不痛?
            ?#25307;?#21517;平
            ?#25307;?#21517;平

            引用来自“简单代码”的评论

            并不喜欢那?#26088;?#31616;表达式,虽然敲代码时间少了,可阅读更费时间了。

            引用来自“?#25307;?#21517;平”的评论

            兄弟。要不看二进制或者汇编吧。这就不是极简。就怕你看不懂。。

            引用来自“nevercat_oo”的评论

            没看人家重点是在说可阅读性吗?怎么开始说起简不简洁了.....
            他开头就说了极简,,,,我眼睛没瞎吧
            x
            xshrim

            引用来自“xiaokek”的评论

            声明变量把类?#22836;?#21518;面 这种反C语言习惯的做法我不喜欢

            引用来自“xshrim”的评论

            习惯问题, 当初学go的时候还不是很难接受, 现在真香.

            引用来自“xiaokek”的评论

            go让名称放在第一位,但是我感觉在开发的时候类型才是最重要的1. 当需要定义一个整形变量a。 心里是这样想的:我现在需要一个整形的变量,我要定义它,于是我先写一个int,再思考它的名字 a ,于是就这么写出来了int a 。而不是我写了个变量a,我得给它区分个类型int。2. 在调用一个方法的时候,func(abdfsasdffdg int, bagressdgf string, csdgesredg bool) 那个go函数看的很乱,程序员其实根本就不怎么看?#38382;?#21517;字是什么,而只是看需要传入什么类型,注意力只在于int,string,bool这三个,如果如上那么写,反而影响了视线,乱系八糟的。func(int adsfasdfsdaf, string asdfasfasf, bool gwegasgs),这么写我只注意类型,就不受名称影响了。3. IDE自动提示 go本身就是为快而生,定义一个结构变量Rectangle rectangle,当键盘敲下r时候,IDE会自动给出rectangle,直接回车就出来了,反过来就的自己一个字母一个字母敲上去,蛋疼啊4. 至于go给出的解释,当遇到复杂函数时…… 一个项目中能写几个复杂函数,为了去解决这么一点小问题就把优?#32856;?#29306;牲了 Go 语法设计从头到尾透漏着故意的与众不同
            大公司的翔都是香的,真是悲哀
            别跟?#39029;?#36825;些. 现在一堆语言都是类型后置. 还有一堆语言语法各种跟C不同套路, 各有各的道理, 我都能接受, 没必要在一个极其简单的语法规范上较劲. 大多数语法仅仅是多写几行就能习惯的事, 与其较劲, 不如动动手.
            敬年少
            敬年少
            #??此处输入软件################??###############
            返回顶部
            顶部
            广东快乐十分实时开奖

                  <output id="ilehw"><bdo id="ilehw"><nobr id="ilehw"></nobr></bdo></output>
                  <dl id="ilehw"><font id="ilehw"></font></dl>

                            <output id="ilehw"><bdo id="ilehw"><nobr id="ilehw"></nobr></bdo></output>
                            <dl id="ilehw"><font id="ilehw"></font></dl>
                              1. 快乐12选五开奖结果 皇冠球探篮球比分 十一运夺金前一 澳洲幸运5开奖分析软件 七星彩17088期规律 辽宁11选5复式玩法 浙江快乐12选5预测 广东时时彩37期 全国新11选5 大小走势图陕西11选5 广东十一选五走势图一定牛 上海时时彩开奖结果 1000本金赌场玩百家乐一天能否赢300 广东十一选五360彩票 六场半全场历史开奖500