Improving Performance and Reducing Time-To-Market for Core Products
This tool was then used to convert a set of upstream benchmarks for React to be run against the client’s React implementation to identify performance bottlenecks in either the React implementation or the underlying rendering engine. The team then set up continuous integration using GitHub Actions to test changes to the library on each pull request commit, report results to the pull request, and fail the build if a performance regression was detected.
Additionally, we converted Apollo Client to the client’s target language with its upstream tests and benchmarks without a loss to the library’s performance. This enables the client’s user interface to leverage the benefits of a GraphQL API and introduces the first caching system for server fetched data.
- This Dot Labs collaborated with the language engineers to automate idiomatic translation between the source and target languages and, in some cases, optimize them for the utilized virtual machine.
- The team would then handle conversion exceptions by-hand and capture the issues to improve the automated tooling while ensuring the project remained on-track and under-budget. Quality was pinned through a comprehensive test suite (part of the porting exercise), and work was considered “complete” once automated tests passed.
- The team used a combination of unit testing frameworks to run existing upstream tests and ensure the accuracy of test results.
- Once the project was in the target language, the team configured the performance suite to run via Github actions against the custom React framework implementation, automatically, on every pull request commit. The client’s engineers now have unprecedented visibility into each change from a quality and performance perspective. This insight spans multiple internal teams for the client, and serves as a technical backstop in their quality and delight promise to their end-users.
This Dot Labs is a development consultancy focused on providing staff augmentation, architectural guidance, and consulting to companies.
We help implement and teach modern web best practices with technologies such as React, Angular, Vue, Web Components, GraphQL, Node, and more.
Uplifting Manual Conversion Efforts
To best support manual conversion efforts, This Dot Labs performed a gradual conversion. This allowed its developers to convert parts of the code while still outputting the original code as a comment, in case that specific expression or statement type wasn’t available at any point in the conversion process.
This strategy allowed developers overseeing the automated conversion process to work in tandem with the manual conversion team, and use their input as a driver for automated tool improvements.
Working Against Upstream Libraries
Continuing to Grow an Ecosystem