Over a million developers have joined DZone.

Xcode Love Fest

· Mobile Zone

Visually compose APIs with easy-to-use tooling. Learn how IBM API Connect provides near-universal access to data and services both on-premises and in the cloud, brought to you in partnership with IBM.

Sorry, I just love Xcode. The speed of development is ludicrous. From a Lean perspective, Xcode and Eclipse are not of the same genus, phylum or order. Eclipse is wonderful when you are working just inside a set of unit tests, but the rest of the time, it‘s like working a rock pile in a prison chain gang in the deep south.

Xcode is not, however, perfect. I love the unit testing in Xcode, even more than in eclipse. Why? Because the maven plugin in eclipse (m2), which was never able to handle resources properly, can now, but the price is that between runs of tests, you quite often get dialog boxes and builds. That NEVER happens in Xcode. The flow of code/thought in Xcode is incomparable. When you add in the fact that there is a real interface builder, now with a storyboard facility, seriously folks, this is not comparing a Porsche to a Yugo, it‘s like putting a burrow strung to a 3 wheeled cart up against a steam engine.

All that said, Xcode is not perfect. There are a few things that could be improved. First, for me, would be the Scheme Editor. When I am working on something, I want to be able to just run one test, or a suite of tests, or all tests. You can do that in Xcode, but in a super rare case, here the interface geniuses have left only a goat path where there should be a super highway: you have to get the Scheme Editor up then uncheck every single other test in the project. Total nuisance. There are a ton of ways this could be done better. I love in eclipse just being able to double click the test name and then do run. However, we know that magical interfaces are not what Apple likes to do. It‘s more into the idea of trying to retain some orderly in/out pathways. Given that, a way to type in a name in a search bar of the scheme editor and have it temporarily filter down to that then just enable that test would be fine.

The second thing on my list would be a little work in making the storyboard interface work a little better. It‘s an awesome step forward, but it rapidly gets kind of busy and slow. There should be a way to focus on a single form and have it basically lock the window on that piece and be super responsive. Also, I found that there is still some crazy behavior baked in. For instance, I highlight one of the screens, verify that the controller is selected for it, then I open the assistant and it doesn't open the controller class. Then (here's where it goes from annoying to nutty), I do Open Quickly in the new assistant editor window and it opens the file over the top of the storyboard pane instead.

Two other quick thoughts: I was rereading the release doc on iCloud. You can do CoreData in the cloud now, and to me, that is a shot across the bow of the remaining enterprise development approaches that they are probably paying zero attention to, but should. CoreData still has some hinky aspects, e.g. how it handles custom types, but on the whole, it‘s pretty awesome and if people can write apps that do interconnects with a server component, that is compelling. The next phase will be Apple offering a way to park a CoreData model in the cloud that is shared amongst all instances. So I have a product catalog and anyone can add a review, which gets put into the core data db in the cloud. Can‘t be far away.

The Mobile Zone is brought to you in partnership with Strongloop and IBM.  Visually compose APIs with easy-to-use tooling. Learn how IBM API Connect provides near-universal access to data and services both on-premises and in the cloud.


Published at DZone with permission of Rob Williams, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}