Компоненты и директивы в угловых 1,5

Большая особенность меняется вУгловой 1.5 окружают поддержкукомпоненты.

component('myComponent', {
  template: '<h1>Hello {{ $ctrl.getFullName() }}</h1>',
  bindings: { firstName: '<', lastName: '<' },
  controller: function() {
    this.getFullName = function() {
      return this.firstName + ' ' + this.lastName;
    };
  }
});

Хотя это все хорошо, я не уверен, насколько это отличается от директив. Каковы преимущества использованияcomponents&nbsp;сверх традиционных пользовательских директив? И являются ли компоненты в Angular 1.5 и Angular 2 одинаковыми?