Anti Framework

·

3 min read

Back in the mid-late 2000's, Microsoft released the XNA Framework, which allowed indie devs to build and release games on the XBox 360. It was a major investment on Microsoft's part, and a huge milestone for the indie gaming scene. For the first time, budding developers could publish their games on one of the biggest gaming consoles at the time. I had already had a lot of experience building games in C++, and coding in C#, so I figured building a game with XNA (which used C#) would be a lot easier than using C++. And for the most part, it was. It was a lot easier to get up and running, to load and render 3D objects, and handle collisions and shaders than I expected. The issue I had was trying to use standard C# Network code in an XNA application, which it didn't like. From what I gathered at the time, Microsoft prohibited the use of non-XNA Network code in an XNA project, in order to mitigate exploits. While I understood the reason behind it, trying to accomplish what I was trying to achieve using the XNA Framework meant I either had to change the scope of the project, or change to something other than XNA.

Perhaps I was wrong. Maybe it was my understanding of XNA and C# that was to blame, rather than the Framework itself. But it was enough to put me off using dedicated Frameworks. Maybe things have changed with Unity and Unreal Engine.

Being forced to use Frameworks with certain limitations focuses the creative process, and allows you to come up with inventive ways to solve problems.

Having said that, I would prefer not to use a Framework, if given the choice.

A few years back I started working with a client, who was insisting on using Angular. I hadn't used it before, so I spent 6 weeks learning it before work began. Once the project started, it became apparent we would be using Node and KendoUI instead of Angular. I had to rearrange my coding behaviour to accommodate the change in the Framework, which took much longer than I'm proud to admit - a further 6 weeks.

While I dislike Frameworks, I am well aware they are extremely powerful when used correctly. Given the choice, I would prefer to use JQuery over any other Framework (yes I am aware JQuery is more of a Library than a Framework, but let's not split hairs). And while I know Angular and Node, and a bit of React, I feel much more comfortable with Vanilla JS - and that's because I've been using it since the start of my career. It's been a staple of my web dev journey, and I'm not convinced it's going anywhere anytime soon.

Frameworks come and go, but the base language is still here. And with the, frankly, ridiculous number of Frameworks and Libraries out there, by the time you've become an expert in X Framework, a newer, trendier, one comes out, and all of a sudden, demand for X Framework drops, and you need to learn the new one to stay relevant.

Now, I'm not saying don't use Frameworks, I'm not saying don't take the time to learn them. I just dislike the elitism that goes on between certain developers who prefer to use Framework X over Framework Y, and who turn their nose up at using Vanilla JS. The way I see it, if you have an issue with the Framework, having a clearer understanding of the underlying technology may help resolve the issue.