So how to learn Meteor now with all the changes?


#1

I’m an aspiring programmer and I chose Javascript / Meteor as my first main language/framework (besides HTML/CSS obviously). I’ve been reading and watching a lot of videos and had started the Discover Meteor book but now I’m really getting discouraged with all the changes happening to Meteor.

First of all it’s really confusing having different guides use Iron Router and Flow Router.

Now that I’m finding out that Blaze is pretty much going extinct, I really don’t know what the best way to learn Meteor is and if there’s even any resources that can help me get prepared for how to use React + Meteor.

I’m wondering whether I should just learn Node.js / Express / Angular or React and pretty much go with a MEAN stack instead since it really doesn’t seem Meteor is as beginner friendly as it use to be. Maybe I can come back to Meteor in a year or so when it’s more stable?

Any guidance and recommendation would be appreciated.


#2

For now you can jump into Meteor and Blaze. Learn the basics (you’ll see how simple it is to start with Meteor), build a simple app, and then search for some Meteor-React tutorials and try to rebuild it. This is the best way of learning. Anyway, It is only a view layer. Meteor is much more. Although it is better to use React for big projects, the knowledge about Blaze is also very important in the Meteor world, and I think that it will be important for a long long time, so don’t worry about that. This is not a waste of time :wink:


#3

If I was starting all over again, knowing what I know, I’d still follow the Blaze path.

Learn Meteor through the prism of Blaze. The learning resources are well established and the mindshare is greater.

When I felt I knew Meteor, I’d start to look at React.


#4

Learn React, it is used everywhere nowadays and is the best time investment. There are a lot of examples, some are with Meteor. Don’t forget about the docs.

Pick Flow Router or React Router (FR is easier in Meteor community, RR can be also used outside Meteor).

IMO, this is the best way to try Meteor. If you won’t like it or have some limitations, you can easily replace Meteor with something else and don’t worry about client js code.


#5

So far the advice is 50/50… That helps a lot :wink: ))))))))))))))


#6

Same struggle here. Started with Meteor a month ago. The Meteor, Blaze, Iron way seems straight forward and easy to implement. As I’m creating a longterm relationship with my new application, I would really like to pick the right way from the beginning and I’m not really afraid to learn something new.

What holds me back of using Meteor+React - there are no real application examples out there. I understand that’s too early to ask for one, but there are no real world problem solutions. I mean that’s great that there is a official tutorial on how to load a simple collection into React - but that’s a “Hello world” really, nothing more.

I can’t find a starting point on how to create nested views (e.g. /team/project/task/comments) with security and privacy in mind. That’s a basic thing in almost any application and yet there are no resources on how to do it the right way.


#7

You don’t need Meteor resources about how to do it. It is React, Meteor just sends you data. The information on how to structure your data flow in React, how to do nested views, security, etc is widely spread across the internet, you just need to google and read the docs.

Here is the chef guide. Its not the best guide and has not the best examples, but can be a nice starting point.


#8

Exactly what I was afraid of since the announcement that Blaze was going to be deprecated. Every week that passes until the next step is made by MDG, more and more of these types of questions will pop up (and rightly so). Horrible situation for Meteor…

My experience with Meteor the last year was Blaze (Components). I think to help understand the concepts of Meteor easier, taking all the documentation that exists today, that learning (or understanding) Blaze still makes sense. But just be prepared to throw everything away :smile: So if you want to learn the concepts of Meteor until React is ready, Blaze makes sense. If you want to start on actual work now, I would guess learning React makes more sense.

Regarding the router, I wouldn’t sweat that too much? (somebody spank me if I’m wrong). They all look alike and are likely a small part of your app anyway (assuming you don’t use Iron Router maybe). That’s the one thing I can comfortably say, that using Iron Router is probably a waste of effort. Focus on Flow Router.


#9

About Iron Router, I get the same impression. Sad that still a lot of examples are with Iron R., but Flow is should be I suppose.

What people are saying more and more is:

  • use React to make real apps
  • use Blaze to learn… and then forget that part again :wink:

Right?


#10

