AppCode, mon amour

Ich muss ja zu meiner Schande gestehen, dass ich mich mit Xcode immer noch nicht anfreunden kann: seit fast 3 Jahren nutze ich diese IDE (angefangen mit Xcode 3) und ich vermisse schmerzlich Features und Konzepte, die ich als Java-Entwickler kennen und lieben gelernt habe. Und das sind keine wirklich exotischen Funktionalitäten sondern nur solche Dinge wie z.B. “generiere mir eine Default-Implementierung für ein Interface/Protocol”. Mit @synthesize hat sich das bei simplen getter- und setter-Methoden deutlich verbessert, aber bei Methoden, die “richtige” Logik implementieren, muss das immer noch von Hand gemacht werden.

Vor ein paar bin ich über Twitter auf AppCode (http://www.jetbrains.com/objc/index.jsp) gestoßen. AppCode wird von JetBrains implementiert, die selbe Softwareschmiede, die IntelliJ IDEA entwickelt. Zu IntelliJ habe ich eine sehr spezielle Beziehung: der Arbeitgeber, bei dem ich meinen ersten Job nach dem Studium hatte, hat diese IDE verwendet (ich glaube, das war noch IntelliJ 4 …). Im Gegensatz zu vielen anderen Java-IDEs kostet IntelliJ Geld … und zwar gar nicht mal so wenig: 499$ für Firmen und Organisationen und 199$ für Programmierer, was sicherlich den recht geringen Bekanntheits- und Verbreitungsgrad erklärt. JetBrains macht Tools für Programmierer von Programmierern, was auch deutlich zu merken ist an kleinen Features, wie der on-the-fly code-Analyse für diverse Sprachen und der Erkennung von doppeltem Code.

Zur Zeit befindet sich  AppCode in der Beta-Phase und kann noch gratis ausprobiert werden, die 1.0-Version wird 199$ für Firmen und Organisationen und 99$ für Programmierer kosten. In der Beta-Phase gibt es aber die Möglichkeit, einen 50%-Rabatt für die 1.0-Version zu erhalten, dafür ist lediglich eine Registrierung notwendig. AppCode ist voll kompatibel zu Xcode, d.h., bisher mit Xcode bearbeitet Projekte können mit AppCode geladen und geschrieben werden. Darüber hinaus integriert es sich in den Interface-Builder, in der Simulator und zusätzlich ist es möglich, die Applikation direkt aus AppCode auf einem Device laufen zu lassen.

Start-UI von AppCode bei geladenem Projekt

AppCode begrüßt den geneigten Entwickler mit einer sehr aufgeräumten Oberfläche. Im Screenshot sind der Projekt-Explorer auf der linken Seite, der Editor auf der rechten Seite und diverse Hilfsfenster unten zu sehen. Dieses Interface kann insofern geändert werden als dass Projekt-Explorer und andere “angedockte” internal windows aus dem Interface gelöst und verschoben (auch aus dem AppCode-Fenster raus) werden können. AppCode ist eine Java-Swing-Applikation, trotzdem aber erstaunlich “snappy”: das UI reagiert unmittelbar auf Benutzereingaben. In der aktuellen Beta-Version ist AppCode zudem vollständig Lion-kompatibel und bietet einen Fullscreen-Modus. Was ich bislang noch nicht gefunden habe, ist eine Möglichkeit, die Projekteinstellungen vorzunehmen, bislang musste ich dazu immer noch Xcode nutzen. Ich bin mir auch nicht sicher, ob AppCode in der 1.0-Version dieses Feature erhält. Der erste Eindruck ist wirklich sehr gut, ich denke, ich werde ich nächster Zeit öfters mit AppCode arbeiten.

{lang: 'de'}

flattr this!

3 Comments

  1. [...] eine neue Folge von “Heldenfunk” aufgenommen. Dieses Mal habe ich ein paar Worte über AppCode erzählt. Besonders für die Oracle-Jungs und Mädels gibt es dieses Mal ein Schmankerl: eine [...]

    • Interesting episode, ealecisply the part about Xcode and AppCode. One thing that popped up while I listened to the discussion was that maybe skipping the IDE completely could be an interesting idea.I’ve been thinking for a while now about moving away from Xcode, write all my source code in Vim, TextMate, Vico or any other dedicated editor, use the CMake build system, debug directly from the command line with gdb and so on.While it may be a bit tricky to get started doing it that way I feel the temptation to loose my bounds to Xcode. I’m sure that Xcode 4 will become better over time but I’m not convinced yet. I’m happy with Xcode 3.2 but I don’t think that it will be updated for newer OS releases so eventually I’ll have to move away from it anyway.Do you think that this could be a viable solution for a Mac and/or iOS developer?

  2. Hey Guys,A few notes:- Xcode is now in the App Store but if you’re in either the iOS or Mac deelvoper programs, you still get it for free via the Web. – If you’re stuck, there are also several WWDC vids on what’s new. That said, I don’t think any provide all the info you asked for on the show and you’re right, the Transition Guide is basically a joke. A lot is missing. I’m one of the people that digs Xcode 4. I wonder how much of this is slanted to Mac vs. iOS work. 90% of my work is on iOS with very little Mac stuff.I love LLVM 2.0 and it’s integration with the new editor (Fix It, better autocompletion (pretty bad on 3.x). Schemes have simplified my on-device vs Simulator builds the 3.x setup was clearly never designed to handle iOS requirements. We still can’t use LLDB for iOS yet but that looks like a nice improvement. I find debugging different threads or GCD queues much easier with the new UI, including being able to hide threads that don’t have my code running. It’s a bunch of little things but I find myself happier. Workspaces make combining projects far more flexible, plus they can be shared. Some stuff, like the new documentation viewer, is terrible and needs to be improved. The app still sucks massive CPU cycles sometimes for pretty much no good reason. Still, those things have improved in the point releases since 4.0. Many deelvopers won’t try preview releases of the toolchain. Going GM forced that issue and I’d expect (hope?) that things start to improve faster now that it is the official’ toolkit. 4.1dacted also seems to iron out some annoyances. See you at WWDC!Hunter

Add Your Comment

Make sure you share your opinion with us. Fields marked * are required. Any other information is optional and for your own pleasure. Your email address will be hidden and never published or used in any way.


Optional Details

If you like you can tell us your website URL and Twitter Username. We'll link your name to your web address and we'll add a twitter link to your comment. This is completely optional.