Hacker News new | ask | show | jobs
by sosborn 3562 days ago
IB is perfectly fine for most apps. When you feel constricted it is easy enough to accomplish what you want in code.
2 comments

IB is a mess:

  - No way to define reusable styles. 
  - No way to compose layouts out of other layouts.
  - Trait classes are way too coarse to be useful.
  - Versioning of Storyboards is a nightmare.
  - Anything beyond trivial auto layout editing is useless.
  - Segues force you into stringly-typed APIs.
  - @IBDesignable is still super buggy.
I've been much much happier since I dumped it and started doing everything with SnapKit.
What happens if you try to open an iPhone app on an iPad? What happens if you try to open an Android phone app on an Android tablet?

That's the difference between IB and Android's layout system.

It's really not – I think you're working with outdated knowledge from several years ago. An "iPhone app" is one specifically built for iPhones. That's not the norm these days. Normally you would build an iOS app with universal storyboards that would work for both iPhones and iPads. Normally opening an iOS application on an iPad would result in a layout that works well for iPads.
Phone layouts automatically blowing up to a 10 inch screen and allowing developers to be lazy is not an advantage. The tablet apps on Android are still garbage after all these years.
Modern iOS development uses Autolayout, which uses a constraint solver. This hasn't been a problem for years.
Auto Layout[0] can give you incredibly flexible designs from within IB.

[0]https://www.raywenderlich.com/115440/auto-layout-tutorial-in...