There exist a number of npm modules that may ease the production of NFD-js
Worker Thread Management
A few modules have cropped up to manage communication channels between threads, though it is uncertain at this time how they would interact with Workerify (intuition suggests this should be trivial, though experience suggests that intuition is idiotic)
Note: while the below are interesting for comparison, for our use case see Worker Transport
Architect - Worker Management and polyfill for graceful degredation. This would almost certainly manage our use case, but may be more boilerplate than is necessary.
Operative - a smaller worker management utility with a simpler API, also offering graceful degredation. Potentially makes workerify unneccessary by simply calling require and passing in objects to our operative definitions.
Crypto
Forge makes us of the jsbn library to generate keypairs and certificates in the browser, it optionally uses webworkers internally, though as a module it references the window object and thus would need to be included in the UI thread and pass generated keys downward into the daemon on demand
Caching
We have a simple exact match cache working out of the box in NDN browserKit by use of jscache , which exposes a modular back end storage object.
It should be feasible to modify this back end cache to support NDN compliant longest prefix and interest selector matching.
Repository
Repository persistence has been achieved in NDN Browserkit by use of the native HTML5 IndexedDB API. For further iterations, it would be advisable to use a robust middleware library to gracefully fail in old browsers.