The Changing World of Development
The speed of developing anything from text to applications has increased exponentially over the past 3 decades. If you wanted people to read your thoughts you had to produce whole books but now you can run a blog and reach the whole world. Now a few people could make applications that can become whole companies in the future. The development scenario had various paradigm shifts and revolutions. This took power from big corporations to individuals.
But the other side of Rapid development and easy access to tools is that people produce meaningless, foolish, and inappropriate content. Producing and distributing books was not an easy task. On the Internet, people can write anything they want and It has the potential to reach thousands if not millions. (hence both information and misinformation can spread rapidly).
But what caused it all?
The simpler answer is the internet. The Internet was the game changer to all this. It is the only thing that is common to everything that democratized their respective fields. There are many events caused this change of speed in software development.
1. Marketplaces: A marketplace of anything based on community and a platform (AppStore, play store, WordPress theme marketplace, unity asset store, Gumroad, etc.)
The idea that you can make something and there is a marketplace for it is simply amazing. Producing anything and marketing it, is now greatly simplified if you compare it with the past.
2. Open-source: The first open-source software that reached substantial users was the Linux kernel by Linus Torvalds. It changed everything about the software. Software now can be developed and managed by people around the globe.
3. Cloud computing and Storage: They are game-changers, now AWS has 150 services and counting. You don’t have to manage your server hardware and not even the above OS and runtime environments. The cost of managing your backend infrastructure became a fraction of what it was in the past.
4. Unity: It was launched in 2005 and essentially democratized game development. Before that, there were many game development packages in many languages but not a full-fledged game development studio-like software. All game development companies had in-house video game IDE’s. some companies licensed them from others. But unity changed it all, it gave the power in the hands of individuals. Unity asset store made possible to collaborate and Unity integrated networking that helped in multiplayer games. And it was just a start.
5. Flutter: Before flutter and other hybrid frameworks for app development, the companies had to put teams for each platform they wanted to develop their app on, be it web, android, ios, or desktop. Now, these hybrid frameworks changed the game for forever. Single codebase now can be compiled into android apps, ios, web, and desktop apps.
These frameworks are far away from perfect, many famous API’s are not available and are in alpha mode. You have to still code some sections of the app natively but they are the beginning of something beautiful.
6. Docker/container: There is a huge rise in so-called DevOps, MlOps, SecDevOps. Combining different disciples of software development into one framework and ideology. It all started with containers. The thing is the development environment has to be replicated into a deployment environment where the actual applications run and scale.
The difficulty arrives due to the fact of so many different OS’s, dependencies, and their versions that break the application if not configured correctly that was solved with the introduction of containers. Now you can ship your apps with their different dependencies and some parts of the OS that are essential for its working.