Skip to content

kkebo/zyphy

Repository files navigation

Zyphy

Zyphy is (or will be) a fast web browser engine written in Swift.

Important

This package is under development.

Package Contents

  • 🚧 Tokenizer - An HTML tokenizer that takes an HTML string and produces HTML tokens. (specs)
  • 🚧 TreeBuilder - An HTML tree constructor that constructs a DOM tree from HTML tokens. (specs)
  • 🥚 Layout - A layout engine that translates a DOM tree into a layout tree.
  • 🥚 Paint - A rendering abstraction layer that translates a layout tree into a platform-independent display list of drawing commands.
  • 🥚 SVGBackend - An SVG backend of the renderer.
  • 🥚 SVGExample - An example application using SVGBackend.

Icons:

  • ✅ Ready to Use
  • 🚧 Work in Progress
  • 🥚 To Do

Prerequisites

  • Swiftly
  • Swift toolchain: Just run swiftly install after installing Swiftly
    • We can't use a stable toolchain yet because Zyphy is using experimental code item macros.

Building

swift build

Testing

git submodule update --init --recursive
swift test --disable-xctest

Benchmarking

swift package --package-path Benchmarks benchmark

For more details, please see https://github.com/ordo-one/package-benchmark.

The benchmark data are from html5ever, which is dual-licensed under the MIT license and the Apache 2.0 license.

About

Zyphy is (or will be) a fast web browser engine written in Swift.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors