Quick Front-End (view layer) Survey

What are your current front-end framework/s of choice for your Meteor projects? Feel free to select more than one. Reply with comments if you like.

I think this could help new users and give us some helpful information about the active community.

  • Vue
  • React
  • Blaze
  • Svelte
  • Angular

0 voters

2 Likes

This is fun so far! Thanks to everyone participating :raised_hands: I think it shows that Meteor really has become a plug & play eco-system that can work with any front-end easily. I’ve noticed that a barrier for new Meteor devs is being able to select the core packages they need to make their initial full-stack operate.

Tutorials seems to be one of the best tools we have so far to guide new users on the packages :package:they need in their chosen stacks, but I think new users can still get confused or lost with all the options.

In Meteor’s CLI, this was intended to be made easier with the meteor create command, but we still don’t have skeletons for Svelte & Vue although these are on the to-do lists. I was hoping to finish up the one for Vue that @korg0001 started. But I kind of feel like the Meteor Software Dev team (I’m not calling them MDG anymore because I think that was the old corporate entity) should take on these rather small updates since they are the maintainers of the core code base.

The funny thing I realized with this survey is that I now know the core packages for Vue & Blaze because I’ve built apps with both, but I’d have to do a bunch of digging for React & Svelte & Angular to find an set up minimum app configurations.

What packages would you say are “core” to a new basic Blaze, React, Svelte, Vue, or Angular Apps?

Could you make a quick list on a reply to share this for your go-to front-ends, and maybe that will be a useful thing we can document for the Meteor Software Dev Team. The most common basic configurations should then be checked against what we are planning for the meteor create skeletons.

For Vue 2.6+ these would be my go-to most basic packages:

  • static-html or templating (atmosphere)
  • akryum:vue-component (atmosphere)
  • vue-meteor-tracker (npm)
  • vue-router (npm) or akryum:vue-router2 (atmosphere)
2 Likes

To make a more stable experience for developers relying on a Meteor stack of any front-end, it would be really nice for the Meteor Software Dev Team to test “core” packages during Meteor’s upgrade cycles.

The community may be able to help with this, but we should be a 2nd line of support. To me, this should be a minimum engineering requirement for any front-end that is considered a 1st class citizen for Meteor. Showing each community some love :heart: Actions are better than just marketing claims :grinning:

1 Like

Please don’t forget to vote in the new community survey as well:

2 Likes

For Svelte, right now, the must-have packages are svelte:compiler and rdb:svelte-meteor-data (though I might be biased on that last one :wink: ). Which other packages you need of course depends on the kind of app you are building. There are several people, including @CaptainN and @brianmulhall, working on a starter for Svelte and Meteor.

4 Likes

My Starter is set up for loadable code splitting and SSR, but doesn’t yet use rdb:svelte-meteor-data - looks pretty slick though. Happy to integrate that.

I’m going to finish up SSR/loadable-register soon with a babel plugin to make it even more, er, svelte.

2 Likes

Lots of people using blaze!

4 Likes

I do have one project that still uses Blaze. I wonder whether the results would be different if the question was worded to ask about what folks are starting projects with.

1 Like

Well, just add another survey here. :+1:

As for preliminary results from the Community Survey it is relatively the same except AngularJS and Svelte have the same amount of votes (3).

It’s great to see more votes come in over time! It shows how diverse our front-end world is today, and it’s fun to see everyone’s favorites. To me the results make a lot of sense so far, because Meteor included Blaze historically which is still tightly integrated so people will use it again for the right projects, and React was the 1st new front-end framework that Meteor devs moved to try out, then came Vue, then came Svelte. I’ve found projects with deep Angular + Meteor integrations, but Angular might have just fallen out of favor here in the Meteor community for the present moment.

It would be great for each group of developers who really like their respective front-end to offer help to new developers who are coming to Meteor to try it for the 1st time. I’ll be helping with Vue, but will usually point new users to a front-end expert.

I’m going to start another thread in the Forum for this, and I’ll be manually inviting 100 or more JS developers to try Meteor for the 1st time. I’ll invite them due to the fact that they have public audiences either from blogs, GitHub, YouTube, or other developer communities. I’m in no rush to do this all at one time, but more gradually over several months. I have about 5 of these people so far from recent web searches & reading. I encourage anyone to join in on this process if it sounds fun to you.

It would be great to create a group of core developers for each front-end option to give guidance based on the front-ends you like the best. Because of Meteor’s evolution, I think the hardest thing right now about using Meteor for the 1st time would be getting the right packages for everything to work out of the box.

I’ve done some pretty deep digging into modern developer communities now and Meteor is not really a thing devs know about (80%). I don’t expect Meteor will be for everyone, but I do think that there are millions of devs out there who would try it and love it for their projects.

For a 1st time Meteor user who comes with some front-end experience, I think Meteor looks something like this to me now:

