I’m a blub programmer and want to be able to program my client-side frontend in Ruby just like everything else in my apps. I don’t do enough regular programming to be able to be proficient in very many languages. Over the last few years Ruby has allowed me to code everything from webapps to sysadmin scripts without too much hassle and yet I’m still far from an expert. If I have to learn a whole new set of (horrible) syntax and semantics, as well as a bunch of new frameworks, the productivity of what little time I do have to program will be just too low.
But enough about me, here are a few examples of what having a bytecode instead of language target on the client would bring:
- Write a single codebase for form validations and use them both for server side and client side with no changes
- Fallback automatically with no extra code to full server round-trips when client-side execution isn’t available.
- Test all backend and frontend code with the same tools without having to do somersaults to instrument the browser and actually have faith that all browsers execute things the same way.
- Write thick and thin clients based on the same codebase, potentially switching between the two in-browser (think offline Gmail based on the same code as the server side one)