Android 系列 1.7选择Android开发的IDE

263 篇文章 2 订阅
164 篇文章 0 订阅
1.7选择Android开发的IDE


问题
使用构建工具是可以的,但用纯文本编辑器编码太慢,不能作为您的常规开发流。您想要选择要用于Android项目的IDE:Android Studio,Eclipse或“其他”。



称重每个的利弊,然后掷骰子。在一个合理大小的项目上尝试每个。


讨论
而在MS-Windows世界中有一个单一的IDE占主导地位,而在Android世界中有一个单一的IDE是“官方”,在较大的Java世界有几个值得考虑。
Eclipse是Java早期创建的,一旦清楚他们当时的IDE可视化时代不会有很长的生命(Visual Age是用Smalltalk而不是Java编写的)。在我教授Java课程的经验中,大约80%的Java开发人员使用Eclipse,而且这个数字多年来相当稳定。
Android Studio是Google支持的官方Android IDE。它基于IntelliJ Idea,这是一个早已存在的Java IDE,但是在Google将其插件重新命名为Android Studio之前,它相对较少。
NetBeans是由Sun Microsystems收购的一家小公司编写的。 Sun Microsystems又被Oracle收购。 Netbeans很长一段时间以来一直是“官方”的Java IDE,但它的用法是“eclipsed”的Eclipse(记住:当另一个身体通过太阳前面的日食)。相对较少的开发人员使用专门用于Android的NetBeans,为了保持讨论重点,NetBeans不会在本配方的其余部分。
在Android的第一个十年,Google建议使用Eclipse和他们自己的称为“Android开发工具”(ADT)的插件。他们提供了它作为一个独立的插件(对于已经启动和运行Eclipse的用户)和一个已经集成了Eclipse的软件包。在2013年左右,他们宣布切换到基于IntelliJ的Android Studio。不久之后,Eclipse基金会宣布,一个小团队正在选择ADT(因为它是开源的)并且合并了一些额外的工具。这个新插件称为“AndMore”(见https://projects.eclipse.org/
projects / tools.andmore)。使用AndMore的Eclipse与来自Eclipse的ADT等效并向前兼容,但是项目文件中的一些名称必须更改。注意一些组织可能选择留在ADT;如果你在那个阵营,你可以(大多数)只是替换ADT,我们说更多。
项目结构的选择和随附的构建工具也可能是选择的一个因素。 Eclipse支持单级项目,这通常是应用程序所需要的,如果您使用官方的Android单元测试框架,可选的第二个项目用于测试(见第3章)。 ADT(因此AndMore)不需要外部构建工具;该插件包含所有智能构建任何类型的Android应用程序。它只有两个项目文件需要保持在源代码控制:.project和.classpath。目录.settings也可以被控制,但它改变很多,最好被忽略。在Eclipse中甚至有一个API用于操作项目结构。因为只有两个文件,通过编辑配置文件来破解项目是不是没有问题。此外,Eclipse由Maven构建工具使用M2E(Maven Eclipse)和M2E-Android插件(您需要两者)很好地支持。但是,必须承认,这种设置可能有点古怪。
另一方面,Android Studio使用一个令人迷惑的项目文件的迷宫。以下是Android Studio 2.0创建的项目中的文件列表(不包括您的程序的源代码!):

Android Studio 2.0:

./.gradle/2.4/taskArtifacts/cache.properties
./.gradle/2.4/taskArtifacts/cache.properties.lock
./.gradle/2.4/taskArtifacts/fileHashes.bin
./.gradle/2.4/taskArtifacts/fileSnapshots.bin
./.gradle/2.4/taskArtifacts/outputFileStates.bin
./.gradle/2.4/taskArtifacts/taskArtifacts.bin
./.idea/.name
./.idea/compiler.xml
./.idea/copyright/profiles_settings.xml
./.idea/encodings.xml
./.idea/gradle.xml
./.idea/libraries/appcompat_v7_23_0_1.xml
./.idea/libraries/design_23_0_1.xml
./.idea/libraries/hamcrest_core_1_3.xml
./.idea/libraries/junit_4_12.xml
./.idea/libraries/support_annotations_23_0_1.xml
./.idea/libraries/support_v4_23_0_1.xml
./.idea/misc.xml
./.idea/modules.xml
./.idea/runConfigurations.xml
./.idea/workspace.xml
./build/ - ignore
./build.gradle
./gradle/wrapper/gradle-wrapper.jar
./gradle/wrapper/gradle-wrapper.properties
./gradle.properties
./gradlew

./gradlew.bat
./local.properties
./MyApplication.iml
./settings.gradle
./mainapp/.gitignore
./mainapp/build.gradle
./mainapp/mainapp.iml
./mainapp/proguard-rules.pro


它似乎采取A​​ndroid Studio约30个文件什么Eclipse在几个。诚然,不是所有这些都必须由源控制,但哪些?要回答这个问题,请查看Android Studio 2.x生成的项目中的.gitignore文件;这将列出不应包含在源代码控制中的文件。
Android Studio还坚持每个项目都有一个额外的目录结构,称为应用程序的应用程序,以满足相对较少的具有多个模块的应用程序(如库)。在Eclipse中,您只需使用库依赖于项目库项目。由Studio放置的额外目录结构包含路径名,意味着创建Studio项目的目录不符合十年前的Maven项目结构,意味着您不能使用旧的熟悉的grep -r somePattern projectname / src;你必须记住每次输入一个额外的“app /”。看似无害,但恼人。当然,人们通常使用多个项目,但忘记创建它们时,他们开始将欣赏的Studio做的事情的方式。
你也应该考虑速度。两者都很快输入你键入的代码。因为Studio不是一个完整的IDE,但依赖于Gradle来构建,它曾经是一个很慢,但Studio 2.x应该在这方面有很大的改进。不同的人对如何测量速度有不同的想法,不同的结果已经声称,所以你应该尝试这个自己代表性的开发硬件。 Eclipse提供了一个带有基于树的“包资源管理器”的单个窗口,因此您可以轻松地在项目之间移动,复制或比较文件。 IntelliJ / Studio在一个新窗口中打开每个项目,默认情况下,关闭前一个。
所以,有很多差异,但也有很多明显的相似之处。就像买车:通用,福特,克莱斯勒,特斯拉,宝马,丰田和更多的汽车制造商,但你必须选择其中之一购买。有了IDEs的选择不是独家。如果你喜欢两个?你可以在你的常规Java工作和IntelliJ / Android Studio中使用Eclipse为你的Android工作 - 特别是如果你需要最新的Android支持 - 虽然来回切换可能会讨厌。您甚至可以将Android项目设置为在两个IDE中都可以打开 - 我们已经为样本库中的大多数项目这样做了。然而,这不是一个非常有利可图的事业,我们不推荐它作为一般的做法。
哦,如果你运行这两个,一定要配置它们共享相同的“SDK”文件夹 - 实际的Android工具,库和模拟器图像,所以你不必更新一切两次。
作为经验丰富的Eclipse用户的另一个路径,您可以使用Android Studio,但是告诉它使用Eclipse键映射,这将使它在某种程度上像Eclipse,虽然许多关键序列设置只是平常错误,需要把它们弄干一点。如果你这样做,但是你团队中的另一个开发人员是Studio的本地用户或底层的IntelliJ,那么当进行配对编程时,你会感到沮丧。
概要
如果你想要最好的支持新功能,Android Studio可能是一个更好的选择。
如果你想要一个广泛使用的IDE在Java社区中广泛使用,Eclipse可能是一个更好的选择。没有硬而快的答案。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值