I dont want to learn React

That’s sort of what I was driving at.

Yes, but, especially for new developers, there is an overload if they learn too many things too fast where they retain none of them! Caution should be used.

I think Meteor is closer to being a “fad” than React at this point in time. React is going very strong, as Angular did before. It’s the nature of JavaScript to be very fast moving, if you can accept that, then you’ll be a very strong fluid developer who understands tools are just tools, all based on the same language.

Again, MDG massively overcomplicated how Meteor works too, creating DDP and whole new data transport protocols, hacking GraphQL to make Apollo, creating their own build tool instead of just using webpack. I hear no complaint on that regard. Facebook are honestly doing what they believe is right, and that’s a great thing. If people just always went to the go-to we wouldn’t have great projects like Meteor, like Apollo.

I love what Facebook is doing, I love what MDG is doing too, but you have to look at things in perspective. Most professionals I speak to, who have never tried Meteor think it’s a gimmick. If people didn’t push boundaries we’d still be writing jQuery soup frontends with PHP backends. Hack/Invent/Innovate, then refine.


On the topic as a whole, I feel React is a great addition. Yes, it raises then entry level for Meteor, however if you can get past that, you’ll be a better more marketable developer as a whole. Blaze is still fantastic for fast prototyping though.

The fact of the matter is, no top-level company will ever employ someone who can just write one framework anyway, especially one that runs on outdated practises.

As previously mentioned by others, this update really hurt designers and hobbyists the most. However anyone in, or looking to join a serious development team, this update was beyond fantastic.

3 Likes

Little more than an API actually. They call it a “protocol” but it is just an API which happens to use a websocket and json for transmission.

Not so sure it’s hacking. They’re adding observable patterns to it is all.

which, I don’t know, maybe wasn’t really around yet? Certainly hadn’t become well known by the time MDG started with the meteor build tool.

I don’t think using Meteor as your example works to override the sense that most of what facebook makes is over engineered. I know flux is (and under at the same time). React as a view layer though seems to be right in the sweet spot, an area that Meteor also aims for. Webpack is awesome, and I look forward to meteor supporting it more natively but they have quite a legacy in their tool and that momentum is part of what has made them effective.

Also, a lot of people forget that it’s not that React is better than what’s out there. It’s that they were the first ones to do web components, an architectural style that most people agree is needed. Angular 2 is also aiming to do that but is just not showing up.

2 Likes

@lassombra I don’t think you got the point I was trying to make, which was simply every good thing comes from the work of others, trying new things and pushing boundaries. Not staying with the status quo. MDG are taking what’s been built by others, and creating new tools with it. Similar to what Facebook’s been doing too.

I was trying to defend what Facebook’s doing by showing the same reasoning from an outsider to Meteor. However I also praised Meteor, I think MDG are amazing and the job they’ve done is fantastic. Both companies are great and doing great things, truly innovators in the current JavaScript community.

Angular 2.0 is great too. There are many great systems, as I mentioned, you have to be flexible in the tools you use, at the end of the day they’re simply tools.

1 Like

I would definitely tend to agree with you there.[quote=“joshig, post:86, topic:21846”]
MDG are taking what’s been built by others, and creating new tools with it. Similar to what Facebook’s been doing too.
[/quote]

There is a significant difference there because MDG is working towards reducing barrier to entry for real time applications while Facebook is focusing on tools that help their gargantuan stack. Some of those tools have been helpful, but many of them haven’t and won’t. Flux is so bad for example, that we already have Redux. My point here is that Facebook doesn’t exactly have a stellar history. In the case of MDG, you can use their history to set your expectations for the next thing they do. If you do that with Facebook, bye bye React and GraphQL (the two best things they’ve come up with, but far too late in their own story).

I just wish they would hurry up and get out of beta. I really believe if they don’t make it to market this year, they aren’t going to ever compete on an even footing with React.

1 Like

This is an interesting estimate, calculated by burndown:

I actually went through the effort of learning React this week to see where all the other people are coming from.

To be honest, I would say that once you master probably the three most basic things, it actually is pretty intuitive, but it does still seem quite ugly at times (mostly just in the render function).

However, I am pretty sure that webpack makes it a little more condensed. Something like

import {Component} from 'react';
import template from './template.html';

export default Template extends Component {
  render() {
    return template;
  }
}
4 Likes

