This Week in Meteor #9


by Rishi Goomar

Welcome to issue #9 of TWiM!

If you would like updates like this emailed to you, subscribe at thisweekinmeteor.com

Updates in Meteor Core (MDG)

Meteor 1.1.0.1 Released

This is a patch to fix a bug with Blaze client-side crashing.

Meteor 1.1.0.2 Released

This is a patch that fixes the usage of meteor mongo on Linux machines.

Nested Expressions in Spacebars

This is an awesome new feature being developed by Slava Kim that allows you to have nested expresses in your templates. So, you can have things like:

{{add (add 1 2) 3}}
```or

{{capitalize (firstWord generateSentence)}}

It's a great new feature and i'm excited to see what people do with it.

#### [Blaze Template Arguments](https://github.com/meteor/meteor/pull/4118)
This is a feature being worked on by Slava Kim that allows you to access arguments given to a template and it goes along with the `each x in y` syntax that is under development. I highly recommend looking at this as it relates to the future Blaze components.

#### [Blaze Lexical Scope & Template Arguments](https://meteor.hackpad.com/Blaze-lexical-scope-and-template-arguments-fZP806qG6xQ)
This is a hackpad with a proposal and discussion on changing the way the data context is handled in Blaze. It is currently done through a dynamic scope, but it may be better to use lexical scope. It is interesting discussion and I highly recommend reading it. It relates to the PR listed above.

#### [Improvements to LESS and other CSS preprocessors](https://meteor.hackpad.com/Improvements-to-LESS-and-other-CSS-preprocessors-fqDPbgOH8Fn)
This proposal is something I am hoping gets done quickly. It is a way to handle modular LESS / preprocessor files to be shared between packages and the Meteor application and a way to use it in a way that makes sense and is readable. There used to be a way to grab preprocessor files like a `main.less` from a package back when the packaging system was known as `meteorite`, but this new package system has more efficiencies and with those, comes a bit more complexity for handling this situation. So, I recommend reading this hackpad as it can really help people use CSS preprocessors more often in their Meteor apps. Think of all of the CSS framework packages that will released like `bootstrap-less` and you can grab LESS files that are constantly updated!

# Updates in the Meteor Community

#### [Meteor Astronomy - Model Layer](https://atmospherejs.com/jagi/astronomy)
Astronomy is a new package that is meant to be used to help you define and manipulate your models. It has a lot of features like defining schema, model events (i.e. `beforeUpdate`), and much more. I recommend looking at this as it can help structure your models differently.

#### [Meteor Interviews - Arunoda Susiripala](http://www.meteorinterviews.com/3)
This is an interview by Paul Dowman with Arunoda about scaling Meteor applications. There is a lot of information in this talk and some of the content may be hard to grasp right away, but I definitely recommend listening in as you can learn quite a bit. Along with scaling, they also discuss some of the new packages released by the MeteorHacks team like `flow-router`.

#### [Meteor + React Leaderboard Example](https://github.com/grigio/meteor-react/blob/leaderboard/examples/leaderboard/leaderboard.jsx)
This is a great example application to look at. It is a leaderboard made with React packages with Meteor. The React + Meteor integration is growing and i'm happy to see more people contributing towards it.

#### [Meteor + React Yeoman Integration](https://github.com/payner35/generator-meteor-react)
This is a generator for Yeoman created to help you develop Meteor + React applications quickly. It comes with some command line utilities to generate parts of your application quickly. It reminds me of `iron-cli`, but for React.

#### [Reactive Number Package](https://github.com/rclai/meteor-reactive-number/)
This is an awesome package that simply allows you to manipulate numbers easily and reactively. I find this useful for counters and areas where numbers need to be reactive. That way instead of writing this:

number.set(number.get()++);

You can write this:

number.add(1); ```

Meteor + Polymer

This is an interesting system because it replaces Blaze and Spacebars and uses Polymer instead. It’s a different way to use Polymer within your Meteor application.

NoSQL Injection - Check your Arguments

This blog post goes through and shows you how your Meteor application can be exposed to injection and what you can do to protect yourself against it. You can do it by using a package that MDG developed to protect against just that. If you are not familiar with check, I recommend reading this blog post.

Accounts-Azure-Active-Directory Package

This is a very important accounts package in my opinion. It allows big corporations to login to their Meteor applications with their Azure Active Directory accounts. This package helps pave the way to allowing Meteor to be used in more places.

Meteor Package Kitchen

This Meteor application allows you to build a simple Meteor package through a simple interface. I think it’s very good for beginners and those building packages that do not have a large codebase.

Starrynight - Meteor Scaffolding and Testing Tool

This is an awesome tool released by Abigail Watson in celebration of 1000 stars on the Meteor Cookbook. I think everyone should atleast take a look at this tool to see if it is the right fit for your development workflow. It has some very nice utilities.

Meteor Blaze Components

The moment a lot of people have been waiting for… a way to develop modular, reusable Blaze components. This is an awesome system built by community member Mitar that can help you modularize your front end in your Meteor app. This kind of system is currently under official discussion on a Blaze 2 hackpad, but I’m very glad to see that it is out now. I highly recommend using this package and reading through the README to really understand how to use it.

That’s all for this week! Tune in next week for more updates in the Meteor universe.

If you would like updates like this emailed to you, subscribe at thisweekinmeteor.com

Share Share on Twitter Share on Facebook Share on LinkedIn

How Can We Help?

Reaching out doesn’t mean you’re ready to start a project, but we’d love to learn more about the challenge you’re facing, answer any questions, and see if we might be a good fit for working together.

Contact Us