You don't use that in iOS app development either unless you are completely insane or are just beginning iOS development and don't know how to make UI properly.
You don't use that in iOS app development either unless you are completely insane or are just beginning iOS development and don't know how to make UI properly.
Interface builder, xibs and storyboards are very useful tools for even extremely large projects. Makes building and maintaining the UI extremely easy.
The idea that because a tool is easy to use is somehow indicative of the skill of the person using the tool, is completely bogus. Interface builder has a lot of advanced features for setting up complicated UI.
You could quite easily argue the opposite for someone who needlessly creates all of their UI in code rather then in interface builder.
Then wire up my events, if you refactor anything...boom -- but only at runtime. Because the compiler is wired into the process, so if a method/property doesn't exist in the ViewController that InterfaceBuilder is expecting, the compiler doesn't break, your app does.
Also add in how often Interface Builder crashes XCode.
The time gained by not having to restart the app every time you tweak the UI is immense.
I generally use storyboards to set up navigation, but depending on the project I'll do the majority in code (lots of similar screens) or do every screen by hand with some common controls in code that render in IB when every screen is really different.
I am no too dogmatic about it, I will touch the subject when interviewing people but I am more interested in a balanced view than rabid hatred for either method.
When I was beginning iOS development I tried to learn it as well as I could because I though that everybody uses them because it's the "Apple way of doing things."
However just like you...when I had to start implementing constraints with it, it was the last time I ever touched that horror.
We can start with what the author just said.
1) It saves you from crashes and other crap
2) If you are collaborating with anyone ie. using git you can forget about them anyway unless you wanna face merge hell.
3) Interface builder is difficult to use, is definitely lacking advanced features so you'll end up putting some UI logic in the code anyway => more complexity, more error/mistake prone etc.
I have to say I'm a bit surprised to see this kind of reaction here on HN. I never thought anyone real developer would use them for anything else than just quick prototyping maybe.