After a stressful two weeks of learning a new aspect to software engineering, my professor decided it was an appropriate time to make a pun.
“Did you feel these past two weeks like you were hit on the head with “a small body of matter from outer space that enters the earth’s atmosphere, becoming incandescent as a result of friction and appearing as a streak of light”?”
Taken directly from our class website, he was referring to Meteor, a web platform that apart from providing material for comedic relief is apparently great at giving us grief as well.
Perhaps the most difficult concept I faced was integrating my learnings into a larger project. I’ve coded in Javascript to solve simple problems, like printing the Fibonacci sequence. I’ve written code using Semantic UI to produce web pages without excessive struggle from CSS. I’ve attempted managing a database in a separate class using an Oracle DBMS.
Having experienced these all separately, it was difficult for me to implement an application that combined all three. HTML to display code written in Javascript, which took data from MongoDB. Suddenly I had to wade through the concepts of templates, routing, and imports. In addition, the file structure drove me nuts. In the sample projects we were given, there were at least 10 more directories than I was expecting. When I was couldn’t find a certain file, I was opening 20 of them during the search.
Like a meteor is a particle that is originally lost in space, so were we Meteor newbies. Floating among these foreign structures, syntax, and concepts, we were overwhelmed by this jumble of code that somehow made sense. Yet a meteor is destined to find it’s way back to the surface, and so shall we.
After going through multiple tutorials, I found that although I do not yet understand everything, that Meteor is not as overwhelming as I thought. Templates just refer parts of the HTML to blocks of code stored in Javascript, which are helped by helpers and event handlers in another. Routers just organize the flow between pages, and MongoDB is the same to a programmer despite being different internally. And that file system that I thought was superfluous at first? Well, it makes a lot of sense once you understand the organization. Though it will take time to understand it all, Meteor is certainly not something impossible to master.
Despite how sleek I feel my applications will turn out with Meteor, its recency makes me question how effective it will be in the future. Before Meteor’s time, there was AJAX. But just as that age seems to be passing quickly, so I do believe Meteor’s will as well. It is great that technology continues to rapidly advance, I just hope that what I learn through Meteor will help me when it’s time is long gone.