title: Why is `@input` decorator preferred over `inputs:[]`
body: <p>There are two ways to define an input on a component:</p>
  
  <pre><code>@Component({
      inputs: ['displayEntriesCount'],
      ...
  })
  export class MyTable implements OnInit {
      displayEntriesCount: number;
  </code></pre>
  
  <p>and this</p>
  
  <pre><code>@Component({
     ...
  })
  export class MyTable implements OnInit {
      @Input() displayEntriesCount: number;
  </code></pre>
  
  <p>I would assume that the first approach is better since it explicitly declares component's dependencies without the need to inspect complements class. However, <a href="https://toddmotto.com/passing-data-angular-2-components-input" rel="nofollow noreferrer">this article</a> by the renowned developer states that the second approach is preferable:</p>
  
  <blockquote>
    <p>Using @Input is a preferred approach, however we don’t have to use it.</p>
  </blockquote>
  
  <p>Any ideas why?</p>