Over the past few weeks, we’ve been beta testing our revamped internal development and build pipelines with our beta releases. While this should mostly be an unnoticeable change from an end-user perspective, there are two primary reasons for this:
- Target Modern Browsers by Default
- Internal Developer Experience Improvements
Target Modern Browsers by Default
The main reason for this change is it enables us to target modern browser by default. Historically, we wrote code using modern techniques and language features and then had to ‘transpile’ them back to support much, much older browsers. This meant that even new browsers that natively supported the modern language features, had to run the ‘translated’ version of the code.
Now, we ship the native versions of the code where possible which means that modern browsers can run the code natively - this means less data going across the wire and modules that can run up to 10% faster.
And older browsers remain supported as well! Our new build pipeline prepares a copy of things for older browsers and adds the necessary logic for those browsers to automatically pick the right version. For these devices, it should be as if nothing changed.
All that being said, there’s a wide variety of older browsers and we’ve spot checked with various test devices at our disposal. If you run into problems on an older device where things were previously working, feel free to report it here.
Internal Developer Experience Improvements
There’s also a number of improvements to us, the SharpTools Developers, with this update. I won’t get into the nitty-gritty details here, but it improves the speed of our development instances and makes it easier for us to iterate on changes in a similarly ‘modern browser first’ type of approach