Skip to content

Serverside, functional (ELM style) front-end and UI for aardvark, an open-source platform for visual computing, real-time graphics and visualization.

License

Notifications You must be signed in to change notification settings

Brunnhuber/aardvark.media

 
 

Repository files navigation

Windows MacOS Linux

Join the chat at https://gitter.im/aardvark-platform/Lobby license

The Aardvark Platform | Platform Wiki | The Platform Walkthrough Repository | Media Examples | Gallery | Quickstart | Status

Aardvark.Media is part of the open-source Aardvark platform for visual computing, real-time graphics and visualization. aardvark.media works on top of aardvark.base and uses aardvark.rendering as (3D)-rendering engine:

Alt text

3D graphics, user interfaces and complex interactions on top are challenging and time consuming in classical programming models. High-level abstraction, immutable data and functional programming concepts on the other hand boost productivity. aardvark.media brings together high-performance applications and purely functional application programming. The ELM architecture has become popular in web-development and for user interfaces (e.g. ELM, Fabulous, Elmish,...) and makes declarative, reliable UI and app development easier. aardvark.media follows the same concept but has some distinct features:

  • Just like buttons in elm or elmish, aardvark.media supports interactions with objects in 3D renderings. Rendering is done by the higly efficient aardvark.rendering engine.
  • Other systems execute the view function after each modification to the model. In aardvark.media the changes are computed on the model (which is typicall much smaller than the generated UI) itself. aardvark.base's incremental system takes care of reexecuting specific parts of the view function. This takes the burdon of diffing from the HTML engine, but more importantly allows to incrementally update optimized scene representations for 3D rendering. The rational behind this is that the model is typicall much smaller than the generated UI, or more severly much easier to diff than 3D geometry.
  • aardvark.media currently runs on netcore and serves a website using suave. The rendering part is done in fullblown OpenGL/Vulkan in the aardvark rendering engine. Applications typcially use the electron based aardium for client side application deployment or full server side application deployment. We work on client-side deployment using fable as well, but aardvark.media's server side approach has also advantages and particular usecases.

More info can be found in the Platform Wiki, and more particularly here, here, and here.

About

Serverside, functional (ELM style) front-end and UI for aardvark, an open-source platform for visual computing, real-time graphics and visualization.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • F# 38.0%
  • JavaScript 31.9%
  • CSS 29.8%
  • Other 0.3%