Last week I did my first full day of hacking on an Angular 2 application. I’ve been wanting to get into Angular2 for a while, having hacked a bit of Angular back in the day.
I wasn’t a massive Angular 1 fan, but I really love what’s happening in the Angular 2 space. Having worked my way through the (excellent) getting started application, there’s a few things that immediately jump out at you.
Java/DotNet guys are going to love this!
To be honest, this is the first JavaScript framework I’ve used that feels immediately familiar for an enterprise developer - it feels entirely non-JavaScripty, designed for scale and (actually) feels very much like Enterprise Java.
What makes me say that?
- TypeScript is all kinds of wonderful. It’s not just “strongly typed JavaScript” - it’s an altogether more wonderful experience for an enterprise dev. You have real interfaces, subtypes, scoping, annotations - and all with great IDE support. It feels like JavaScript written for scale. And it must be - the Azure Portal rocks over a million lines of the stuff.
- Angular itself has a consistent framework feel - with all the things Java devs are used to - Annotations, Dependency Injection, Services, Taglibs, Mockability, Unit and Intergration testing.
- Components everywhere. I know everyone rags on JSF, but the component stuff in JSF 2.0 was really just so great. Binding a table to a
List<Employee>
. Oh baby. I can really see Angular developing an awesome ecosystem of that kind of thing. And writing components to do that sort of thing really is an “every dev” level of complexity - not for rock stars. - Excellent documentation and a great style guide to get your application structured in a consistent way.
- Lots of momentum - have already found Stack Overflow answers to the common kinds of errors that I’ve encountered - but the error messages themselves are pretty great.
- Good CLI support. The existing angular-cli project gives you great bootstrapping and component template creation.
- Awesome IDEs. VSCode is a rocking cross-platform editor with completions, and WebStorm takes things to a whole new level (and is super cheap - or if you’ve already licensed Intellij IDEA all the same goodness is baked in).
So what’s the learning plan for a Java dev?
Everyone learns things differently - and you’re probably the best judge of what will work for you. But we all appreciate some motivation to get started, so feel free to follow along the path I’m blazing:
- Subscribe to my YouTube channel. It’ll pump you up. And I’m just about to start a 21 day series on Angular2 for Java Devs. It’s going to be dodgy. But I’m all about “don’t worry, be crappy” as a philosophy for taking action.
- The Angular 2 Quickstart on the Angular site is a great place to just get a taste
- The Tour of Heroes is a longer-form tutorial, but gives you a pretty good vibe for a larger Angular 2 app with some CRUD/REST action
- If you want to buy a resource, I’m really enjoying the Ng2-Book.
- Best of all.. commit to build a small hobby project! And blog your journey to keep us posted!
Can’t wait to dig in further…