Check out the DrupalCon Portland notes hub page for notes from other sessions at DrupalCon Portland.
Session: Asset Management In Drupal 8
Day - Time Slot: Tuesday, May 21 - 10:15am–11:15am
Presenter: Sam Boyer
Twitter: sdboyer
Drupal.org: sdboyer
Slides: Slides 
Caveats
- Sam is not a frontend dev
 
Asset Management
- What are assets in the context of this talk? Stylesheets, and JS. Not images.
 - How do you declare them. Can you write in Coffeescript, LESS or SASS easily in Drupal. Not a fun process
 - How does the browser get them and how fast? Frontend performance
 
How to declare assets Now
- Theme
 - Libraries
 attached
- drupal_add_css() & drupal_add_js()
 - These are going away
 - Meta-properties like “scope” and “group” and “browser”
 
What Sucks about the Status Quo
- Each asset has a explicit weight
 - Global functions are death to caching.
 - Support for SASS and other preprocessors is awkward at best
 
Assetic PHP Library
- Assetic is a PHP library for asset management
 - Ships with Symfony
 - Assets are files, glob, strings and http
 - local
 - remote
 - string
 - glob (pass * and it will combine all of the files in a directory into one asset)
 - Filters for CoffeeScript, Compass/SASS CSS minification etc.
 - Filters are not PHP.
 - Should work with Drupal 8 without installing extra software on your server. Binaries may be shipped with Core and should provide the functionality.
 
Assetic in Drupal
- Drupal assets
 - Asset bags. Have a lot of assets to declare? Drop them into a bag. Bags are a way to pass around assets through the Drupal system
 - Dependancies work much better than weights. If a js file depends on jQuery it will not be loaded before jQuery. This works similarly to Require.js.
 
Options for Drupal 8
- Option 1: #attached
 - Option 2: Attached + Assetic
 - Option 3: SCOTCH
 
Q&A
- Question: Why not just compile with native tools in development(why use the Assetic filters)? Then in prod just use a build script to deploy to production.
 - One Answer: Having the compiling(filters) tools baked in helps non-hardcore Drupal developers. One less thing learn. Also, you do not have to use filters
 
