Should You Learn SwiftUI or UIKit as of iOS 15?

preview_player
Показать описание
In this video I give my updated thoughts on new learners focusing on SwiftUI or UIKit as of iOS 15 in late 2021. UIKit is still dominant in the job market but we're slowly starting to see SwiftUI in more and more jobs.

If you like my teaching or presentation style, I've started creating my own courses:

Twitter:

Link to my book - How I Became an iOS Developer:

Book and learning recommendations that help out the channel if you decide to purchase (Affiliate Links):

Paul Hudson's Hacking With Swift:

Donny Wals - Combine:

Mark Moeyken’s SwiftUI Books:

Ray Wenderlich Books:

Links to my iOS Dev Setup & iOS Dev Book Recommendations

#swift #softwaredeveloper #iosdeveloper
Рекомендации по теме
Комментарии
Автор

I totally agree you need to learn both. I got back into iOS dev a few years before SwiftUI got released. When it was, I jumped on quick. I’m not really a fan on UIKit, I think it’s pretty complicated for what it does.

SwiftUI has been a trip. The first year it was out, I tried really hard to use it. 100% SwiftUI. It was basically impossible. There were so many bugs, so many limitations. I submitted a ton of feedback to Apple about my issues. I concluded that it wasn’t quite ready yet and waited for WWDC to roll around again.

In the second year on SwiftUI, I started to be able to write complex apps in it. There’s still a ton of bugs, lots of unsupported scenarios. But it’s functional.

What I came across in this iteration of SwiftUI is a ton of sharp edges. For example, I was writing an app where I needed to include a link in a paragraph of text. I was displaying an article and I wanted the user to be able to tap the link & go to another story in the app or a browser. Anything. This was basically impossible. Since I had infinite time on this project I decided I am not gonna drop into UIKit, I’m gonna figure out how to do this in SwiftUI. Any lengths necessary.

And I did it! I actually got a link to display in a paragraph of text. I wrote a post about it titled SwiftUI Pain: Creating Tappable Links in Text. It was horrendous. No one should ever use the solution I landed on. This simple thing was impossible in SwiftUI. That’s the thing with this version of SwiftUI. A lot of sharp edges that force you back into UIKit.

This year, creating links in text is super simple. Apple introduced a new API to use AttributedStrings in Text views. SwiftUI seems to be maturing. I wouldn’t be afraid to write an app that’s as much SwiftUI as possible today. But when you hit those sharp edge that still exist, you’ll need UIKit. Learn both.

EmmaKAlexandra
Автор

I totally agree to go not all but most on SwiftUI.
Apple recently chose Riyadh, Saudi Arabia to be its first place in Middle East and North Africa to launch Apple Academy, and it will start at the end of this October. I work as SwiftUI Senior Mentor there .
Apple materials contains only SwiftUI materials, and I haven't seen any UIKit related.

tariqAlmazyad
Автор

Agreed! A friend in nyc related all his recent job interviews were UIKIT

glennadams
Автор

I program for fun. SwiftUI is fun. So that’s my choice. I’m not expecting to be in a Swift job for the next 5-10 years

PythonPlusPlus
Автор

both. never heard of "knowing too much" in programming.

falcontomto
Автор

my story too (SAME AS URS):... started my career in 2014 when swift came. never touched obj-C. I changed my job in 2019 and SwiftUI CAME. PITCHED IT AT MY NEW JOB AND GROWING ON IT SINCE 3 YEARS. :D

TJ
Автор

Hey, do you think you could do a small Tut to show how to use SpriteKit within SwiftUI. So like basically build the complete UI ins Swift UI and the game functions in SpriteKit.

P.s.: I hope you doing well!

zenocode
Автор

im still trying to get my foot in the door, and most of the job ads are for UI Kit, so ive still been focusing there. Time is a finite resource. When i start noticing more job ads for SwiftUI ill start learning, I still see so many people complaining about its limitations so im guessing i have at least another year or so before I really start focusing on it more in depth.

thsuffering
Автор

What baffles me is that I still see MANY job posts that require Objective-C

WTF?!?!

ChristopherCricketWallace
Автор

Swift UI makes us very much focused on modeling and Mvvm, one wrong thing cause major problems in future updates

Prashant-
Автор

I agree, you really need to learn both. But I'd learn UIKit first, then learn SwiftUI.

Youngindy
Автор

just as I start understanding UIKit after 2 years of struggling with it, its time to move : D

CrowJam
Автор

I plan to rewrite my app in SwiftUI along with implementing Cloudkit. Seems the right time for me to learn SwiftUI…

gakkieNL
Автор

Thanks! I was curious about your stand on this currently. Because, boy, the people down on SwiftUI do not mince their words.

joecab
Автор

So if you just want to develop your own apps not mingle in the job market would you say SwiftUi would be a better choice to develop? I tried uikit years ago and hated it! LOL

michaelevan
Автор

could you do a vid on swift best practices?

lukavujnovac
Автор

Huh? Never knew people even hire people based on SwiftUI or UIKit lol, it's either you know Xcode with Swift in general or not. It's not like these kits are things that take weeks to learn. SwiftUI is only compatible from iOS13 and above, so in the case you want support for older OS also, one needs to use both if trying to get your feet wet with SwiftUI. And in that case creating two storyboards with each, then using if available to check if OS supports it..

RX
Автор

i last year i started learning ios development with swift ui. I know only swiftui and i need a job. How can i learn uikit? can someone give me an advice ?

haliskara
Автор

I am a beginner iOS developer. My company uses UIKit. Do you recommend studying SwiftUI in my spare time or better to get more confident with UIKit by studying it more? I am not sure which way to choose. I sure learn a lot of UIKit in my work time but could learn more and get better faster if started to learn it on spare time. However, I could be using this spare time to learn SwiftUI and "prepare" for the future. I am personally leaning towards focusing next 1-2 years on UIKit and "postpone" learning SwiftUI for that time. What do you think?

kacpercichosz
Автор

swiftui was built for swift specificaly

natgenesis