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.
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.
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!
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
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. 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):
All by hand . 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.
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…
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?
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
Actually there is a 10min video with the attempts to get stuff working, but nothing on actual discussion…
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
Hey guys, hopefully the talk recording can be found anywhere, we had some trouble with zoom
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.
@jkuester You also missed the part where Meteor Software (via @filipenevola ) backed the project and confirmed that it will not be dropped from Meteor.
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.