The journey into libraries, frameworks, and architecture

The journey into libraries, frameworks, and architecture

The journey of a junior developer is quite amusing. First, you come into the industry curious, you probably hear about HTML and CSS first. It takes a bit of getting used to but you weather through the storm and create your first website, it's somewhat responsive but you did the best you could. Things then get complicated when you add Javascript to the mix. You struggle with that one but you're making progress.

What makes the world of software engineering a lot more convoluted is the existence of frameworks, libraries, and architecture. Make no mistake, these frameworks, libraries, and architecture help speed up development and massively scale the utility of programming languages (when you get a good grasp of it). It can get a bit confusing at the beginning, ensure you study till it makes sense, it will take time but you will get a grasp of it eventually. I'll go into a bit of them below;

HTML can lead you to XML and XAML

CSS can lead you to SCSS, Bootstrap, Tailwind, etc.

Javascript leading to the likes of JQuery, React (a frontend library), Nodejs (server-side Javascript), Redux (plugs into React), Material UI (plugs into React), etc.

Typescript can lead you to Angular (a front-end framework), etc.

PHP can lead you to Laravel, etc.

Java can lead you to Springboot, etc.

C# can lead you to;

  • MVC (an architecture that breaks down web solutions into Model, View, and Controller).

  • ASP.Net

  • ASP.Net MVC

  • ASP.Net Core

  • ASP.Net Framework

  • MVVM (an architecture that breaks down web solutions into Model, View, View, and Model. It may sound confusing but it simply expresses the cycle of synergy between both Model and View)

  • Razor (A framework that makes use of the MVVM architecture)

  • Blazor (A framework that makes use of the MVVM architecture)

  • Xamarin for Android (used to create android apps)

  • Xamarin for Xamarin for IOS (used to create IOS apps)

  • WINUI (used to create desktop apps)

  • MAUI (used to create desktop apps that will run on all devices)

  • Windows forms (used to create windows desktop apps)

  • Web forms

  • Unity (for building games), etc.

The likes of Java and C# still play well with frontend libraries and frameworks like Angular and React. The point of the entire article isn't to confuse, but to make it more apparent that one choice can lead you down a very long path, make a choice, and follow through. There's so much to learn and every year or twice a year you see more updates and advancements coming out of the woodwork. Tunnel vision helps at times in software development in order to avoid distraction. If you have a habit of jumping on the hottest train you may not be able to fully plant yourself anywhere long enough to make a career there or build enterprise projects.

If you pay close attention you should be able to guess where I planted my roots, just going by which language I seem to have a deeper understanding of.