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 Talk
- 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 4 years ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Morten Kromberg / Jay Foad - Array Oriented Functional Programming with Dyalog
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.
Public Feedback