Predictions on Twitter for Meteor

Sure, it’s relatively easy to get any frontend framework working with Meteor. I’ve setup Svelte and Hyperapp from scratch just for the fun of it.

I was talking about creating a real drop-in-replacement for Blaze with Glimmer or MarkoJS, which seems like a… little bit larger task, even if the template syntax is handlebars.

But I’d love to see this happen.

1 Like

Do you mean the tutorial or the guide? I guess you mean keep the common sections and have a dropdown with the desired view layer?

Yes exactly. It will give a quick glance about Meteor support.

1 Like

Awesome idea, I highly recommend this.

Care to offer more details ? :smiley:

Np. Ofcourse it has to be taken with a grain of salt. React will remain very popular, but I think Vue and other atm less popular non virtual dom view layers will make their way in/back or continue to rise. Interesting read (as shared by @alawi):

What I’ve faced by switching from Blaze to React (I had to unfortunately) was that I suddenly had to do a LOT of stuff myself. Stuff that Blaze did for me for free… React recently updated its API to suppert hooks. Last thing I remember about Blaze was this beauty:

Template.someTemplateName.helpers({
  someVarFromHook() {
    return Session.get('someVarThatWasSetSomewhereElse');
  }
});

It does exactly the same and is much simpler. The only downside was that if you did not come up with proper names, it was not always clear from where the updates originated.

React was the first
An independent view layer that can be build in a SOLID way and that makes in-efficiencies ‘forgivable’ by providing a virtual dom. React was the first view layer that actually achieved that. At least, the first marketed one. (I’m not aware of any earlier ones at least). Later that time Angular (the biggest and most popular at that moment) broke with its V1 version, upsetting the community, making a lot of developers switch to the new kid that already gained a huge momentum.

Angular did recover and is now on solid ground again. Its actually used in huge companies and for a reason. Its a framework. Highly opinionated and if you like typescript and observables, you might like Angular too.

Developers like freedom. Most developers became software developer, because only time and their creativity was the limit. That’s why a lot of developers tend to stick with React atm. Though you have to do a lot of things for yourself, its exactly this freedom that makes it popular.

Vue arrived on the scene
Vue has only just arrived on the scene. For 2 years now it has been steadily rising, but in usage its no where near React or Angular. Did it come too late? Companies in the European and American regions have mostly adopted Angular and React already. However, there is something interesting going on. Though usage is relatively low, the number of github stars is higher then both Angular and React!! What is going on here? Here’s the stats from Github at time of writing:

  • React: 118.942 stars
  • Angular: 43.993
  • Vue: 123.879

If it works why change it?
You see. Companies have a different mindset. Like I mentioned in another thread: “Business people have a different mindset then developers”. In this case, its about reducing risk. Since a lot of companies were using AngularJS (v1) and were happy with it, why now not use Angular (newer versions)?
“Most of the developers in my company are Angular developers so it’s safe to continue using it.”.

Developers love Vue
If you ask developers that have tried Vue. Almost no one will reply that they have anything against it. They either like it or don’t hate it. Angular is hated by some, adored by some and most people have a love hate relationship with it. React is in a better position. Developers love it, but face a high learning curve, because of its JSX syntax and Javascript everything approach. What does not help either is that documentation is scattered everywhere.

In contrast, Vue’s docs are well designed. Its ecosystem of libraries are “plug and play” and consistently documented. It even has a style guide! Vue has a very involved and active community of Passionate People. It has a much more complete and better documented rendering framework - NuxtJS then React’s NextJS. The team is the most ‘agile’ team I know of, because of its open source and I can do what is most valuable mentality. (Thank you @akryum for your integration packages with Meteor). I did not mention the CLI tools.

Vue has been rewritten from the ground up ~2 (almost 3) times. When React came up with Hooks, @evanyou came a few days later with “I’ve played around with it” and now its a thing.

Not there yet, but the trend is clear
This illustrates just how fast VueJS development goes. Developers love it and companies are starting to love it. If you look at the trends from top down, you might not notice it. React and Angular are simply still too big in numbers, but bottom up, you can see that the developers love it. The community is thriving and contributing and it will continue to do so in the next years.

conclusion
React remains strong, but a couple of its biggest advantages over other tools are disappearing. VDOM, component based, state management, jsx. They all are already being replaced or abstracted away by webcomponents, non vdom frameworks and templates like that of Vue’s.

Its a big sign. Microsoft Windows was defacto, until Apple released a shiny macbook that worked really nice with its operating system OSX and its mobile equivalent on the iphone. A bit like how vue works really well with the rest of the ecosystem.

1 Like

Thank you for the time you dedicated to respond to my inquiry.

I still don’t understand how React isn’t simple and elegant. That reactivity thing you wanted I do something like, using mobx. Same elegance much clearer abstraction between presentational vs injector.

const Session = observable.map({});

