Chapter 1. Building a MeteorJS Web Application
The need for omni-presence has increased dramatically and the Web is the primary means of being really omni-present. This has led to tremendous advancements in the technology that subsequently gave us a window to the ever-growing Web, which is browsers. To develop something interactive in the browser, we end up with the ultimate language, JavaScript. Though it is the most underestimated and misinterpreted language, it has gained enormous value in the last decade. The rise of libraries and frameworks, such as jQuery, YUI, Backbone.js, Angular.js, Ember.js, and so on, have transformed the way applications are developed today. It didn't stop there, and the language found its space in the server as well, with the introduction of Node.js. Now, the language also manages to find a warm welcome in IoT space, with the introduction of Tessel.io, Windows 10, and so on. This is a better time than ever to become a JavaScript developer.
There is a trend where backend, that is, the data access layer, is developed with other languages, while the whole app is rendered and managed using one of the MV* JavaScript frameworks in the browser itself. With Node.js, JavaScript applications started becoming isomorphic. Node.js is very popular because of the default asynchronous behavior. Frameworks such as Express.js helped to create isomorphic applications.
Still something was missing. Even after all these improvements, we developed applications with a lot of redundancies in terms of code. For example, data fetching, data binding, view to model reactivity, and so on, are not really that efficient. So, a group of developers gathered around and found a powerful solution called MeteorJS. This book is about mastering your skill to develop applications using MeteorJS.
In this chapter, we will learn the following parts of MeteorJS by developing an application:
- MeteorJS internals and working principles
- How to build a customized login solution
- How to create routes, templates, and layouts
- Handling forms from the template handlers
- Persisting the data to a database
- Data handling between the client and server and reactive variables
- How to use multiple layouts in the application