I’ll speak to what a Vue dev would want to know:

  • Meteor will replace Vue’s CLI, 1 line install & 1 line app creation & 1 line app launch
  • Use any npm package (same as usual)
  • Get access to many Meteor only packages through Atmosphere
  • Pub/Sub is already fully built in (so you don’t need to write your own, no manual websockets)
  • Meteor includes an amazing build system, zero-config, you don’t use Vue’s build tool
  • Meteor has a simple & secure account management system by adding two packages
  • Your stack will be 100% open-source and 100% JavaScript, reliable & simple
  • MongoDB is your main database, it’s a better realtime DB than Firebase, and open-source
  • Node.js is your server (same as usual)
  • Add any API you need on the client or on the server (same as usual)
  • Add any data source via API, any database, etc. (same as usual)
  • Amazing dev experience you are used to with hot reloading, but no limitations on the backend
  • Free MongoDB hosting with Atlas on starter apps
  • Meteor app hosting with Galaxy, starting at $7 a month
  • 1 line to deploy your app to Galaxy, SSL certificates configured instantly
  • During development, access all data via MongoDB Compass (GUI)
  • Add GraphQL or Apollo if you like
  • Add SSR if you like
  • Save time, write less code, no limits

I’m going to be focusing on the Vue community myself, but I encourage everyone to focus on their respective front-end communities to help people understand they can be more than just a front-end dev if they try Meteor. Meteor might not be supported by back-end devs as much because it handles so much of the normal work they would have to do, but they should really love it too. I just see the big opportunity in the front-end dev communities.

I have a hypothesis that Apollo was the product that the market was ready for because it allowed back-end developers to stay on the back-end and front-end developers to stay on the front-end, where they have always been. Meteor built a product that fuzed the two, and it may take a couple more years for people to realize why that is so priceless. I think we can speed up that trend for new devs to realize.

Happy developing :rocket: Thanks to everyone for the ongoing participation & help in the community!

11 Likes

Very nice capture @mullojo, solid understanding of the platform capabilities and differentiation points. Thanks for sharing!

Some interesting observations pertaining to the survey results:

  • The growth of Svelte
  • The strong Blaze user base (it seems that “classical” Meteor has some really loyal and happy fanbase).
  • And lack of usage of Angular.

I think it makes sense since Svelte and Blaze are about simplicity and they’re both appealing to front-end developers and entrepreneurs (many Meteor fans are) while Angular it more heavyweight and enterprise-focused, React is a bit in the middle. Also, it shows that Meteor is very well positioned to act as a Svelte backend/server, bringing all the battle-tested ecosystem with it as well. So perhaps the community needs to focus more on the emerging Svelte while supporting the current dominant view layers (React/Vue) and ensuring backward compatibility with Blaze (handlebars).

I agree :100:.

3 Likes

So with the level of support that exists for AngularJS/Angular is that something that Meteor can officially move away from? and by that i mean remove references to Angular from the doc, the guide and take down the tutorial. Why steer people toward something that really isnt being supported any longer.

I think Meteor offers plenty of choice between React, Blaze, Vue and Svelte. With Blaze and React having established sizable groups of users and a level of interest in Svelte and Vue that with some help could grow.

How do people feel about this idea?

3 Likes

I personally agree with that strategy, narrowing down the focus to React, Blaze, Vue and Svelte sound sensible and more than enough.

I have to disagree with excluding Angular. It isn’t necessary and will only fuel saying that Meteor is for prototyping. Not to mention the current results from the Community Survey show a stronger showing for Angular than here.

4 Likes

Yeah make sense, we don’t want to alienate users and add FUD. Furthermore, Meteor is being positioned as front-end independent Javascript backend ecosystem.

I think the concern is maintaining the support/doc, but perhaps there might be leaders from each view community who would oversee the state of those tutorials, packages, documentations.

1 Like

I don’t use Angular but some folks really love it and it’s got a big presence in many companies. We want to embrace Angular not push it away.

For example based on this review I’d drop Svelte like a box of rocks before Angular.

Disclaimer - I think Svelte is awesome too

1 Like

the tutorial is demonstrating using AngularJS tho … that is a framework that is no longer being supported itself. the doc we have is kind of a confusing jumble of AngularJS and Angular

I will look into refreshing that tutorial we have tho using Angular … that would be a start to getting it updated

1 Like

I think a good strategy is to show the scope of Meteor. Personally, I would include, Angular js and even Flutter which is growing very fast and has two reliable integration solutions.

1 Like

Im not saying that these integrations cant exist … I’m just saying that by including them in the Guide, Doc and Tutorial section of the main site it may imply of level of support that doesnt really exist at the moment. Now if that were to change then by all means we can add things back in. But at the time they were included there was more support than exists now for AngularJS and Angular

I am willing to update the Angular tutorial tho to use Angular (2) to “modernize” it a bit if people think that is a good idea

1 Like