# Application of my new Racket webview module

**URL:** <https://racket.discourse.group/t/application-of-my-new-racket-webview-module/4193>\
**Category:** Show & Tell\
**Tags:** gui, web\
**Created:** [April 20, 2026, 8:37am UTC](https://racket.discourse.group/t/application-of-my-new-racket-webview-module/4193 "2026-04-20T08:37:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![hnmdijkema](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/hnmdijkema/32/2629_2.png) [@hnmdijkema](https://racket.discourse.group/u/hnmdijkema)\
**Post date:** [April 20, 2026, 8:37am UTC](https://racket.discourse.group/t/application-of-my-new-racket-webview-module/4193/1 "2026-04-20T08:37:12Z")

</div>

Hi there,

Just a quick screenshot of my rktplayer music player (currently only flac support) based on the [racket-webview](https://pkgd.racket-lang.org/pkgn/package/racket-webview) / [racket-sound](https://pkgd.racket-lang.org/pkgn/package/racket-sound) module I developed.

 ![afbeelding](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/f/f1d29353856859f46704221102fdc4d7d1187efa.png)

The rktplayer repository [can be found here](https://git.dijkewijk.nl/hans/rktplayer).

---

<div class="post-metadata">

**Author:** ![soegaard](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/soegaard/32/19_2.png) [@soegaard](https://racket.discourse.group/u/soegaard)\
**Post date:** [April 20, 2026, 11:47am UTC](https://racket.discourse.group/t/application-of-my-new-racket-webview-module/4193/2 "2026-04-20T11:47:43Z")

</div>

This is interesting to see!

The gui uses html / css / javascript.  
Everything else model / database / controls are in Racket.

---

<div class="post-metadata">

**Author:** ![hnmdijkema](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/hnmdijkema/32/2629_2.png) [@hnmdijkema](https://racket.discourse.group/u/hnmdijkema)\
**Post date:** [April 20, 2026, 5:23pm UTC](https://racket.discourse.group/t/application-of-my-new-racket-webview-module/4193/3 "2026-04-20T17:23:24Z")

</div>

Thanks for your nice comment 🙂.

- The GUI "backend" is based on Qt WebEngine.

But racket provides most other things:

- The racket [web server framework](https://docs.racket-lang.org/web-server/index.html).
- SSL/TLS security based on self signed certificates (module [racket-self-signed-cert](https://pkgd.racket-lang.org/pkgn/package/racket-self-signed-cert))
- The [xml module](https://docs.racket-lang.org/xml/index.html) for html generation (i.e. xexpr-\>string)
- Got some syntax defined for javascript generation (see private/js-transform.rkt in racket-webview)
- I created module [simple-log](https://pkgd.racket-lang.org/pkgn/package/simple-log) to have a simpler form of logging in racket.
- And a [keystore](https://pkgd.racket-lang.org/pkgn/package/keystore) is used to store playlists of the rktplayer.
- [racket-sound](https://pkgd.racket-lang.org/pkgn/package/racket-sound) currently integrates a [small C library](https://git.dijkewijk.nl/hans/racket-sound-lib) based on [libao](https://xiph.org/ao/) next to [libflac](https://xiph.org/flac/) and [taglib version 2.x](https://taglib.org/).

There's a lot of work left. I'll probably be working on racket-sound to have a more consistent and abstracted interface to read music. I'll be integrating mpg123 the coming months. .

So I'm standing on the shoulders of giants here.

---

<div class="post-metadata">

**Author:** ![hnmdijkema](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/hnmdijkema/32/2629_2.png) [@hnmdijkema](https://racket.discourse.group/u/hnmdijkema)\
**Post date:** [May 11, 2026, 10:26am UTC](https://racket.discourse.group/t/application-of-my-new-racket-webview-module/4193/4 "2026-05-11T10:26:46Z")

</div>

I changed package name 'racket-sound' to 'racket-audio'. Seemed more to the point.
