You can reduce the size of the engine on disk. A gzipped slightly stripped version of the engine for HTML5 weighs in at ~800kb or something like that. You obviously need to add your assets and code to that size, but with some clever user of texture compression and perhaps also our live update feature it’s possible to keep the initial download size down.
Read more here: Native Extensions - #133 by Mathias_Westerdahl
And tools to generate app manifests: Stripping appmanifest maker
Are you part of the Facebook Instant Games beta?
The amount of FB Instant Games is still quite low. I’m not aware of any released games but I know of one studio exploring instant games using Defold.
No. You’d still create the “glue code” in C to set up bindings between Lua and C and then onwards to native code for the target platform, in this case Javascript. There’s HTML5 native extension examples here: GitHub - defold/extension-html5: Example showing how to create a native extension for HTML5
You could use html5.run() but I think you’ll struggle a bit with the async calls of an instant games sdk.