Why is it better to access swagger directly? Things I don't like about that approach: The consumer has to know intimate details about how loopback is composed to be able to find strong-remoting and the swagger extension (`requireLoopbackDependency('strong-remoting/ext/swagger')` is a serious code smell). It also has to know that loopback is using strong-remoting and the swagger builder requires a list of remotable methods (as opposed to e.g. list of shared classes). If we later decided to extend swagger descriptors with e.g. model definitions and add another parameter to `swagger()` function, then we will break compatibility of new strong-remoting/loopback with the old loopback-explorer. It wouldn't happen with `app.docs()` approach, because it's abstracting away all these details.

If we want to deprecate `app.docs` then I would prefer to either deprecate `strong-remoting/ext/swagger` too and move the code to this project, or expose `strong-remoting/ext/swagger` in loopback exports. E.g. `loopback.remoting.ext.swagger`, where `loopback.remoting` is `require('strong-remoting')` and the rest is filled by strong-remoting.