Why I prefer AppCode over Xcode07 Aug 2015
For the past four months, I've been learning iOS development. Basically I just read a book, and then started writing code. I haven't started
Swift language yet, for most iOS open-source libraries are written in
Objective-C. And I think I won't start using
Swift in another one or two years.
As an Android developer, I am used to
Android Studio, which is a fantastic IDE for coding. For those Android developers who havn't using
Android Studioyet, I strongly recommend you try it.
When I started using
Xcode for iOS development, I am very confused.
What is wrong with Xcode
I accidentally close projects all the time.
cmd + w is a common shortcut for close a tab or window on OSX. If you're using
Chrome, you know what I mean. If there are more than one tab in your brower when you use
cmd + w, it close the focused tab. If there is no tab left, it close the window. It's quite easy to understand, right? But NOOOO,
Xcode doesn't behave like that. If you use
cmd + w, it close the whole project.
Delete a whole line? NO!
You can't use
cmd + delete to delete a whole line, which is also a common shortcut on OSX. Yes, you can delete a whole line of code using
cmd + delete, but if there is just an extra line and you wanna to delete it?
cmd + delete will delete the line and delete half the line above it.
Code completion sucks
If you wanna use a certain method in a
NSObject, which has a word
index in it, but you can't remenber the whole name of the method, what will you do? Look up the document or source code to get the exact name or the first letter of the method? Because
Xcode can only auto-complete code from the beginning. For example, if you type in
[Object index, the IDE won't tell you all the methods related to
index keyword, it can only tell you the methods started with
index. This really makes writing code slower.
Why not? Even
Eclipse has this feature a long long time ago. I can't stand that when I am writing a method/function, the IDE tells me:" Oh, I can't recognize this. Oh, you can't use that".
Can you really see the Log?
The font and line spacing of the Log console is a disaster. The text is bold and line spacing is way too small. So the log just looks like a black block. I can't really distinguish one log from another.
CocoaPods is a dependency manager for iOS development, like
maven for Android and Java. To use
CocoaPods in your project, you can follow the steps on the CocoaPods website. This is not convenient enough! Becuase you need to use the terminal, which
Xcode do not provide a shortcut to open and relocate to the project folder. You will have to open a terminal, then go to the project folder, or go to the project folder in finder and open a terminal there. Finally you need to run a command line to install the dependencies. Why all the trouble?
AppCode can do all that for you, all you need to do is editing the
AppCode is better
AppCode fixes all the complaints I have about
Xcode, plus I can use all the keymap I am already familiar with in
Android Studio. Just export the keymap settings in
Android Studio and import it in
You can find out many other better feature of
AppCode on the official website. I am sure there are a lot to explore. You can find some tricks and tips on the AppCode Blog. This IDE truely makes my life a lot easier.
Flaws in AppCode
AppCode is not perfect, though. When it comes to edit
storyboard file, it is crappy. And
AppCode sure cannot submit apps to the AppStore. It's also not that good when editing the project settings.
Now my workflow of a new project is this:
- Create new project using
- Config project in
- Submit to beta test or AppStore in
AppCode can sync code and files instantly with
Xcode, you don't need to worry about conflicts when editing the same project/file using two IDEs.
I don't mean starting an argument about which IDE is better. It's just, to me,
Xcode is not good enough. I can be more efficient and focused when using
AppCode, that's what really matters.
If you are always an
Xcode user, you can try a 30-day trial of
AppCode, I mean, it doesn't hurt, does it? If you don't like, leave it there, delete it, do whatever you want with it. But if you like it, you will find out it really is an productivity tool. After all, IDE should make coder efficiency, right?