
AppCode: Objective-C IDE from JetBrains goes public - oemera
http://blog.jetbrains.com/objc/
======
stevejohnson
At first I was excited that Xcode had some competition, so I downloaded this
as soon as it was available.

Unfortunately, it has a crappy Java-generic GUI. For an IDE for a platform
that makes a big deal out of user experience, it really looks awful. (And it
manages to be slower than Xcode 4!)

I understand that tools don't have to be pretty to be functional, but I draw
the line here.

~~~
frou_dh
Same deal with MonoDevelop. These alien GUIs look absolutely miserable in OS X
alongside the system and all the tastefully done third party native apps you
have running.

~~~
jasonlotito
Unfortunately, outside of xcode, their is no other competition. No other IDE
comes close. Considering this release is a pre-beta (and not some faux-beta
popular with web two point oh startups these days). Having used other
Jetbrains products, I'm fairly certain that when all is said and done, the
final product will be solid IDE.

~~~
msbarnett
> Having used other Jetbrains products, I'm fairly certain that when all is
> said and done, the final product will be solid IDE.

It probably will be solid, but having used their other products on the Mac
(RubyMine, IntelliJ), it's probably never going to get any less java-ugly or
feel any more native.

And I think that's likely to be more of a problem for potential users of
AppCode vs RubyMine or IntelliJ users on the Mac. Because its target market is
either established Mac developers who care about the conventions and tastes
prevalent in Mac software, and thus find AppCode ugly and alien in function,
or users of other JetBrains products getting started with Mac development, for
whom AppCode might feel familiar but will be a barrier to learning about the
conventions and tastes prevalent in Mac software, leading them to produce sub-
par experiences with the product.

~~~
chrismsnz
Meh - it's not for those us who like everything in its place, fully native "oh
my god it's so elegant" software.

It's for those of us who want something that does everything we want (plus
some more) without being too hard on the system resources and has the ability
to stay out of our way when we need it to.

