edit I went ahead and spent a couple of days making a bio-js library that relies on strings. I realize it shouldn't be used for any heavy lifting but it might be useful for the front-ends of cloud computing. Let me know if you like it and would like to develop for it.
the move into a "cloud" based environments like amazon EC2/app-engine and a more simplified operating systems such as chromeOS and android/iOS, will completely change the way people think about programming. So I predict that bioinformatics in the future will be carried out on a cluster of thousands of computers in the cloud, bundled together on the internet. The bioinformatic programming will be based mainly on using web-services and web-applications.
I know that it is sound crazy now, but in 2-3 years I predict that most people will want to perform their bioinfo analysis with their iPhone/iPad/netbook computers, doing a data-intensive tasks online, without buying expensive hardware.
I am dreaming on developing such an environment, and will work on it soon - an app-engine/jquery based bioinformatics platorm.
The JBrowse code is maybe 85% JS. One of my longer-term goals is to take any generally-useful JS code in JBrowse and split it out into a library. I think some of the data structure stuff, the NCList code and the trie code, might be useful elsewhere.
That code might need some changes to be useful outside of JBrowse, but given that I have JBrowse deeply grooved into my brain, those changes are hard for me to see. If anyone has a non-JBrowse use case for any of the code in it, it would be nice to talk about how well the APIs work for you.
The goal is to provide a fast, dependable library that larger tools can be built on top of. Yet to be published, but freely available open source (MIT licenced.) :)
The BioJS project exists for quite some time now and aims mainly at visualisation of biological data. It has already quite a few components, like MSA viewer, tree viewer or protein feature viewer. I don't know the details but I suppose they must have developed a few common data structures, so I would say it is a good place to start if one wants to develop more JS bioinformatics tools.
I like the idea of a BioJS. I think it lowers the barrier to create fun interactive bioinformatic web apps. How could that be bad?! Also, a project could always add the server side stuff as they progress.
We have developed BioJS: an open source library for reusable components. BioJS is a community-driven open source project whose mission is to provide 1) a minimum set of guidelines (or standard) for biological JS development and 2) a library of reusable components for visualisation. The purpose of BioJS is to make it easy to create, share and reutilise components for biological visualisation.
BioJS allows individual scientists and rganisations to i) reuse components, avoiding reinvention of the wheel every time some visualisation widget is needed for a lab, company or institution, ii) have a central repository where to easily discover all available functionality, saving having to spend time and effort searching the Internet for specific functionality, iii) test the functionality of available components without needing to install them, again, saving time and effort to prospective users, iv) combine components into more complex lego-like pieces, creating new functionality tailored to the developer's needs, v) extend the functionality of available components in a standard manner - once the programmer learns how to extend a component, extension of other components is done the same way, vi) maintain component, sharing the tasks of bug fixes, support and documentation with the community and vii) develop new functionality following a predefined architecture common to all components - the programmer thus needs to learn how to create components only once.