What is the difference between UIImage(named:) and UIImage(imageLiteralResourceName:)?
<p>Swift 3/iOS 10 added a new initializer on <code>UIImage</code>, <code>imageLiteralResourceName</code>:</p>

<pre><code>extension UIImage {

    required public convenience init(imageLiteralResourceName name: String)
}
</code></pre>

<p>How does this differ from <code>public init?(named name: String)</code>?  I <code>named</code> is a failable initializer while <code>imageLiteralResourceName</code> will crash on an invalid image name.  Does <code>imageLiteralResourceName</code> trade safety for performance?  When should you use <code>imageLiteralResourceName</code> over <code>named</code>?</p>