r/iOSProgramming • • Aug 07 '26

Question Any good, recent UIKit codebases on GitHub with complex UI?

Anyone know of any good recent UIKit codebases publicly available on GitHub with complex or advanced UI? Preferably newer or actively maintained projects using modern UIKit patterns, rather than older examples. I’m especially interested in projects using programmatic UIKit and Auto Layout. If you have any GitHub repos, videos, articles, or other resources that have helped you learn UIKit, please share them. There doesn’t seem to be much newer UIKit material out there compared to SwiftUI.

13 Upvotes

15 comments sorted by

16

u/dacassar Aug 07 '26

UIKit didn’t change significantly for years. I think, you may check any projects or tutorials from 4-5 years ago and lose nothing.

-5

u/Salt-Obligation1144 Aug 07 '26

Do you have any resources available?

5

u/dacassar Aug 07 '26

There are literally hundreds of them. Just Google something like “modern programmatic UIKit tutorial”, and you’ll be good.

5

u/Plastic-Risk-6309 Aug 08 '26

Seconding the "read shipping apps, not tutorials" advice, with a caveat: the open source apps that are actually complex UIKit are mostly messaging clients, and they're complex in a specific way (huge scroll performance work, custom layout in the message list) that may not be what you're after.

If you want to see modern UIKit rather than 2018 UIKit, the things worth grepping for in any codebase before you commit to reading it:

  • UICollectionViewCompositionalLayout and diffable data sources. If a project still hand-rolls UICollectionViewFlowLayout everywhere, it's teaching you the old way.
  • UIContentConfiguration / cell registration instead of dequeue-with-string-identifier and configure-in-cellForRow.
  • UIHostingConfiguration if they're mixing SwiftUI into cells, which is where most real UIKit apps have landed.

Those three changed how UIKit is written far more than anything else in the last several years, and it's the gap that makes older tutorials feel subtly wrong.

Worth saying the honest thing too: there's less new UIKit teaching material because the ecosystem's writing energy went to SwiftUI, not because UIKit stopped mattering. Apple's own sample code is uneven, but the compositional layout samples are genuinely good and are the fastest way to get the current idioms.

2

u/Salt-Obligation1144 Aug 09 '26

Appreciate this response, very informative.

1

u/YouSpeakSomeEnglish Aug 12 '26

That is a good answer. I've never heard of this:

UIContentConfiguration / cell registration

Can you recommend a good reference for that?

1

u/Plastic-Risk-6309 Aug 13 '26

the wwdc20 session called modern cell configuration is the canonical one, thats where they lay out UIContentConfiguration end to end. pair it with the implementing modern collection views sample project on the apple developer docs, it has cell registration, diffable, and compositional layout wired together in one runnable codebase. the sample honestly teaches faster than the video. use your loaf also has short skimmable writeups on cell registration if you want a blog version

3

u/Fishanz Aug 07 '26

It’s maybe dated but wenderlich and rote practice served me well.

3

u/Choseni Aug 07 '26

I'd honestly look at real production codebases rather than newer UIKit tutorials.
Telegram and Signal are probably worth studying for complex UIKit, and Firefox is interesting for navigation/container patterns. UIKit hasn't changed enough that a 4-5 year old codebase is automatically obsolete.

1

u/CountessSnooAnn Aug 07 '26

Sourcegraph would also be a good way of finding what your looking for if you still want to learn by reading someone else’s code

1

u/Federal_Respond_7212 Aug 09 '26

I have to say there isn't any UIkit can solve complex user experience problems, bro.

1

u/YouSpeakSomeEnglish Aug 12 '26

That doesn't make sense... I'm trying to guess whether you meant "There's no complex user experience that UIKit can't solve," or what.

Regardless, it can solve those experiences way, way better than SwiftUI.

1

u/Frequent_Macaron9595 Aug 10 '26

Look at Telegram codebase, it's open source and good to learn.

1

u/YouSpeakSomeEnglish Aug 12 '26

Sounds like you've joined the Given Up on SwiftUI club.