Yeah, BioJS is moving forward to have every module as Web Component with Custom Elements!
As an overview you might want to watch A jump through web wormholes by @greenify that givens an introduction why Web Components are the future for BioJS.
"Web Components are a set of standards currently being produced by Google engineers as a W3C specification that allow for the creation of reusable widgets or components in web documents and web applications. The intention behind them is to bring component-based software engineering to the World Wide Web." (Wikipedia)
- automatic encapsulation thanks to the shadow DOM (no more problems with components modifying your site, id conflicts, css conflicts or problems to create multiple instances of a components)
- Custom DOM Elements (new HTML elements e.g. just for biological data)
Everyone is familiar with HTML and can add a <button>
DOM element to their website. Why not let them add a <biojs-msa>
element?
Imagine to include an multiple sequence alignment into your website with a short HTML snippet like this:
<biojs-msa>
<biojs-io-fasta url="./Q7T2N8.fasta" />
</biojs-msa>
- The first official release of Polymer (version 1.0) was at this year's Google I/O (2015-05-29)
- The Polymer project worked hard to reduce the Web Component polyfill to a lightweight shim
- Supported in Chrome since version 36
- Web components will be the future!
Have a look at the presentations listed at webcomponents.org - especially:
- Polymer and modern web APIs: In production at Google scale at this year'S Google I/O by the Polymer dev team
- Why you should be using Web Components now. And how by Phil Leggetter (@leggetter)
- Componentize The Web: Back To The Browser! by Addy Osmani (@addyosmani)
- Polymer and Web Components change everything you know about Web development by Eric Bidelman (@ebidel)
- A future called Web Components by Zeno Rocha (@zenorocha)
Our roadmap is work in progress, please look at our github wiki.
Currently there is development and brainstorming is happening here at github
- If you have an idea, proposal -> don’t hesitate to open an issue
- IF you want to port your (or a) component to polymer -> go for it & discuss your progress with us here :)
- Have a look at our roadmap (at the wiki) & get inspired
- If you haven't found a task yet, browse through the open issues or ping us on gitter