<div dir="ltr">2¢ inline:<br><div class="gmail_extra"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* Footprint will grow. We haven't yet measured the extent of this, but I expect there to be a significant impact from both the core module library and libuv <<a href="https://github.com/libuv/libuv" rel="noreferrer" target="_blank">https://github.com/libuv/libu<wbr>v</a>>, which Node entrains. We could reduce the impact of the module library by not packaging code we don't use, but we'd still take a hit.<br></blockquote><div><br></div><div>I'd put measuring this right at the top of the list. Gecko is already huge, and if we're talking adding 15MB, this wouldn't be feasible to ship on Android at all, which would mean no cross-platform features could use it, which kinda defeats the point. We want Gecko to be getting smaller, not larger.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* Node's callback-based model for asynchronous programming makes it possible to fall into Callback Hell, the one significant developer-ergonomics disadvantage of Node APIs relative to Promise-based Mozilla equivalents. There are of course modules to promisify Node, along with coding patterns to minimize callback complexity, so it's a manageable issue. But it's still an issue.<br></blockquote><div><br></div><div>I think that Node 7 has async/await, no?</div><div><br></div><div>That raises a broader concern: which Node version to support. I'd perhaps be inclined to start with 7/8, given async/await, but for comparison, FxA recently wrestled bugs just to get Node v4 into production, so there's quite a spread within Mozilla already.</div><div><br></div><div>I also have a mild concern about Node native modules — in my limited experience, just about anything interesting one would do with Node ends up requiring some native module down in the guts, which might have an impact on how much value we'd get from npm. Do you have a native module compatibility story for SpiderNode yet?</div></div></div></div>