It's true, Jetbrains products are not the most beautiful, and yes they're
mostly written in java. However, they do make incredibly functional products
with a slim learning curve with some amazing features. Jetbrains products
(from Python to Ruby to PHP, and I'm sure their new AppCode) have consistently
shown the best understanding of the code being developed which contributes to
the best code sense and refactoring support I've ever seen in any IDE.

------
pilif
I know the GUI might not look nice due to being Java, but if AppCode will get
as much polish and as many features as IDEA or the smaller language specific
IDEs got, then AppCode is something to really look forward to.

Even after a year of constantly using PhpStorm (yeah - _still_ no time to
rewrite that huge app I'm maintaining) I'm still finding little things that
show that the IDE was really made by developers.

It's just like with the iPhone: It's full of little nice touches.

Recently, I was pissed of enough about the typo in the name of an interface:

    
    
        IModuleAmmendment
    

and I had PhpStorm rename refactor it.

Of course it worked (and instantly over 800 files), but it also fixed the typo
in a class implementing the interface (CatalogModuleAmmendment was for example
renamed to CatalogModuleAmendment).

And that's just a sample: The IDEs are full of these little things. This makes
me so productive that I can easily live with the less-than-perfect looking UI.

This sounds like a commercial, but I'm really just a (incredibly) happy
customer of theirs.

~~~
chrismsnz
Absolutely.

PhpStorm is simply the best IDE I've used for our very large PHP application.
And I've tried almost all of them.

------
xutopia
What I would pay for is not another IDE but one that handles all the code
signing bullshit for me. It's crazy the amount of errors a team can have
regarding code signing and push notification certificates.

------
callumjones
I'm excited to see more additional development solutions for Objective C; but
why are we taking a step backward with these awful Java like GUIs that have
plagued Eclipse and NetBeans?

Why in 2011, are people still building UI heavy applications with Java?

~~~
jon914
Our startup's main product uses Java for a UI heavy app because makes it cross
platform out of the box and is relatively easy to develop a nice, native
looking UI with if you know what you're after.

Our closest competitors locked themselves to one platform and have faced
challenges trying to go cross platform.

~~~
callumjones
Chrome and Firefox seem to do a good job of going cross platform.

~~~
afsina
İt is just far easier with java.

~~~
callumjones
Being 'easy' is irrelative when it results in a terrible user experience.
There's no way to explain to the user: "oh this would look a lot better but we
wanted to use a different language so it's not our fault".

~~~
afsina
Jetbrains producsts has a good reputation. It does not apply here.

------
rodh257
JetBrains does a lot of good things. The fact that they bring their ideas to a
number of different languages is a great thing. Resharper, IntelliJ, RubyMine,
PyCharm, Phpstorm and now AppCode - you could stick purely to Jetbrains
products and have a familiar IDE layout and functionality for the various
different application development tasks you undertake.

------
mrbrandonking
I've wished many times for ReSharper-like refactoring in Xcode. Now JetBrains
(the ReSharper people) have announced CIDR, an Objective-C IDE.

Apparently CIDR is still at an early stage (pre-beta even) and doesn't yet
support debugging on a physical device, but I still take this as great news. I
think allowing developers to download and try CIDR now will give JetBrains the
feedback they need to deliver a great finished product.

------
nevster
I don't think most Xcode users know what they're missing. And unfortunately
they still won't, just by looking at screenshots and perhaps firing this up
and having a quick bash around.

Some really good screencasts are needed to show what's possible with appCode -
fortunately JetBrains does excellent screencasts for their other products and
I'm sure they'll do these as it gets closer to release.

As for me, I'm a long-time IntelliJ user. Xcode 3 has been incredibly painful
to use - even after taking a lot of time and effort to learn the keyboard
shortcuts.

Xcode 4 is a major step in the right direction and started to actually make
iOS coding reasonably fun. But it still can't hold a candle to the features
available in this early release of appCode - it's awesome.

~~~
nevster
Here is one small example of something that won't be apparent to someone
without a demonstration.

Say I have a class called Foo and I realise, as I'm using it, that I want to
add a method called doSomethingElse, I can just type the new method call and
have appCode create the method for me. Ie:

Foo *foo = [[Foo alloc] init];

[foo doSomething];

[foo doSomethingElse]

doSomethingElse would be marked in red. I just have to hit command-enter,
select 'Create method' and appCode creates the method signature in Foo.h,
creates the method in Foo.m and puts the cursor in the body of the method
ready to implement it.

This improves coding flow remarkably.

~~~
msbarnett
That strikes me as a good example of where the kinds of features JetBrains is
known for don't really mesh with Objective-C.

If doSomethingElse is a method defined in a category I expect to be loaded at
runtime, or something I expect to be caught by foo's forwardInvocation method,
having it turn red and bug me to provide an implementation in Foo is exactly
the wrong thing to do.

It's the kind of little feature that really only makes sense in the context of
a static language like C#, where a method call without a corresponding method
implementation can be known definitively to be an error.

~~~
teaspoon
GCC would give a warning if you tried to compile this, and Xcode 4 would
highlight the offending line with a yellow bubble. appCode's behavior doesn't
seem too inappropriate in this case.

~~~
nevster
Now that you mention this, I think it's highlighted in a muted color as a
warning, not as a glaring red error.

------
joubert
I can't imagine they can compete with XCode 4 and its excellent integration
with profiling tools, LLVM, etc.

------
upinsmoke
Competition is always good. Just wish that you don't have to download Xcode
again with every iOS SDK update.

~~~
oemera
I never understood that. Is there a good reason why everyone have to download
4gb for each XCode and iOS SDK release?

------
h7brid
I am sure it will get polished before the final release. All IntelliJ IDEs can
install a very functional VIM plugin - that itself is a big deal for me!

~~~
wriq
Having a vim plug-in for Xcode 4 would make my year. For longer coding
sessions i've been editing in MacVim with cocoa.vim and clang_complete.

------
eweise
As a java developer that needs to also support native iphone and android apps,
this is a huge win for me. Its very nice to jump around projects using the
same familiar keystrokes and functions.

------
ohhmaagawd
just for reference, here's what it looks like: <http://cl.ly/5rbn>

doesn't look ugly to me. Looks clean actually...

~~~
msbarnett
Clean, perhaps, but absolutely non-native, which is generally considered an
ugly quality on OS X.

~~~
wtallis
The disclosure triangles and combo box look native. The icons, scrollbars,
tabs, toolbars, status bar, tip-of-the-day dialog (wtf?), and confirmation
dialogs all are obviously non-native, some of them in ways that are trivially
fixable (such as getting the button order right in the confirmation dialogs).

I understand that it's pre-beta, but if they consider the current GUI to be
even a prototype instead of the placeholder that it is, they'll likely never
get any traction outside of Java developers trying to cash in on Apple's App
Stores.

~~~
masklinn
> but if they consider the current GUI to be even a prototype instead of the
> placeholder that it is

I doubt it is. It's not the first Jetbrains IDE on OSX. They may decide to go
a very different graphical route for this one as it's pretty obviously OSX-
only, but that's not really a given.

------
Samuel_Michon
The project sounds cool, but the perspective of the bottle icon is way, way
off.

------
meinhimmel
I am very excited to try this since XCode has really needed a suitable
alternative for a while.

------
mattyohe
Ah good, something we can point to the next time someone complains about
XCode.

------
GeneralMaximus
I noticed it has the new "vanishing" scrollbars. Looks a little ugly, but it's
not that bad. I expect it will get better with time. I like the color-coded
tabs and easy tab switching. The editor itself lags a bit.

Strangely enough, it didn't recognize my .mm files as Objective-C++ files.

