The other really cool feature is that you can return "actions" (special JSON payloads) from your backend to actually script and update your frontend.
Put these two features together and you can have a full SPA in a single HTML file.
The other really cool feature is that you can return "actions" (special JSON payloads) from your backend to actually script and update your frontend.
Put these two features together and you can have a full SPA in a single HTML file.
Have a look at https://angularjs.org/ or https://knockoutjs.com/
If you want to go deeper and put more functionality on the frontend or create advanced generic components, then ya, you'll have to invest more into learning the framework.
Most of the backend engineers I've worked with have no problem writing HTML, AJAX handlers, and using template languages. But they won't touch webpack/npm/babel with a 10-foot pole. Just trying to bridge the gap to get a little more pizzaz into their tools :)
This isn't true, all live examples in Vue's docs run in browser.
Lots of people share their Vue examples using codepen, jsfiddle, jsbin, etc that are just static .html,js,css file hosts.
Vue's also used a lot for progressive enhancement of SSR content which wont be using npm in non node server Apps.
There's also optimized variants like petite-vue & preact which are tiny subsets that's designed to be used directly in the browser without any build tools.
Angular.js: https://angularjs.org/ Angular: https://angular.io
(PS: Thanks Google)
Because of the standard data-model, the components can all fit together really nicely.
This demo[1] runs a similar template to the initial few in the Hibiki HTML tutorial via Vue. I've been able to use the full Vue templating features and I've used a minimal amount of JS to set it up. The script I've included is ~4x smaller than the minified prod build of Hibiki, and my data models are in a real JS script tag so my code editor will treat it as real JS, as are my event handling methods which interact with my data model. AlpineJS is actually half the size again of Vue's prod build, I just chose Vue as I work with it regularly.
In trying to save developers the trouble of learning JS where they're not familiar, Hibiki feels like a new, less known, less documented DSL wrapped in non-standard HTML tags and lots of esoteric naming conventions in order to connect logic, data and layout together (it gives me ColdFusion vibes). While I could see the idea with remote actions, replicating this kind of loop in JS is trivial and feels less "magic", with the benefit that a strict data structure isn't thrust on the developer that then leaks into their backend code.
If a developer doesn't want to learn JS, they can get by just fine with server rendered pages which need to update with every action. If they want interactive content without reload, it's probably best for them to learn the small amount JS required to do what they want.
I apologise for being so down on the idea, especially as I'm keen to see more projects embrace the approach of keeping it simple, and ridding themselves of painful build steps and huge node_modules folders. But I'm struggling to see the benefits of Hibiki over the incumbent frameworks available.
[0] https://alpinejs.dev [1] https://jsbin.com/mifiwabuqa/edit?html,output