Diferencia entre constructor y ngOnInit en Angular 2

Cuando estamos creando un nuevo componente tenemos dos opciones claras[...]