Guess so. Since MDG’s announcement I feel like learning/using Blaze is like using Assembly. Sure it will have it’s uses and will still work… .but…


#11

Seems that way… which is… interesting advice.

I went with Iron Router and Blaze when I started a few months back (I’ve only spent maybe a day a week on this project) and now I’m trying to work out what I should do with the existing codebase. Honestly I’ve only just learnt Blaze, so learning React feels like a bit of a chore (and honestly I don’t have an issue with Blaze, I just worry about ongoing support/community). Maybe I should just start by replacing Iron Router and hope that the tide doesn’t shift again in a few months…


#12

Same here. We learned Blaze + Iron this summer. Now I am 90% sure it will be Flow… and 60% sure it will be React … Big waste of effort…)


#13

Please, correct me if I’m wrong - but nested views and security is Meteor’s responsibility, not React’s. React will only show the data Meteor will prepare - Meteor decides if the client can ask for certain data in the first place and Meteor decides if the user has even access to a certain subroute.
As for the Chef guide - again that’s a basic authorization and one level “everyone logged in can see anything” example :confused:


#14

I’m an aspiring programmer and I chose Javascript / Meteor as my first main language/framework (besides HTML/CSS obviously).

Meteor is still a young platform, which is evolving drastically. You are not the only one getting confused - however, the beginner friendly part is where you are wrong. The beginner tutorials will get you up and running, and you’ll need to find resources to continue the journey. The difference between Blaze and React are existing, but last time I checked, everything now is still working (and will still work). The API guide for Meteor is quite extensive and not far from complete.

Allow me to share some truths with you about doing web application development.

  1. things change - and they change fast
  2. if its not the platform, client browsers will end up making your life miserable
  3. whatever feels difficult, there is just another bigger challenge just waiting to unveil when you really don’t want it
  4. when you think you mastered something, there are 100s more thing to you will not master and because of human life span probably never will be (or want to be)
  5. designing a cool web app is not engineering one
  6. be honest - no Bruce Lee emerged from a ‘Kung Fu in 24 hours’ book. Good app designs come from experience, experience from really ugly hacks and Homer Doh’s

Quick answer: nothing really changed for you at this point. So pick the router you prefer, the templates you prefer and the packages you prefer. Make love, not PHP.


#15

I can attest to this - I’ve been doing web development (in some capacity) for over a decade - and I still think I’m an idiot at least once a day.


#16

I actually started learning Angular as my first framework, but always had this feeling I was wasting my time because I knew Angular 2 was imminent. So I jumped ship to Meteor a few weeks ago…and now this. Bizarre that tutorials and blog posts from just a few months ago are obsolete or broken. How to keep up?


#17

I can attest to this - I’ve been doing web development (in some capacity) for over a decade - and I still think I’m an idiot at least once a day.

If practice makes perfect, I am also still practicing :wink:


#18

Can I suggest you don’t jump ship to React and save us all an headache. :wink:


#19

I was in the same boat when I recently started with Meteor. I bought Discover Meteor which I found very helpful but in retrospect not very applicable because it was Blaze and Iron Router. Now I’m using React with Flow and it is a great solution. You’re correct that there is a shortage of Meteor/React examples and even worse many are full of bad practices. I recommend that you read the Facebook React docs very carefully. I found the Thinking in React article to be the most helpful.

For Flow, I would start with Kadira’s website and focus on Arunoda’s successful patterns because many of the Flow examples on the web fall victim to his anti-patterns.

I had a lot of trouble selling my company on using Meteor. At first things went well until the group reached the point you are at now and the discord began regarding routers and views. This was almost a deal breaker. I got permission to try Meteor for a small project. My strongest argument was that even if Meteor’s future was uncertain at least the team would be getting good React exposure.


#20

Go through discovermeteor book (it’s really worth every penny!), build 1 or 2 apps with the gained knowledge, then learn the pattern You want (flow router, react etc.).

Or don’t give a brick, and stay with Iron Router and Blaze like me - because at the moment I don’t feel like I need anything else to make my ideas for apps come true :wink: