Include external JS/CSS libraries in a module?
Quoting this blog post

Core API changes in Drupal 8
The drupal_add_js() and drupal_add_css() functions for manual inclusions of JS/CSS files have been removed in favour of library definitions that properly declare their dependencies. As a result of this, all modules and also themes have to declare their libraries in order to include JS and/or CSS files. During the development of D8 the way of declaring a library evolved from a renamed info hook (hook_library_info()) to finally using YAML (like in many other places in D8) by describing the libraries in *.libraries.yml files. The info hook finally was removed fully. See the change record for more information. The new hook_library_info_alter() hook is of course still there.
Another big change is the usage of Composer for dependency management, like many other modern frameworks do. Although Composer is primarily for PHP libraries, it can be used for JS libraries too. Using Composer not only spares you manually downloading the library from Github, etc and afterwards manually extracting and uploading the files to your server, but also eliminates the error source of placing the files into the right directory structure. (Note: Composer integration is not fully finished yet, see: https://www.drupal.org/node/2372815)