You Gotta Start Somewhere

23 Mar 2017

The road to learning web development is a long and arduous one, thats for sure. Even with some solid grounding in JavaScript and HTML, there is still so much more to learn. And most of that learning comes with the application framework that bridges together all of the skills that a developer has. One can be overwhelmed in the different flavors of frameworks offered, which cover different needs, skillsets, and complexities. For for the learner, namely a student majoring in Computer Science, the primary concern is finding an application framework that provides a gateway for learning this skill. Meteor is one such framework that prides itself as a platform that allows developers build applications quickly and is very easy to learn; after all, Meteor is a framework which centers around only JavaScript, a language that I have been using for the past three months. With all of these things considered, Meteor must have been a cinch for me to learn right?

Nope

Crashes, pages not building correctly, and overall confusion. And all of those happened when just building the tutorial applications, mind you.

What Makes Metoer so Difficult?

What makes Meteor so hard to learn isn’t the framework itself but the introduction the structure of a web application. Web applications require a multitude of interconnecting files, both JavaScript and HTML, that are consolidated and organized into various directories. As someone who has only been programming since they started college, I have been working with a handful of files at a time, which made the general structure of a web application pretty intimidating. Once you get past that, you begin to dig into the actual meat of the structure, how all the files interact together. Files must be included into each other, imported, routed, and must reference variables throughout the entire application. Keeping track of these things require diligent attention to what you are doing. Simply missing an import or misnaming a single variable can collagpse the entire application. I can already see the sort of dangers that can arise when developing projects beyond small tutorial applications. There have been many a time where I had a perfectly working application, only to add a small detail, and having it crash out of the blue.

As steep the learning curve for Meteor and application frameworks is, it isn’t something that I am not used to. Learning things like programming languages has you make programs and run into errors which breaks them. Encountering these errors and finding out how to fix and avoid them is the best learning experience that a person can have when learning how to program. So while working with Meteor has lead to some unruly moments, it is essential that I struggle with it. Learning a skill is hard, but what else is new?