This topic is getting tiring, and I agree with @suhaila - what’s the point of this thread?

  • Learn what you want
  • Blaze is not going anywhere
  • Relax

Also, I have to disagree with the opinion that React is a fad. That couldn’t be further from the truth. I’ve been in web development for a very long time, and seen many technologies come and go. React has taken hold, and I believe it’s here to stay.

3 Likes

I still use Blaze, but open to learning react. Better to broaden horizons. There is also Angular to use.

See, I don’t think anyone is arguing that that is a bad idea. Updating HTML reactively when data changes is a fantastic idea. That’s what got us all into Meteor in the first place, right? That’s what Blaze does, too. You don’t need React for that.

What some people (including OP and me) is bugging is the whole “let’s write HTML in JavaScript” deal. That is code smell IMHO.

Vue.js is shaping up to be a good alternative. Similar to Riot, but has managed to gain quite a following (especially in the Laravel community, apparently).

Polymer also uses a component-based approach, and provides two-way data binding.

Component based engineering isn’t new. React didn’t even invent it. They were just the first to bring a fully working implementation to market, and have since profited from the massive Facebook hype machine.

“Eat shit. Billions of flies can’t be wrong.”

My go-to quote whenever someone mentions popularity as an argument.

1 Like

Is that possible (to have the template in a separate file and import it)? Perhaps even use a preprocessor like Jade?

TBH that is one of my biggest (if not THE biggest) complaints about React (the other being the disgusting API).

2 Likes

I just watched that video you linked and it’s literally a non-answer. All the “proof” he gives is anecdotal evidence, claiming that his designers had no issues with it. He then keeps repeating the sentence “the accessibility of templates and the power of JavaScript” as if that meant anything. This is astroturfing 101.

“I need to hire people and expand my team.”

That’s my rebuttal to your rebuttal.

“Garbage in, garbage out.”

That is my rebuttal to your rebuttal to my rebuttal.

People keep saying they can’t use angular because it isn’t out yet. But I noticed react, since being released, has been deprecating stuff left and right. If you jumped on towards the beginning, you’d have refactored your code 12 times already… so I don’t really see why using angular 2 at this point would be any worse. I don’t think there is any substance to the idea that using react is significantly more stable than using angular 2… at my first glance, the differences in stability are marginal…

1 Like

Hmm… it looks too Tindery. Let’s take that, subtract the Tinder, and add some Meteor.

The future of Blaze:

1 Like

https://atmospherejs.com/lassombra/react-templates

It does have app installs (don’t know why it says it doesn’t) and I’m using it in production in Meteor 1.2. I have plans to by the end of the summer properly support Meteor 1.3 modules and full ecmascript within the compiler.

It’s just one of those things you have to get past. If coding this way were really a problem, I doubt so many big players would’ve chosen React as their platform.

I don’t get the problem with this to be honest. It mixes technology, but React let’s you keep your concerns nicely packaged up this way. One of the things I didn’t like about Blaze was that it made me keep my html and JS in two different files. Many times it would be easier to have it in one place.

The reality is you can’t adequately separate your concerns along technology lines - HTML/CSS/JavaScript aren’t designed that way (if you could call css “designed” - why is layout defined in CSS - icky). It’s better to separate your application concerns into focused modules IMHO. A user account module touches multiple techs - but it’s all the same concern (with smaller nested concerns that still cross tech boundaries). Database, server application tier, presentation and user interaction (HTML/JS/CSS you can’t do any modern interaction without all 3 of these) are all required to have a workable a user account system. Even a generic component like a date picker, or map based timezone picker - these would require all three again - HTML/JS/CSS (maybe even external images).

Since switching to React I haven’t had that problem where eventually everything turns into a mess of crisscrossing CSS and non-reusable code blocks, when things get difficult to explain to other developers (and there are always at least two - you and you in 6 months). If I end up with any mess in React, it tends to be contained inside a single component (or action creators in Flux), and that makes it easy to dig through, assuming you keep your components and action creators small and focused.

One thing I’d like to see added to React is some kind of rational way to mix in CSS and a reasonable layout system (Flex-box is getting us close, and CSSX, we’re not quite there yet) in addition to JS and (X)HTML. React-Native does this to an extent - all three techs are mixed in there.

Of course, YMMV.