Thoughts, reflections, and ideas

Control and innovation

Posted on

I saw a tweet this morning where the author was hoping for Apple to announce a new product in the domain of CI. Apple acquired BuddyBuild two years ago and since then, they seem to have working on something secret that they'll release at some point ― perhaps a CI platform that integrates with Xcode.

I'm not sure why, but that made me think about Apple's obsession for control and limitation of the environment and its tools. Unlike more open ecosystems and communities like Javascript or Ruby, where developers don't feel constrained to innovate and buid solutions for the problems and challenges that they encounter, in Apple's, many people dream with that innovation only coming from Apple.

People might critize communities like Javascript or Ruby's and find them overwhelming, but they are so open that the innovation comes in any shape: tooling, libraries, paradigms... React is a good example. With all the support from the community we have seen its ecosystem maturing very quickly. Building stating sites with Gatsby, or building web apps that follow the JAMstack philosophy with RedwoodJS is mind-blowing. On the Apple land, we just saw SwiftUI last year. I haven't tried myself, but it seems that it's still not mature enough, and since the framework is close-sourced, radars is the only contribution that you can do to it. That, and doing a bit of evangelization in the shape of talks, posts, and books.

Until Apple relaxes its closeness and obsession for control, I doubt we'll see Vapor taking off, more companies adopting Bazel because it integrates seamlessly into Xcode, or Swift being used more broadly, not just for writing apps or tools for those apps.

I'll continue using Swift and building things for the Apple ecosystem because I have a emotional connection to it, but I sometimes wish building Tuist didn't feel like fighting the ecosystem, and rather like building an extension for it.