In recent years, I’ve become increasingly concerned about the complexities of poorly thought-out software supply chains. This is especially true for the likes of NodeJS and Spring. I believe the software engineering industry is reaching a point where third-party code will face more scrutiny. As a result, some development teams might choose to create and maintain in-house solutions rather than continuously validate every third-party dependency for every small change.
I also believe that the React family of JavaScript frameworks has introduced unnecessary third-party bloat and overly complex frontend solutions. While there is value in creating UI components for a consistent user experience, do we really need so much third-party code to achieve this? With the trend of frontend frameworks rendering on the server side, we should ask, “Why are we embracing this complexity when simpler server-side tools worked just fine before?”
I also believe the best UI framework for the frontend is whatever is native to the operating system you’re using. As my household has become more Apple-oriented, I’ve developed an interest in native iOS UI frameworks over cross-platform frameworks. That’s why I’m investing heavily in Swift as my next programming language. I’ve given my favorite language Rust a break in favor of this goal!
Some interesting things I’ve noticed from roughly a year of trying Swift on my free time:
- while third party Swift code exists, Apple provides enough through their SDKs that I haven’t needed any third party packages so far
- Protocol-Oriented Programming is neat
- like Rust, you can leverage enums to make invalid state unrepresentable
- the SwiftUI framework is excellent and showing signs of maturity as a framework, but can be a little rough around the edges
- I’m a little surprised at how easily Swift code crashes for certain types of mistakes
- Xcode is rather buggy, but I can live with it
These are some first impressions after writing only two small apps so far and spending a bit of time going through tutorials and some helpful mentoring. I’m sure some additional impressions will be discovered as I work on more apps. I also look forward to providing some Swift and SwiftUI code examples here in the future.