Hacker News new | ask | show | jobs
by matchbok 2784 days ago
Agreed... I'd much prefer a declarative layout language though. With complex layouts, it's hard to debug AL if you aren't the one who built it.

Even stackviews, which was Apple admitting that simple layouts are too verbose to do with AL, are a mess.

2 comments

Well storyboards are declarative if you view the source but they're burdened with a ton of legacy. If a view is constrained by auto layouts the frame values should disappear but they don't, leading to a ton of false positives when committing changes. You only have cryptic ID's not real names as references. Also making a mistake in the XML format tends to crash the parser without giving a usable clue to what went wrong.

Last problem is that everything in Interface Builder still lives apart from the code. I think in Android everything gets compiled and is safe to use from there, with IBOutlets you're always either taking the risk (!) or dealing with optionals everywhere (?)

Rumor is that official, cross-platform declarative layouts are coming to iOS from Apple [0].

[0] - https://daringfireball.net/2018/04/scuttlebutt_regarding_ui_...

Did that not turn out to be uikit port to macos?

https://thehackernews.com/2018/06/porting-ios-apps-macos.htm...

No, I believe it is the case that Gruber conflated two separate projects (which might both be part of the same overall vision). The first was codenamed "Marzipan" and has been announced (and leaked and reported by Gurman). The second is what Gruber is speaking of in that article, and relates to laying out views. It has not been announced, but is codenamed Amber. Gruber clarified this post-Marzipan announcement in a tweet [0]. More info from Gurman [1].

[0] - https://mobile.twitter.com/gruber/status/1014490721909444608

[1] - https://mjtsai.com/blog/2018/05/01/scuttlebutt-regarding-app...

That would be amazing. I really like using Storyboards if only just to better separate layout from logic but there are so many downsides to them that I just don't really use them all of the time.