news.volyx.in

XUL Layout is gone (crisal.io)

486 points by tech234a · 1247 days ago · 217 comments on HN

Article summary

The Firefox browser has removed XUL layout from its codebase, replacing it with regular web technology, mostly CSS flexbox. This change was a large effort, first proposed 9 years ago, and was made possible by the help of the front-end team and volunteers. The removal of XUL layout is expected to bring performance improvements and bugs that affect the web will now also affect the Firefox UI. The change also makes it easier for front-end developers to contribute to the Firefox UI, as they can now use regular CSS to change the UI or contribute to it.

Main themes

  • XUL layout removal
  • Performance improvements
  • Web technology vs native code
  • Abstraction and performance
  • HTML/CSS complexity
  • JavaScript engine performance
  • Backwards compatibility trade-offs
  • Software development priorities

What commenters say

  • The removal of XUL layout will lead to performance improvements and make it easier for developers to contribute to the Firefox UI.
  • The use of web technology for the browser's UI will result in a slower and less native-like experience.
  • Abstraction in software development can lead to performance degradation, but it is not the only factor and can also bring benefits.
  • Native code is not always faster than abstracted code, and the performance difference depends on various factors, including the quality of the abstraction and the implementation.
  • The complexity of HTML/CSS can make it slow, but this is not inherent to the technology and can be improved with optimization efforts.
  • The trade-off between memory usage and runtime speed is a common issue in software development, and the choice between them depends on the specific use case and priorities.
  • The performance of JavaScript engines has improved significantly over time, but they are still generally slower than static languages.
  • Breaking backwards compatibility for web HTML/CSS/JS may be necessary in the future to allow for significant performance improvements and to reduce the complexity of the technology.