We use a foundation of GWT for our project. Basically Java that gets compiled down to JavaScript. If you have any knowledge of Java, it's a good way to go, so you don't have to re-learn everything.