Managing software complexity is among the most difficult tasks facing developers today. Picking tools and programming paradigms that assist in this task is of utmost importance, as system complexity tends to compound over time. Declarative programming has long been recognized as a practical programming paradigm for addressing complexity in software. In this talk we will examine how to apply this paradigm to the creation of modern web applications.
We will begin with a brief overview of intercooler.js, a library that supports building declarative modern web applications. We will discuss:
The core HTML attributes that drive an intercooler-based web application Declarative mechanisms for triggering AJAX requests Intercooler request and response formats, including custom HTTP Headers CSS Transitions Once we have covered these basics, we will examine a few typical web application UX needs and how they can be addressed using the declarative style:
- Inline editing
- Lazy loading elements on a page Infinite scrolling Bulk table operations with visual easements Implementing a Pause/Play UI to tail a server side resource