When Old meets New: Codebases
summary
A modern React/Redux web app is integrated into a 13 million line C++/XUL codebase dating to 1998, forcing concrete tradeoffs: webpack/Babel output converted to JSMs to load in both processes, React and Redux files committed into the tree, GitHub-driven development mirrored into Mercurial and Bugzilla, and shipping as a system add-on to beat the 8‑week release cycle; the result is a working activity stream new tab page with a shared Redux store across parent and child via the Firefox message manager.
AI-written summary · about
chapters (31)
- 0:00Introduction
- 0:30Challenges
- 0:40Bugzilla
- 1:10Zul
- 1:44ActivityStream
- 2:13Firefox
- 2:46React Redux
- 3:09Firefox is old
- 3:21Technical challenges
- 3:32How Firefox code works
- 4:23Shared code
- 4:36Importing modules
- 5:05Webpack
- 5:40Multiprocessed JavaScript
- 6:42React
- 6:59Redux Tour
- 7:28Redux Dispatcher
- 7:54Testing new frameworks
- 8:47Fixing old tests
- 9:22Mocking modules
- 10:10Source control
- 10:30Git
- 11:11GitHub repo
- 11:33GitHub vs Bugzilla
- 13:37The last aspect
- 13:48Landing bundles
- 14:49JSF
- 15:49Release schedule
- 16:57Communication
- 18:41Takeaways
- 19:09Be open about changes
related talks
42mIntegrating React Into Legacy Projects
28mWriting better multi-process hybrid apps with React and Redux
31mReact on Rails
33mBeyond Web-Apps React, Javascript and WebAssembly to Port Legacy Native Apps
28mBack to React: The Story of Two Apps
43mCleaning the Tar: Using React within the Firefox Developer Tools
29mPreprocessors, Components, and CSS in JS or: How I Learned to Stop Worrying and Love the Website
26mHow to rewrite enterprise application into React ...
