Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
So we replaced Monaco with Prism for read-only fiddles, and added code-splitting to further reduce the amount of React code needed before the page can render. Then we made Fiddle's embed IFRAMEs lazy-load, so we don't load it at all if it's off-screen, and we don't block initial render. But the fact remains that an embedded fiddle still took a couple of seconds to load and render.
Fiddle is a ReactJS application, and uses the excellent Monaco IDE as the code editor, but this makes it pretty heavy. When we first shipped embedded fiddles, the IFRAME in which the fiddle rendered would load not just React but the whole Monaco IDE (around 2MB of JavaScript!), which would then be set to read-only, resulting in the world's most bloated code highlighting library 🤦. Not great when there's a fiddle sitting right in the middle of the developer hub homepage:
Fiddle previously used httpbin.org as the default origin. HTTPBin is a really great tool and you can still use it as an origin if you want to.