获取内容资料
安卓开发

android用什么语言开发

Java还有其他JVM语言(废话)

C/C++(也是废话)

Python(著名项目fq.router2)

Lua(bilibili客户端←_←)

HTML5(又是废话)

QML(Qt项目的界面描述语言,同时可以用C++/js写业务代码,还能Ajax呢)

其实Qt+QML不错,可还不能嵌入WebView不幸福!编辑于 2014-08-30​赞同 24​​10 条评论​​收藏​喜欢收起​继续浏览内容知乎发现更大的世界打开浏览器继续brucevanfdm13 人赞同了该回答如果你已入坑,恐怕不会问出这个问题,

如果你是想研发新技术,搞个大新闻,你也不会问出这个问题,

要务实~发布于 2016-01-05​赞同 13​​1 条评论​​收藏​喜欢收起​继续浏览内容知乎发现更大的世界打开浏览器继续李乐佳A learner35 人赞同了该回答只有熟练了Java本身,熟悉了Android SDK本身,再利用其他语言的代码、框架才事半功倍。

永远纠结于语言,永远学不会。发布于 2012-07-22​赞同 35​​2 条评论​​收藏​喜欢收起​继续浏览内容知乎发现更大的世界打开浏览器继续Bill Cheng​iOS 开发话题下的优秀答主1 人赞同了该回答ANDROID有一大排不同的SDK类似物存在,如果你愿意,你甚至可以用SHELL SCRIPT来开发软件……发布于 2012-07-22​赞同 1​​添加评论​​收藏​喜欢收起​继续浏览内容知乎发现更大的世界打开浏览器继续知乎用户貌似现在可以有很多了,不只用java,具体还没来得及研究,感觉又要给自己充充能了发布于 2016-01-05​赞同​​添加评论​​收藏​喜欢收起​继续浏览内容知乎发现更大的世界打开浏览器继续知乎用户8 人赞同了该回答如果主要是开发安卓应用的话,可以推荐一套方案

由于html5发展,可以使用hybrid应用,而且可移植性特别高

解决方案是 angularJa + cordova + ionic

angularJs是谷歌维护开发的一套前端mvc的js框架,最特别的应该是他的双向数据绑定,但是可能比较难上手一些,推荐一些资料:

大漠的angular视频教程:使用AngularJS开发下一代Web应用

angular一些关键点的讲解:用Angular开发web应用

cordova是Apache维护,所以可以说是比较不错的一个框架可以说是,提供比较丰富的api,相机,文件,地理位置,本地数据库这些都容易就可以使用,而且可以支持很多平台,如果不习惯英文,那就可以尝试一下国产的Appcan,听说过没用过。

cordova:Apache Cordova API Documentation

ionic应该说是类似于bootstrap的一个东西吧,里面提供各种移动端上的css组件,js事件。

官方文档:Ionic Documentation

一些例子:Ionic on CodePen

当然可能还涉及很多方面,在这里也就是简单的介绍一种hybrid方案发布于 2014-08-31​赞同 8​​4 条评论​​收藏​喜欢收起​继续浏览内容知乎发现更大的世界打开浏览器继续Acoe起源学说10 人赞同了该回答Android APP开发除了使用Java,比较流行的还有Kotlin和Hybrid开发中普遍采用的JS+HTML。

在这几门语言都掌握的情况下来说,方便程度可能就是JS+HTML > Kotlin > Java。当然除此以外还有其他的语言,比如Google的Flutter框架所采用的语言就是Dart,随着Google的力推Flutter的社区和资源也在快速丰富起来,可能不久也会十分流行和便利。此外我见过的还有使用Python来开发APP的,没见过但有所耳闻的语言就更多了。

但是从我已经从事Android开发多年的经验来看,没有丰富的资料和活跃且庞大的社区,一门语言用来做实际的项目级应用的开发,肯定远远称不上方便。

所以方便与否我觉得应该从以下几个角度考量

