4 ms·
React, Angular, Vue, all require you to set up a JavaScript environment -- npm, webpack, babel, etc. to use beyond any trivial examples (you'll need webpack to
by sawka 5y ago
React, Angular, Vue, all require you to set up a JavaScript environment -- npm, webpack, babel, etc. to use beyond any trivial examples (you'll need webpack to pull libraries). Hibiki is designed so that it works without all that set up.
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.
- lf-non 5y agoThis is not quite true. You can easily use react/vue/solid along with unpkg to build fairly complex applications.
- Waterluvian 5y agoI have gotten ridiculously far with ParcelJS without any configuration. It’s an amazing product. I consider it to be my go-to when I don’t want to deal with Webpack.
- sawka 5y agoThat's true. It isn't just webpack though, it is for engineers who know HTML or have a backend set up (Django, PHP, Flask, etc.) and just want to add some quick frontend functionality without diving into the JavaScript universe.
- stavros 5y agoThis is exactly me. I want to add some simple things but I won't touch Webpack if I can help it. Usually I get by with vanilla JS, and I've been liking Unpoly lately, so I'll give Hibiki a try.
- sawka 5y agoI'm hoping to wrap some of the big UI libraries, like bootstrap, bulma, semantic ui, etc. into Hibiki libraries. Hopefully also get some nice tables, charts, data viewers, and dashboard widgets as well. Once this happens, the hope is that writing simple apps and dashboards in Hibiki will be really easy. Because of the standard data-model, the components can all fit together really nicely.
- rezonant 5y agoAngular.js does not require you to set up a Javascript environment. Note that I'm talking about the original version of Angular, not "Angular" (2+) Angular.js: https://angularjs.org/ https://angularjs.org/ Angular: https://angular.io https://angular.io (PS: Thanks Google)
- pjgalbraith 5y agoHe's talking about AngularJS (v1). It is very different to modern frameworks like Angular (v2+), React, et.al. Frameworks from that era didn't involve setting up any build process. Have a look at https://angularjs.org/ https://angularjs.org/ or https://knockoutjs.com/ https://knockoutjs.com/
- sawka 5y agoYou still have to know a lot of JavaScript to get Angular working. The hope for Hibiki is for backend/devops engineers and data scientists who aren't JS experts (I've worked with many of these types in the past). Hibiki provides the glue to call to your backend processes. You can write "frontend" functionality in your backend code (Python, Go, Rust, Java, etc.) instead of having to write that in a language you're not familiar with.
- the__alchemist 5y agoThis implies the intent is to be usable by people who aren't proficient in JS. Yet, it requires proficiency in Hibiki's DSL.
- sawka 5y agoYa, kinda like how all template languages (go-template, handlebars, jade, TT, JSX, etc.) have their own DSL. With Hibiki you can get by with only understanding the basics and then calling backend AJAX handlers to do the rest of the work. 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 :)
- mythz 5y ago> React, Angular, Vue, all require you to set up a JavaScript environment -- npm, webpack, babel, etc. 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.
- shrew 5y agoI appreciate React and Angular are difficult to get going without some sort of build step (React can do it, but not JSX, so it's not optimal), but Vue has always made it very easy to start right in the browser. AlpineJS[0] is newer on the scene, but it also focusses on doing exactly what Hibiki is trying to do with a much smaller API surface area. 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 https://alpinejs.dev [1] https://jsbin.com/mifiwabuqa/edit?html,output https://jsbin.com/mifiwabuqa/edit?html,output