Building Table Views with Phoenix LiveView (PragProg)

Learn how to leverage Phoenix LiveView and make vast amounts of data manageable with common but complex features like pagination, sorting, filtering, and more.


Peter Ullrich @pullrich

edited by Michael Swaine @michaelswaine

Data is at the core of every business, but it is useless if nobody can access and analyze it. Learn how to generate business value by making your data accessible with advanced table UIs. This definitive guide teaches you how to bring your data to the fingertips of nontechnical users with advanced features like pagination, sorting, filtering, and infinity scrolling. Build reactive and reuseable table components by leveraging Phoenix LiveView, schemaless changesets, and Ecto query composition. Table UIs are the bread and butter for every web developer, so it is time to learn how to build them right.

As a web developer, you have to build tables. Lots and lots of tables. With table UIs making up such a significant part of your daily work, you need to know how to build the right table for the task, with all the needed features. Building a simple table is easy, but tables only become really useful with advanced features like pagination, sorting, and filtering. That’s where building a table can quickly become complicated. This book shows you how to implement advanced table features in a clean and reusable way.

You’ll build fast and interactive table UIs by leveraging Phoenix LiveView. Make vast amounts of data manageable with common but complex features like pagination, sorting, filtering, and inifinity scrolling. Use SOLID coding principles to make your queries reusable with query composition. Compartmentalize your UI with LiveComponents and learn how to handle user input securely with schemaless changesets. Share your view onto the data painlessly by storing your search parameters in the URL.

Data is one of the most valuable assets of your business, but you cannot unlock its potential if you don’t know how to make it accessible. This book shows you how to deliver that data to your users’ fingertips quickly.

Peter Ullrich is a senior backend developer from Germany. He loves sharing his Elixir knowledge through conference talks, workshops, blogs, YouTube channels, and podcasts. His speciality is breaking down complex topics into smaller and easy to understand parts. His dream is to make programming approachable for everyone.

Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “" at checkout :+1:


Corresponding tweet for this thread:

Share link for this tweet.

1 Like

Hello Peter @pullrich,

This is a interesting book. I would be interested to know your take on the UI Library Surface. I guess you just rely on LiveView in your book - would Surface be an improvement for more reusabilty?

1 Like

Hey @Nefcairon,

thanks a lot :slight_smile: I’m glad you like the book!

I haven’t worked with Surface yet to be honest. My understanding is that many features that Surface introduced like Components and attributes are now slowly becoming available in LiveView as well. Personally, I haven’t had the need yet to use Surface since LiveView satisfied all of my needs :slight_smile:

Given the recent addition of LiveComponents in LiveView, you can probably achieve a good reusability with LiveComponents alone. But given my lack of hands-on experience with Surface, this opinion should be taken with a pinch of salt.