GitHub has been working for the last few years to move away from jQuery and run its interface entirely on Web standards, specifically Web Components. InfoQ has talked with GitHub application engineer Kristján Oddsson to know more.
We chose to use Web Components because our codebase was already structured into component-like behaviors. Still, as the GitHub monolith grew in size, we saw the need to implement better encapsulations before the front-end became unmanageable – and Web Components fit the bill.
As Oddsson recounts in a recent article, GitHub effort did not only lead to building a large library of open-source, both generic and single-purpose components, but also to the creation of a number of tools to help engineers create Web Components more easily along with best practices to follow.
The starting point to write a new Web Component at GitHub is Catalyst, a framework relying on TypeScript and decorators to reduce boilerplate and adopting an observe, listen, query approach to handle state change and user interaction. GitHub also created a Web Components linter which is used along its generic JavaScript linter.
#github #web development #development #news