Updates. The first chapter is almost done. We found a way to teach people the fundamentals: methods, subscriptions, accounts without any view layer! So, no blaze, no react, nothing in the first chapter. Just focusing on the core, or at least, what we see as the core. Can’t wait to share it with you
We had to drop the idea of video tutorials. Long story short here were the winning arguments:
Ability to easily copy/paste, without having to leave a description with a lot of snippets, our tutorial’s idea was to “force” people to put in practice everything they learn, bc that’s how you remember it.
A large majority of people do not watch video tutorials. We interogated a lot of self-taught developers, and they all said they always avoided video tutorials, bc they taught it was a waste of time
You can search the tutorial, if something stopped making sense at some point and you want to remember
Ability to follow tutorial while listening to music
Hey don’t lose hope, Video Tutorials may still be possible, but they will be based on the text tutorials, it means that I or someone else will make the videos with those tutorials open and go step by step with you.
Another powerful reason for having tutorials like this. Is that it will allow people to submit their changes via GitHub: Community Driven Tutorials. That’s the bomb, if something is unclear, people can come up with better ways to improve what was said there => flexibility and incremental development of tutorials.
Anyways, long story short, we have a demo: www.meteor-tuts.com Please please please don’t judge it yet, it’s in it’s infancy, it was done in haste and it does not pay too much attention to details just yet.
We are now working with some people that have close to zero experience, and will go together with them to clarify things that may be vague, and we will continue to update.
We are going to have it ready by the end of this week. And ofcourse, it can suffer changes throughout his life-time because we’ll allow people to make changes via GitHub, we’re gonna merge the changes.
We also plan on adding comments via disqus at every page, so people can ask questions and discuss them there.
I did start with Vue recently and it’s really good. Because in react you have to decide which action manager to use, how to organize CSS in your components, etc. If you new in react and have no clue how to bundle it all together it’s quite complicated, because everyone in react world pushing his solutions and approaches forward. And you have to try everything to understand what’s really good for you. In vue it’s different, everything already there by default. You have to read official docs and you ready to build. I would suggest Vue to everyone who used to like blaze as its replacement.
And one of most greatest feature in vue for me, that I can use jade and stylus again.
I like vue! Honestly, it has ingredients from Blaze, Angular and React + It’s also modular. Very very good. + it has JSX support!
I really like it And I understand why people like it too!
However, the view layer should no longer be a concern for Meteor. Let Meteor be the reactive data-system, and let there be packages that offer integration with any view-layer. Honestly, in React, I only use “createContainer” from Meteor and that’s it, and something I hacked for methodContainer:
And that’s how simple integrations should be, hook in the Tracker, and some helper methods for method calls and some hooks for grapher ofcourse!
I would also just like to re-emphasize some tutorials for doing mobile development with Meteor. It’s cross platform attraction is a big selling point among beginners.
Yes very true, we have a fully dedicated chapter on Mobile coming (this was based on the community’s feedback), for now we just want to get this perfect and understandable by anyone.
Hi @diaconutheodor, to reply to your original question, here are the things i got hung up on when learning meteor:
Coding for scale: I had no idea how to do this, and honestly blaze and meteor didn’t help a lot
When to care about various issues. For example, coding for scale. Learn shortcuts first and improve it later. Autopublish is a great example of this done right. If you’re in a hackathon, autopublish saves your life.
Server schema design: how do you decide when to create separate collections, etc… I still struggle with this sometimes. Mongo sometimes makes this difficult. Like if you ever need to report on a field, make sure it’s not nested in a document or you’re going to have a really hard time.
“What the heck is [insert thing here]”. I found myself saying this a lot at the beginning, like “what is a router”? The concept of JS web pages and routers is simple once you get it, but coming from HTML it was really weird. There may be other things like that that would puzzle people coming from non-js worlds, like “what is node”, “what is NPM”, “what is react”, “what is reactive”, etc…
How to pick the right package. I still don’t have an answer for this. I often pick the wrong, unsupported package, and end up writing something myself or choosing a different solution. This part sucks. Now I always read issues before committing to a package that doesn’t work right away.
It would be cool to have a high-level roadmap of what I should learn and when, with an explanation of what that means and why it’s good. E.g., when and why should I learn about using microservices? This could be done on a single page very easily.
As mentioned sashko this is just draft, and gave it just because people required it, the official launch will be at the end of this week, with better styling, search, edit on github, comments on each tutorial, etc. Thank you!
Give an extra “Homework” for over-achievers, something like very challenging, to make them flood google with queries and some brain burning algorithms (evil laugh)
Next phase will be the view layer. I will focus on React, but it seems that people want Blaze and Vue.js as well, so maybe we can do those as well. Basically we will only focus on how to integrate it with Meteor, the rest they can read somewhere else, these won’t be React,Vue,Blaze tutorials… I want to keep a clear separation of concerns.
Then we need to focus on large-scale patterns and application style. Event Management, Grapher, Security aspects, etc…
Then… Mobile tutorials from 0 to an APK or IPA file on Android and iOS.
Oh man, so many things, to do, so little time. No problem. We will do this.
@diaconutheodor this is awesome, really great work!
I wish you would do this two years ago, back then after reading a Meteor tutorial it was a struggle to understand the best practices, but this provides a good example for every use case we commonly use in our Meteor apps.
For the mobile part I would skip Cordova and focus on React Native, now that there is a production ready package: https://github.com/inProgress-team/react-native-meteor
It is a bit more work than Cordova as a separate project is needed for the Mobile client code, but the same server can be used without any changes inside the methods and publications, the native feeling usually worth this effort.
Is there a Meteor-React application architecture you want to add?
I am very careful with this. I prefer not to imply a certain structure, but rather teach people how to make their own structure. Since every app is different, each app has a different optimal structuring. Instead of giving them “hey, do it like this.” better “hey, here’s what you should take into account while you do this”. This is a very important aspect.
For the mobile part I would skip Cordova and focus on React Native, now that there is a production ready package:
Vue.js / Blaze.js … people use it, people love it, I want first to have a general approach. Then we could do react native, why not. Good point!
Regarding Mantra… I’d rather say nothing. If people like it, they will use it
First chapter is done. We scratched the surface. Please review, leave comments, create a PullRequest if something can be better explained (By clicking Edit on Github on every page)
The idea is to offer a welcoming to all new developers in Meteor. That’s the best we could come-up with, help us perfect it!
Next phase:
The view layer. We will focus on React, Vue.js and Blaze (these are the clear winners) We will not teach how to use them, there are other tutorials out there that do a fantastic job on that part, we’ll only teach the integration with Meteor and provide links to resources on each integration.
After the View Layer, in chapter 3, we start learning about large scale architecture, schemas, grapher, testing and how to really build an app with 10+ people working on it!
Chapter 4 will be dedicated to Mobile & Desktop, and we’re so eager to show what we learned and how easy it is to build such an app!
The idea of these tutorials is to have something written that people can later check, we cannot focus on video tutorials right now, we need to lay the foundation first. However you can create a tutorial that will be an walkthrough of the current tutorials and do it together with your viewers!
Next we are going to show you some recipes: Free HTTPS (via letsencrypt.org), Deployment via Mup on cheap VPS, then we begin chapter 3. The biggest and the most interesting one.