Phwew! You've made it this far. In the last section we saw how complicated a simple app can be. It takes an awful lot of code to simply create a button and attach a callback. Most of that code is about safely acquiring objects and calling functions, or have to do with marshalling values between Rust and the browser.

It would be a bummer to have to write this much code for every user experience, so let's take a quick tour of libraries that will abstract away the complexity.

libraryhas vdomis elm-likelow level (does the user see web-sys?)