比如最开始我是从Android原生开发上手的,也就是用Java开发Android APP,网上资料虽然参差不齐,但是各种版本的SDK接入、配置方式,以及各个IDE的使用方法是非常容易找到的。另外Java的生态非常成熟且社区异常庞大,也就是说不管是入门级的问题,还是开发过程中语言上遇到的困难,或者IDE使用过程中出现的不懂处,几乎都可以在网上找到答案。而且现在Android开发者网站已经有官方的中文网址,已不再像当年光翻墙的问题就足以劝退一大批小白。这里最方便的当推Java,其次就是JS+HTML模式的Hybrid框架,资源和社区也非常丰富,主要就是种类较多,需要做选择题,我所用过的混合框架上手从简单到复杂应该是H5+ -> Weex -> React Native。

从编程小白的角度来看,Android APP的开发光方便还不够,语言上手的难易程度也很重要。如果已经精通一门编程语言的话,去学习新的一门语言来做开发,更多的取舍可能像是在Java和Kotlin或者混合框架中做选择。考虑的是编程效率和最终体验的取舍。我只评价下我在项目级应用中实际用过的几种开发语言,Java、Kotlin和Hybird (我用过的混合框架主要是JS+HTML模式,有H5+和Weex),Java和Kotlin最终实现的都是原生APP(Weex其实也是),可以说是最终用户体验Top 1级别的,混合开发的框架种类非常多,光这个就可以单独开一篇文章来讲,但总体最终开发出来的APP用户体验要弱一些,在越复杂的APP中体现得越明显。但是编程效率上Hybird > Kotlin > Java,难易程度可能Kotlin 难于 Java(Kotlin中包含了大量的语法糖,加大了对语言机制理解的难度,但提高了代码编写的效率),JS+HTML最简单。至于其他语言,我的理解是,更多的意义在于对已经掌握这门语言的开发者提供了一个不需要学习新语言就能开发中一个Android APP的途径,稍小些的意义可能是新奇和探索,但是难易程度就无权评价了。

ps. 流行的Hybrid框架主要用的是JS+HTML语言做开发,但是React Native、Weex所用的语言是变种,ReactNative的学习门槛稍高,Weex基本上懂JS和HTML就完全没问题,另外DCloud和ACloud两家的混合框架都是纯粹使用JS+HTML来做开发的,风格比较类似。Google的Flutter就完全是不一样的一门语言Dart,看起来学习门槛不高,但是没做深入了解就不置喙了。

现在Android Studio基本奠定了Android IDE一哥的地位,Eclipse风光一去不复返,所以用Java或者Kotlin开发,AS是首选。Hybrid开发的选择非常多,有前端十分钟爱的WebStorm,我用过的DCloud家的Hbuilder很不错(可以三端调试浏览器、Android机、iOS机)。IntelliJ IDEA和Android Studio是同宗同源,也可以做Android APP的开发。其他小众语言的开发工具可能还包括VS Code等等。所以从工具的便利上来说,Java、Kotlin和Hybrid开发的便利性都差不多,工具都很成熟且受众很广。

如果APP只是自己一个人开发,也不会交给其他人来维护的话,可以不看这里。否则就需要考虑APP开发完成后的维护问题,如果是企业级的APP就极大地需要考虑能接替你做版本更新、内容迭代、BUG修改的人选问题。比如我上家公司后面全面使用混合框架来开发APP,在开发流失后招了几个月的人,也没有找到对这个框架比较熟悉的人选,但是如果招原生Java开发的就会相对容易很多。

所以我的最终答案是其他语言做Android APP开发也有很方便的,但是对不同的人来说哪个最方便答案是不一样的。

我是分割线

另我厂VPGAME在招JAVA、测试、前端、运营。大牛巨多,老板超级nice。欢迎童鞋简历来扰(传送门hr@vpgame.cn)

发布于 2018-09-27​赞同 10​​2 条评论​​收藏​喜欢收起​继续浏览内容知乎发

Similar Posts

发表评论

邮箱地址不会被公开。 必填项已用*标注