Starting up on Angular - 2, might update soon to a proper application once I get time.
https://angular.io/docs/ts/latest/tutorial/
In fact, [] and () are valid HTML chars in attributes. If you generate HTML code on the server-side or use any other pre-processor that can't handle those characters, you can always use the equivalent canonical syntax.
[] is a shorthand for bind-, hence [propertyName] == bind-property-name () is a shorthand for on-, hence (eventName) == on-event-name