|
#This is a short introduction on what Cherimoya is and why we're building it. IntroductionThe web has come a long way since the 90s. Floating boxes. Resizable text areas. Content that updates within a page without the page ever having to reload. All of this has been made possible with JavaScript. That said, JavaScript has it's flaws. A poor object model, a standard library that is lacking and cross-browser compatibility issues up the wazoo. Not to mention the hugest flaw of all: JavaScript has a monopoly on the client side 'market'. Though this isn't a flaw of JavaScript itself, it is an inherent flaw of client side programming. A lack of choices is always bad. The answer to these problems is not to continuously update JavaScript until it makes everyone happy, which it can't. The answer is to fix the infrastructure. The web needs to support more client side programming languages, and cross-browser compatibility issues need to be a thing of the past. Cherimoya is not a language, it's an idea, the idea that there is something better than JavaScript out there. It operates under the assumption that different languages really are different, and that while one language is better for me, another might be better for you. Cherimoya does not attempt to be the end-all-be-all of client side solutions, but it does attempt to prove that JavaScript and only JavaScript is it, and we should work together to find it, standardize it, and use it for the betterment of the web. Ok, but what is Cherimoya?Technically speaking, Cherimoya is a collection of components that come together to allow developers to write client side programs in different languages. More specifically, it's - A set of browser extensions
- These are the components that parse the scripts, interpret them, and run real code (that effects the browser in some way)
- These browser extensions include interfaces for installing new languages and libraries for languages
- Currently, only a Firefox extension is being developed
- A set of language packages
- A language package includes
- a .chp (pronounced 'chip') file, a CHerimoya Processor
- a library of code resembling, as close as possible, the standard library of the actual language it mimicks
What can I do with it?Cherimoya is meant to be extensible. If a language you love has not been implemented, you can do so yourself by creating a .chp and creating the library. If a 3rd party library you love has not been implemented for a language that's already officially supported, create it and pass it around.
|