I’m gearing up to write some Meteor/Javascript learning material. In the process I’m writing a few things to get a feel for what content people are into.
My first Meteor piece is an introductory SMS client. It comes with a working application as a git repo and several explanations.
My material will be geared towards applying Meteor and some of the current JS hotness (ehhem, React) to build production ready, value creating applications.
I’d like to know what topics you’d like to see covered (deploy to gce using kubernetes?) as well as what types of applications you’d like to see (sms client? zen alarm clock? MTG Collection Manager?)
One of the concepts that I think is very underserved (including the Meteor docs) is how insert/update/etc. actually work. The concept is further blurred with autopublish and insecure packages. There is so much effort to obscure how these work that many devs see this as magic and move on (the more experienced the more prone to them moving on).
In reality they’re just meteor methods that use a facade. I tend to disable these (by not including by denying) and just use my own Meteor methods.
Learning how to write pub/sub code that doesn’t destroy load times and performance. I think a lot of people who are already using Meteor (ie. me two weeks ago) found switching to flow router more challenging than first anticipated because of it forcing you to use pub/sub properly. And for new Meteor developers it would be helpful to understand how pub/sub affects performance. I have read a few tuts on how to pub/sub but none that really show you how to improve them.
Covering template level subscription in detail would be a good one. Or how to transition to a Flow Router coming from Iron Router land mindset. I haven’t migrated to FR yet and in IR I have had problems in separating out the common subscriptions (like in header & footer or overlays) from page/route based subscriptions.
@rogerkirkness Agreed, this would be great! I’ve found that using Meteor methods to fetch non-reactive data can really boost performance for those areas that don’t need to be realtime.
Flow Router gives you more control. When I first switched, everything was way slower, because I was just sending everything to the client. Then you start to trim down what you send depending on what you need, and it ends up being faster and re-loading way less. I think you basically just have to write tons of subs for each template.
@SkinnyGeek1010 that is a good point. I hadn’t really thought of that in the context of db information. Thanks.
@SkinnyGeek1010 Would you mind briefly explaining your pattern here? Do you mean wrapping find and findOne inside of a Method, as opposed to just template helpers?
@SkinnyGeek1010 Ohh okay gotcha. And you still define your own ‘Posts.insert’ method, where I’m assuming the validation takes place?
Also, this is actually the first clear example Ive seen showing how to communicate between microservices. May be going off topic here, but when does it actually make sense to split your app into separate meteor instances (microservices)?
Hahaha. More the 2nd part about getting Isotope/Masonry to work properly and with additions/deletions as there are plenty of good tutorials out there for Amazon S3.