Escher.jl - Functional Reactive Web without compiling to JavaScript

Escher.jl is a Julia package designed to give anyone the power to create sophisticated web-based UIs that are driven by data on server and inputs from the user. Escher is based on the principles of denotative programming - denotations of UI components (called Virtual DOM nodes) are handed off to the browser to be rendered. The result is a framework that abstracts the capabilities of CSS, JavaScript and HTML elements into a single consistent library. Interaction in Escher is done via Reactive.jl - a port of Elm's signal library. In this talk I will explain the inner workings of this Signal library, and of Escher and show how all the pieces fit together to form a convenient functional framework for full-stack web development.

 
 

Outline/structure of the Session

- What is FRP

- Denotation

- Denoting a web page

- Signals

- Composable abstractions over JavaScript via web components

- Web application as an a signal graph

- Demonstrations of terse code

Learning Outcome

Learn about a new, effective way of programming web applications. Solidify understanding of Virtual DOM - a necessary device for functional programming on the web. Learn about how a signal framework works.

Target Audience

Web developers, FRP enthusiasts

schedule Submitted 1 year ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked Morten Kromberg
    keyboard_arrow_down

    Array Oriented Functional Programming with Dyalog

    Morten Kromberg
    Morten Kromberg
    Jay Foad
    Jay Foad
    schedule 1 year ago
    Sold Out!
    480 mins
    Workshop
    Beginner

    Dyalog is a modern, array-first, multi-paradigm programming language, which supports functional, object-oriented and imperative programming based on an APL language kernel. During the morning and early afternoon, Dyalog's functional language guru John Scholes will introduce the fundamentals of functional programming in APL. At the end of the day, Dyalog CTO Morten Kromberg will round off with an application development session, showing how a simple web application with a HTML5/JS front-end and a RESTful web service can be used to deliver the power of APL to end users, or as embeddable components for other application tools. The "hands on" sections of the workshop can be followed under Mac OS X, Linux, or Microsoft Windows.