The Swiftly Tangled Web
December 30, 2015
I got around to reading the feature on ArsTechnica about how the web is going to beat native apps someday. While I feel like this is the same discussion about “next year is the year for Desktop Linux”, I am going to ignore that. I am instead going to discuss the idea “Apple doesn’t want apps to go away”.
First, just because Apple hasn’t implemented those 3 “good examples of functions that programs need in order to give the full app experience on mobile”, doesn’t mean they won’t. It just seems like the author doesn’t like that Apple only announces major updates to Safari once a year at WWDC, something he chose to not mention at all.
Now, I agree that for the next year or two, it is definitely in Apple’s best interest that native apps are stronger than mobile web apps. But after that, I think Apple will be well positioned to handle either scenario because of their open source release of Swift this last month.
Apple has already released a Linux port for Swift so anyone can start running Swift their servers today. The Swift roadmap also has plans to incorporate Foundation into Swift 3. Within a year or so, developers will be able to share a decent amount of code between their server infrastructure and their app development.
Apple isn’t run by a bunch of dummies who only care about the next 6 months. Apple knows that web browsers will get more powerful and that in some cases, the need for native apps will start to diminish. Apple is not ignoring this situation. Instead, it is developing the language and frameworks to lower the effort of switching.
It is also a huge opportunity for developers. It is rare in a developer’s career to have the opportunity to have a fresh start with a programming language. This opportunity will allow developers to not have to choose between native and web if they don’t want. In a year or so, a developer could write an application that runs on a cloud server that enables users to manage content. They can then write code to generate feeds for that content in Swift. These are then read either by server-side Swift or native app Swift and presented in a similar way.
That doesn’t sound like Apple is ignoring the web to me. That sounds like Apple is 3 steps ahead of what the author is thinking about when he wrote the article.