Blaze is dead of self-sufficient?

I’m pretty late to this party - but I too wanted to chime in.

I’m more than willing to jump in as a maintainer - I’d love to see a few small tweaks made to Blaze to fix some little performance issues (particularly with HTML fragments), but I’d also like to see it permanently move to NPM - there is no reason that blaze could not be used in projects outside of meteor. Unfortunately this requires quite a lot of effort (I already released a proof of concept to NPM that “works”) as Blaze has quite a few dependencies that would also need to move to NPM - and arguably should!

For this meteor would need to adopt a naming convention (and ideally an NPM namespace @meteor/ or similar), and start moving components into NPM.

3 Likes

Completely agree. Blaze is awesome. Svelte feels like the next evolution of Blaze in a lot of ways.

I’m wrapping up moving a fairly large project from Blaze to Svelte and it has been great. Many of the concepts have a pretty direct translation. Would encourage Blaze fans to check it out.

5 Likes

I couldn’t agree more. If Blaze was viable outside of Meteor it would most certainly help! I respect and appreciate that some folks don’t want to learn or don’t have time to learn a new framework. I am super glad that there are still people willing and able to step up and Make Blaze Great Again! :grinning::crazy_face:

3 Likes

I’m intrigued as to how you did this? Did you automate any of it or all by hand? Any issues you had to solve?
Were you using packages like Autoform and Simpleschema beforehand? Simpleschema should still be fine but what did you replace Autoform with?

We love Blaze but we’re always eyeing Svelte with envy :slight_smile:

3 Likes

I know for us, we started from the ground up…but this was partly because the app needed a UI refresh anyhow. For us, we used SCSS and a framework anyhow; so I would imagine that if you don’t need the UI to change, your styles could remain identical.

The rest was pretty much a ground-up rebuild; however, many of the principals are so similar that this was not as large of a task as you would think. There are packages such as this one by @rdb (thanks man you have been awesome!) that could perhaps help…though I would leave it to him to say how production-ready it is: https://github.com/meteor-svelte/blaze-integration

Regarding autoform, we never really used it as at least for us it was pretty limiting; however, simpleschema we are still using. :slight_smile: I would honestly tell you that forms should not be too much of a concern, as they are so insanely simple in Svelte… it’s almost a non-factor. We use YUP for form validation, and would be more than happy to post an example if that is helpful, but check out this SUPER simple form example using Svelte (no validation):

<script>
  let values = {};
  const handleSubmit = () => {
    console.log(values);
  };
</script>
<form on:submit|preventDefault={handleSubmit}>
  <label for="firstName">First Name</label>
  <input name="firstName" id="firstName" bind:value={values.firstName} />
  <button type="submit">Submit</button>
</form>

I am not too sure it could possibly be easier than that! :slight_smile: Good luck to you!

4 Likes

I’m planning on doing a short write up and posting to #svelte so hopefully we can all learn from each other. Edit posted here: Converted a project to Svelte. AMA

Did you automate any of it or all by hand?

All by hand :slight_smile:. Porting code and some refactoring moved pretty quickly. Agree with the statement above: many of the principals are so similar that this was not as large of a task as you would think

Were you using packages like Autoform and Simpleschema beforehand?

No. My forms are pretty simple and with svelte the code is super straightforward. I considered introducing Simpleschema but it felt a little bloated. I’m using check but may move to something like ajv in the future.

3 Likes

I had used Blaze when I was just learning Meteor and, frankly, web development altogether. I had been drawn to React through Manuel De Leon ViewModel, which I traded for regular React eventually. But when I saw Svelte, it felt as simple and elegant, yet faster and leaner than most other options. So far, I really enjoy it.

And for the record, I’m working on a validation library that I hope might be able to replace SimpleSchema. I also developped a companion Svelte store that makes client-side validation simple and composable, even for very complex forms (which I deal with a lot). I’ll keep you posted when it’s properly deployed and documented… :wink:

7 Likes

There will be a discussion about Blaze at Meteor Impact:

Hello,
It seems that the discussion on Blaze had technical problems. Is it possible to get a look at it? Or at least a summary on what is planned with Blaze etc?

1 Like

I’m not aware of any major technical problems with Blaze. there are desired enhancements as far as I can tell.

Blaze is being successfully used in many production projects already.

2 Likes

Sorry for being not clear. What I meant that the discussion on Blaze at Meteor Impact Conference had technical issues and there is no video of it for those who missed the discussion. So if there is a video or summary of discussion that took place the day before yesterday that would be nice :slight_smile:
Actually there is a 10min video with the attempts to get stuff working, but nothing on actual discussion…

1 Like

Ah got it.

For now, I can give you a quick takeaway since I was part of the discussion.

There was a consensus that Blaze offers Meteor a unique advantage given it is simplicity (very close to plain HTM, thus making it ideal for new developers, designers, hobbyists etc ), tight integration with Meteor’s backend (minimongo, tracker etc), many packages, and battle-tested production projects.

Therefore, there was a shared desire among the folks in the panel to continue supporting and further enhance Blaze.

Also, a fun fact that the current Meteor.com site is built with Blaze since the designers who worked on it preferred it over other view layers :slight_smile:

3 Likes

Ok, thank you so much!

2 Likes

Honestly after Meteor Impact, I’m thinking to give Blaze another try, especially after it removes lodash/underscore and jQuery from its codebase.

4 Likes

I missed that talk :frowning: and never managed to see the video. Sounds great. When/where is this development happening??

Is someone working on an alternative backend yet?

Hey guys, hopefully the talk recording can be found anywhere, we had some trouble with zoom :frowning:

So basically we discussed potential improvements of Blaze without breaking changes, since many companies and teams using Blaze because of it’s stability and consistency over time.

We found, that potential improvements would be to get rid of unnecessary code (like underscore), rewrite all es5 code to es6+ and maybe even make jquery optional.

Currently I try to get a better understanding of the Blaze architecture (see the respective PR in the Blaze repo) and once this is complete we may start creating a project/milestone on GitHub.

It would be great to see you guys joining the effort, especially in understanding the architecture.

7 Likes

@jkuester You also missed the part where Meteor Software (via @filipenevola ) backed the project and confirmed that it will not be dropped from Meteor.

4 Likes

:man_facepalming: true, that was the most important part of all! So therefore the title question should be answered definitely :tada:

1 Like

If you are trying to make sense of Blaze architecture I’d recommend Meteor hacks articles especially this one and that or Meteor Explained. The book is basically a condensed and formatted version of the articles but it has the same tips that were on the website.

1 Like