As you may know from reading previous posts, this led me to switch to Dart. Having a syntax very similar to C#/Java, I was more than happy to dive in. I quickly developed a simplistic game engine/framework and even developed four games in one month (one game a week).
The major alternatives to Dart are:
TypeScript - Everything I've seen thus far for this is amazing, but I'm hesitant after Dart.
Dart and TypeScript both have:
- Properties (getters and setters)
- Static Fields & Methods
- Optional & Default Parameters
- Lambda Expressions (Anonymous Methods)
- Interfaces (explicit)
- Dart only has implicit interfaces via classes
- Dart uses libraries instead
- public/private keywords
- Dart uses underscores to mark fields/methods as private. BLEH!!!
- Rest Parameters
- Overloaded Methods
- I can't believe Dart doesn't support this. This is huge to me.
- Generic Constraints
- A great way to get other people's packages automatically
- Basic Framework Classes
- Lists, WebAudio, WebGL, TypedData, etc
- TypeScript has lib.d.ts, but it doesn't provide as much
- Abstract Classes
- Operator Overloading
- Very handy feature that I hope TypeScript gets at some point
- Indexers (overloading )
- Very useful for creating custom collections or math types (Vector, Matrix, etc)