Make no mistake, 2019 is another pivotal year for Apple. In case you are wondering why, just remember one thing: SwiftUI. Writing software for Apple ecosystem will never be the same. Here is why it matters for developers and general users.
We were expecting a lot from Apple for this 2019 edition of the WWDC conference. From hardware, to software, to design and redesign, we wanted it all. My own expectations were up there too. In a few words, I think Apple massively delivered and they did such on all fronts. With more confidence than ever, Apple is moving all of their OS platforms in synchronization. And if that wasn’t enough, they even created a new one, the iPadOS. And, on top of all that, as Ben Thompson puts it in “Apple’s Audacity”
Apple, similarly, emphasized privacy at every turn, and did so with passion: it felt like the fight for privacy has given the entire company a new sense of purpose, and that is invaluable.
In short, it is clear that privacy has become more than a Strategy Credit for Apple. It is a driving force behind the company’s decisions, both in terms of product features and also strategy. This is particularly apparent in perhaps the most important announcement yesterday, Sign In with Apple.
Haters gonna hate
But as you know, haters1 gonna hate. For them, the Mac Pro is out of reach, they wanted it to be cheap, at the 2012 price level. Oh, and what is this design? A cheese grater, again? iOS 7 shadow is still over everything Apple is doing on iOS. Nothing Apple can do to fix this. Looking at videos of iOS 13 in action, redesigned apps like Photos.app gets questions like what does it do that Google Photos already does since day one? Even better, Apple this year is simply releasing things they should have done years ago. They are just fixing errors of their own making. Haters gonna hate, right?. So let put them aside for a few moments.
A new star is born
Besides all the new APIs and SDKs, something profound is showing up on the radar this year. A new star in the Apple sky is born and Apple gave it a name: SwiftUI. Seeing demonstrations on stage at keynote or during focused sessions was just the tip of the iceberg. Apple just released something that could change the Apple software landscape for years to come.
Never in the past Apple had so many different operating systems. Never in Apple’s history, developers had so many things to consider while writing new apps and services. User interaction models considerations are a big part of their efforts. Writing for the user interface is difficult and time consuming since user interaction models are quite different on the Apple Watch compared to the iPhone, the Mac or the Apple TV. With SwiftUI, Apple is removing quite a lot of burden from the developers. For the very first time, developers will be able to focus their code writing efforts to the soul of an app but still while being able to run natively on all platforms2. All they need to do is to express the user interface in an augmented Swift dialect, a declarative UI language, with direct visual feedback while they do so. Mind-blowing.
Reactions from the developer community are vastly positive, enthusiastic and showing signs of renewed trust in Apple’s ability to drive the innovation show again. Just search Twitter with #SwiftUI or listen to a few podcasts to see and hear people praising Apple’s efforts.
Yet, haters gonna hate
But haters will tell you that SwiftUI is only for Apple’s platforms. It doesn’t embrace web standards. So it is already declared DOA. Others will say that Apple is not the first company trying the “write once, run anywhere” principle. They all failed miserably. Not convinced? Think Adobe Air or even Flash. So yes, Apple gonna fail here too. Let’s put haters aside again for a minute.
Supporting the web standards
Who said that SwiftUI could not be used for non Apple platforms? Consider a web browser and the Internet. What if SwiftUI could be extended to support this runtime environment too? Apple doesn’t have to support everything on day one for SwiftUI to be considered innovative. Swift was released in 2014 and since then, major milestones has been reach. This all happened in such a short period of time. Now SwiftUI is announced. A project that started within Apple for the Apple Watch. I think we ain’t see nothing yet.
Project Catalyst real goal?
This quote from John Gruber recent link post is really just troubling though (emphasis is mine):
We’ll probably see a lot of Mac apps ported from iPadOS using Catalyst. Some of them — games in particular — might even be good Mac apps. But effectively, Catalyst has already been deprecated. The future of app development on all of Apple’s platforms, including those yet to debut, is SwiftUI.
What? Let’s try to understand what he is saying. Porting an iOS app to the Mac with Catalyst is cool. But, Catalyst is very focused in nature and objective: making it easy for developers to port their iPad apps on the Mac. Please note that we are talking about iPad apps, not iPhone apps. What this means is any iPhone only apps has to be made available on the iPad first in order to be ported to macOS after. What a nice side effect of project Catalyst. But then what? Nothing. That is all there is to see: nicely done macOS apps right from the iPad mostly behaving like normal citizens. This is a short term solution for a clear goal of having more apps available on the iPad. Period.
The new kid on the block is SwiftUI. For any serious developers wanting to write something completely new for more than the iPhone, SwiftUI is a no brainer. For the same code writing efforts you get five operating systems support for the price of one. No messing around with UIKit on macOS or things like that. Just describe the UI and voila! No more storyboards or interface builder and auto-layout constraints. This is how profound SwiftUI is.
It is still very early for many developers or tech pundits to grasp the real effects of SwiftUI. It will take months or years before we can really appreciate how great and profound SwiftUI really is.
- Don’t miss very thoughtful take on the same matter.
- Craig Hockenberry The future of interaction, part II.
- Brent Simmons : The NeXT Era Ends, the Swift Era Begins.
- Ben Thompson: Apple’s Audacity.
- Shawn Blanc: iPadOS: Initial Thoughts, Observations, and Ideas on the Future of Working on an iPad.
Are you an iOS developer? What is your take? Feel free to leave a comment and engage discussion!