@aarongodin all loaders have to parse the modules for imports, even native browser loaders. Without native support, a loader implemented in JS has to either parse it at runtime or have a build step. Native loading of ES6 modules does not require the SystemJS format, but I think the SystemJS format is designed to work with it. In other words, the native loader might get an API for programmatic injection of modules. The SystemJS format works against that API. Without a build step, the loader parses and calls these APIs internally, itself. You can use SystemJS without a build step, but then you are "building" just-in-time.