Earlier quoted context omitted.
With TypeScript you can define a single set of interfaces shared by both your client side and server code. If you change an interface to return a different value or rename a member, you immediately know where it’s used and can update it in tandem. Static type checking let’s you know everywhere that something is used without a battery of tests running through your app. This takes 99% of the fear out of refactoring and…
You get all of that for free with Java, plus you don't have to use javascript
How do you get that? Are you using GWT?