There are a lot of meteor boilerplate templates out there. For those of you who don’t know, boilerplate templates define the way you should structure your application. The aim of boilerplate templates is to give you a head start by creating a structure that you’re ultimately going to create anyway. However, I tend to prefer a progressive approach of splitting things out when I need to.
Let me tell you why...
Bolierplate templates are kind of comparable to scaffolding in Rails in a way - very useful but you end up with a lot of left over cruft which may not be used. To that, I say YAGNI! Using a progressive approach combats this needless clutter by only creating what you need, when you need it, which is more comparable to TDD in that you write just enough code to make the test pass. TDD leads to tests that are very specific and free from irrelevant over-testing - the progressive structuring approach leads to a clean, clutter-free, concise app.
This approach may not work for everyone but for a minimalist like myself I find it really focuses my mind by cutting out everything but the code that matters. By starting with the default 'meteor create myapp’ files, I can just start writing code immediately with no distractions. Meteor makes it so easy to split files into separate folders and add packages that there really is no reason for having a boilerplate.
That said, one aspect which is favourable about boilerplate templates is that they create a familiar structure each time, which makes it easier for other developers to pick up where you left off and feel right at home. So it is worth keeping this in mind when following a progressive approach. Have an agreed upon structure which your team uses when it comes to the time of splitting files out.
I’d love to hear if other use this approach.