title: Ember.js: What's the difference between using {{render}} helper in template and renderTemplate hook in route
body: <p>I am creating an application with complex layout recently, so I'm trying to find an elegant way to use lots of template and make them work as I wish to.</p>
  
  <p>For a start, I have some UI components to fit in, these components has no relation with models and no need to use routes to manage states, so I use <code>{{render}}</code> helper to do something like:</p>
  
  <pre class="lang-html prettyprint-override"><code>&lt;script type="text/x-handlebars"&gt;
    &lt;div class="wrapper"&gt;
      {{render component_1}}
      {{render component_2}}
  
      &lt;div class="main"&gt;
        {{outlet}}
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/script&gt;
  </code></pre>
  
  <p>This way works, but honestly I don't know anything about <code>renderTemplate</code> method before I've done this. After few days, I try this instead:</p>
  
  <pre class="lang-html prettyprint-override"><code>&lt;script type="text/x-handlebars"&gt;
    &lt;div class="wrapper"&gt;
      {{outlet component_1}}
      {{outlet component_2}}
  
      &lt;div class="main"&gt;
        {{outlet main}}
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/script&gt;
  </code></pre>
  
  <p>and add extra codes in route:</p>
  
  <pre class="lang-js prettyprint-override"><code>MyApp.ApplicationRoute = Ember.Route.extend({
    renderTemplate: function() {
      this.render();
      this.render('component_1', {
        outlet: 'component_1',
        into: 'application'
      });
      this.render('component_2', {
        outlet: 'component_2',
        into: 'application'
      });
    }
  });
  </code></pre>
  
  <p>then I got same results.</p>
  
  <p>Now, I'm struggling to make a choice between these two methods. I prefer to first one because I think these UI components will never use routes since they don't have any states, so it's not necessary to write extra codes in <code>ApplicationRoute</code>. But there're two concerns still:</p>
  
  <ol>
  <li>Every related tutorial use the latter one, I don't have enough confidence to use <code>{{render}}</code>.</li>
  <li><strong>MORE IMPORTANTLY</strong>: I can't predict further changes about my application, I don't know which one will be more flexible to fit changes, or give me more extensibility.</li>
  </ol>
  
  <p>So I need some explanations and suggestions in order to use <code>{{render}}</code> and <code>renderTemplate</code> wisely, thanks for any helps.</p>