batman.js #498

Open
probststefan opened this Issue Dec 27, 2014 · 15 comments

Projects

None yet

9 participants

@probststefan

Will batman.js be replaced by another framework?

@pushmatrix
Member

I would like to. Still evaluation options.

@tylermauthe
Contributor

What are the options under evaluation? I am curious about where the project may be headed.

@pushmatrix
Member

Seems like the react.js train is rolling :P

@tylermauthe
Contributor

Very cool!

@cefigueiredo

👍

@scharissis

👍
As Limp Bizkit would say, keep rolling rolling rolling!

@alssndro alssndro added a commit to alssndro/dashing that referenced this issue Feb 10, 2015
@alssndro alssndro Backport `delimitNumber` filter to batman.js
Currently this gem uses an outdated version of 'batman.js' (0.14.1).

A newer version of batman.js (0.16.0) adds a filter named `delimitNumber`, which
formats long numbers for better readability ('1000000' becomes '1,000,000'), and
would be very useful for manipulating data used by the `Number` widget.

Since upgrading batman.js to 0.16.0 entirely causes breaking changes to the
entire app, this commit simply backports the required `delimitNumber` function
to version 0.14.1. Now the app can benefit from this new filter functionality
without breaking everything else.

I have no plans to open a PR on the original `dashing` gem repo because
batman.js itself is no longer actively maintained [1], so the PR will not
be accepted. In fact, there is already an open discussion [2] on the `dashing`
gem's repo about moving to a different JS plugin in order to replace the
functionality batman.js currently provides, but with a tool that is actively
maintained.

[1] http://batmanjs.org/
[2] Shopify#498
17aff6e
@gerwitz
gerwitz commented Mar 22, 2015

At least one fork has blazed a little trail: FlorianZ@84edfc8

@thelinuxlich

Vue.js would be much simpler and nice

http://vuejs.org

@tylermauthe
Contributor

http://hamlet.coffee/ would get my vote if we're going esoteric...

@tylermauthe
Contributor

Not sure why React was chosen, but if it was for performance:
http://blog.500tech.com/is-reactjs-fast/

To be clear, there are tons of other great reasons to choose React.

@waynehoover

I second vuejs. Its similar to batman, and faster than react.

@tylermauthe
Contributor

I love how easy it is to pick up Dashing and start cranking out dashboards with basic knowledge of HTML and ruby. Diving deeper and creating widgets is also quite a pleasant experience.

It does seem eerily similar: http://vuejs.org/guide/#A_Quick_Example

It has built in support for filtering, views/models, etc.

There is a react fork going already: https://github.com/florianz/dashing

It hasn't seen much action lately and I'm not sure how I feel about it in general. It doesn't feel like the original Dashing, but it would make it much easier to programmatically generate dashboards. Not sure how I feel about doing that either...

It does seem like VueJS would give us a more Dashing-like experience -- if I compare what I see in the existing React fork to the VueJS example above.

@thelinuxlich

I took a stab on this but using Node.js and Vue: https://github.com/thelinuxlich/vue-dashing-js

@Guillaumichaud

Is there any estimated implementation date or roadmap at Dashing level? :)

@pushmatrix
Member

Hey folks,

Sorry for the delay in all this. There's been a lot of evaluation lately of different technologies to replace Batman, but I've decided to keep it as-is. Batman bindings are simple and still work. In an hour or so you can be familiar with the syntax and can throw together great dashboards. Many people coming to Dashing have never used a binding library before, so they'll need to learn new syntax anyway (whether it be vue, react, or whatever). The benefits of switching to a different library are not worth breaking many of the community widgets that have been created, especially now that the project is no longer being actively maintained.

Hopefully forks like the one above using vue.js can provide a good template for people wanting to expand on the library and use the binding system of their choice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment