Meteor: 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 (dictionary.com). Or, if you ask a student in ICS 314, the source of a lot of frustration and appreciation combined into one. Meteor is both a blessing and a curse. It offers many perks in the field of application architecture and provides a solid grounding for a client-server application. However, Meteor also proves to have its own realm of challenges as well.
Meteor does an amazing job organizing all the individual components of a client-server application. It outlines what is needed on the server end, on the client end, and how to sew the two together. Furthermore, Meteor organizes the two in such a way that allows users to build upon the foundation while still maintaining the original structure. What I mean by this is if the user would like to add more webpages, it is easy to figure out where to place all the code needed for the webpage, no matter how many extra web pages are added. The original foundation isn’t ruined by customization, unless the user specifically chooses to change the foundation. This is extremely beneficial for beginner users who can’t have a changing base system. Meteor is also able to combine different languages to make a more complex webpage, such as JavaScript, HTML, and CSS. Moreover, by creating such a solid foundation, Meteor saves the user a lot of time. It contains a multitude of resources (code, foundation, imports, examples, etc.) that would normally take developers hours, if not days, to track down individually or code personally.
However, aside from all the perks of using Meteor, there are a few downfalls. The biggest is initially understanding the application. Like stated above, Meteor has an amazingly organized framework. But it only is organized when you understand it. It’s like a puzzle- once you understand how all the pieces fit together, you can make something beautiful with a little time and effort. But if you don’t understand how two pieces fit together, it’s nearly impossible to finish. Meteor does separate its code into “client” and “server” folders, but at an initial glance, it can be confusing trying to determine what code goes into which folder. However, once you understand the basic outline of Meteor and what code should go where and how everything is linked together, Meteor is relatively easy and painless to use, which takes us back to the perks of using Meteor, as stated above. A smaller issue of Meteor is real-time publishing. While this can be extremely nice when developers are determining what changes, they want to make/if they are making the changes correctly, it impacts the run time and efficiency. However, many people think the compromise between run time and view time is worth it.
After doing a bit of research on Meteor and seeing reviews on the application, it looks like overall, Meteor is a great starting application for beginner developers. However, it tends to not be the first pick for more experienced developers as it has few other small issues that we never came across during our class. Overall, Meteor is a great introduction to client-server applications.