@observer
const Wrapper = () => {
   const value = Session.get('xxx'); // When 'xxx' variable changes, this rerenders
   return <Item value={value} />
}

I’ve checked Vue multiple times, I prefer React, it’s more aligned with the way I like the code to be written. The fact that I have ReactNative and can re-use the components in mobile is also a big plus. I can’t understand why people have a big learning curve with React. I believe they simply didn’t watch the right tutorials :smiley:

WebComponents and React try to solve different things. They are no mutually exclusive, they can work together.

Cheers!

3 Likes

I still don’t understand how React isn’t simple and elegant.

It is. React is a very powerful tool, but in the right hands. MobX is awesome, but you have to be aware of it. just like Redux. On the elegance part though I think that its part of a bigger discussion. Some people love Javascript everything. In that case JSX and things like styled-components are huge. However I find for example this way of working cumbersome. It gives me overhead to figure out what part is about representation and what part is about logic or data.

This is just an illustration. Fact is that React has a abundance of tools. Vue, Angular and React overlap hugely, but have some distinct differences in their approach. Angular is the framework, React the toolkit and Vue a bit of both.

I’ve checked Vue multiple times, I prefer React, it’s more aligned with the way I like the code to be written.

With you, many more. Time will tell what people prefer on the long run. My prediction in that sense might prove to be entirely false. I’m just aware of a small part of the world :slight_smile:

WebComponents and React try to solve different things. They are no mutually exclusive, they can work together.

I know. Its just that… before webcomponents, vue or other component libraries out there, there was only one alternative and that alternative was React. Now its possible to write webcomponents and use it with other libraries to do the state management.

2 Likes

Do you have some recommendations?

I have been learning from a couple of Udemy courses, but still don’t really understand props and the spread instruction (…props).

I saw hooks demo’d on a YouTube video, and I thought “finally, that makes sense!” (and I hope it means that I don’t have to learn Redux!)

As a coding noob, I am learning so much all at once: javascript, meteor, jsx, React, mongoDB, HTML5, CSS, SaSS, Github, debug tools, NPM, ATOM. It is breathtaking, but an exciting new canvas and tools to paint my future.

Any suggestions that you may offer would be appreciated. Also, if you know an experienced Meteor developer who is interested in being co-founder of a startup, I am seeking one or more. I am an experienced Product Manager with a strategy to solve a huge business problem faced by > 40,000 companies worldwide.

If I have to build the solution on my own, I will, but a partner or two would abbreviate time to market and increase odds of success.

1 Like

Well don’t hold back with questions here. Happy to help out wherever I can. Hope that you will succeed and ofcourse with Meteor!

Btw, focus on javascript related books and tutorial first. A lot of the stuff that you see is purely javascript. This is the same for Meteor, Vue, React or whatever you write. The more you understand javascript, the more you understand the frameworks built with it.

1 Like

Personally I think If you’ve that experience and the domain knowledge, you’re better off finding a technical partner (unless of course you want to learn for the fun of it), you already bring a lot to the table and the odds of success for you and your technical partner will increase.

1 Like

i still don’t understand why people bash on react’s virtual dom. It’s an implementation detail. The API couldn’t care less about it.

More important is React’s reconciliation algorithm (which on the other hand uses the virtual dom). It allows you to have more “dumb”, but natural data structures like plain arrays or objects. In blaze, you need to use collections for lists, otherwise you get bad performance if you do stuff like sorting / adding / removing elements.

1 Like

I think it’s already in the Plateau of Productivity.

2 Likes

Yes, I agree. But I don’t know any Meteor developers and the engineers that I do know are not entrepreneurial. So I am incertain where to find a suitable partner. Anyone that you might suggest?

You can try posting on weworkmeteor.com if you havent already.

Well, it’s a real challenge to pick a co-founder, the are many factors that goes into that selection. I can’t suggest one, it has to come from your network, but the book The founder’s Dilemma might help a bit in clarifying the process.

Sorry, we’re getting off-topic here.

Hi @diaconutheodor,

Do you still use mobx / @observer to re-render? Have you updated or changed since you made this comment?

After reading the MobX documentation, it seems the more recent versions have moved away from using @observer.

Have you implemented this in Meteor/React with React Hooks without @observer?

I think it will solve a problem I am currently having where I want to re-render a component when my Session variable changes.

that tweet did not age well

2 Likes

Hehe hard to disagree @macrozone :sweat_smile: Not all was wrong :stuck_out_tongue:

  • Does occur now: meteorjs enters Slope of Enlightenment
  • False: webcomponents adopted by most major FE tools
  • True: passionpeopleNL continues to grow
  • Partially true in some countries: VueJS approaches React in usage
  • False: reactjs enters Slope of Disillusion
  • False: Rise of non-virtual dom tools like @imbajs
2 Likes
  • False : Rise of non-virtual dom tools like @imbajs

Svelte is rising hugely in popularity now and Imba is fast moving towards v2 (though not at same exposure level yet)

1 Like