title: Backing beans (@ManagedBean) or CDI Beans (@Named)?
body: <p>I've just started reading through <a href="http://horstmann.com/corejsf/" rel="noreferrer">Core JavaServer Faces, 3rd Ed.</a> and they say this (emphasis mine):</p>
  
  <blockquote>
    <p>It is a historical accident that there are two separate mechanisms, CDI beans
    and JSF managed beans, for beans that can be used in JSF pages. <strong>We suggest
    that you use CDI beans</strong> unless your application must work on a plain servlet
    runner such as Tomcat.</p>
  </blockquote>
  
  <p>Why? They don't provide <strong>any</strong> justification. I've been using <code>@ManagedBean</code> for all the beans in a prototype application running on GlassFish 3, and I haven't really noticed any issues with this. I don't especially mind migrating from <code>@ManagedBean</code> to <code>@Named</code>, but I want to know <strong>why I should bother</strong>.</p>