htmx VS phoenix_live_view

Compare htmx vs phoenix_live_view and see what are their differences.

htmx

</> htmx - high power tools for HTML (by bigskysoftware)

phoenix_live_view

Rich, real-time user experiences with server-rendered HTML (by phoenixframework)
Our great sponsors
  • Scout APM - A developer's best friend. Try free for 14-days
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • SaaSHub - Software Alternatives and Reviews
htmx phoenix_live_view
120 14
4,668 4,181
6.7% 3.5%
9.4 9.5
3 days ago about 22 hours ago
JavaScript Elixir
BSD 2-clause "Simplified" License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

htmx

Posts with mentions or reviews of htmx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-16.
  • The JavaScript ecosystem is a hot mess and so is software development in general
    news.ycombinator.com | 2021-10-16
    I work on a dependency-free, build-less library called htmx:

    https://htmx.org

    It's more an extension of HTML than a JS library. It might be a good way to gently introduce more dynamic behavior without blowing out the complexity of your site.

  • Should I ditch using Django
    reddit.com/r/startups | 2021-10-16
    As an additional advice, I would check the Django subreddit and ask what are they doing for their front-end needs (e.g. check this one) -> you don't have to use JS for front-end (e.g. check htmx, unicorn, etc).
  • The Decline of Django
    news.ycombinator.com | 2021-10-15
    I think the case for server-side HTML rendering has never been stronger, and of all Django projects I work on, the ones I enjoy most are those that never got on the SPA bandwagon. From both a developer and user point of view I find them much faster and less painful. There are many cases where you really, really don't need the massive amount of extra complexity involved in designing APIs, adding JS frameworks etc.

    When you need a bit of extra UI goodness, [htmx](https://htmx.org/) is a fantastic solution, and you can still use SPA-type approaches for things that need them.

    You can also benefit from massively faster (and more reliable) functional testing when you are mostly standard HTML - see [django-functest](https://github.com/django-functest/django-functest/) for an example of this.

  • Has anyone written a small framework to support HTMX?
    reddit.com/r/golang | 2021-10-14
    See: https://htmx.org/
  • How Laravel Livewire works (a deep dive)
    news.ycombinator.com | 2021-10-12
    I recently started using htmx (https://htmx.org/) in combination with Django and have become a firm believer of sending HTML 'over the wire' instead of JSON structures that then get used client side.
  • I built a modern website in 2021
    news.ycombinator.com | 2021-10-10
    Curious - why aren’t simpler frameworks like htmx (https://htmx.org/) more common or
  • Ask HN: Why aren’t frameworks like htmx more popular?
    news.ycombinator.com | 2021-10-10
    shifting to htmx [1] or related “simpler” libraries?

    [1] https://htmx.org/

  • The Shocking Immaturity of JavaScript
    news.ycombinator.com | 2021-10-10
    Complexity and instability in the JS ecosystem is a hot button for me, so it's hard not to be drawn into vehement agreement.

    I've been doing a little work recently with htmx[0] and it's a breath of fresh air. But then, I'm at the point in my career where "cool new tech" is much less interesting for its own sake than it used to be when I was younger. I'm drawn for more to elegant, understandable, productive simplicity these days.

    I think that hints at the reason we have these endless debates - not just about JS but about $(your-favourite-tech). Software development is a socio-technical endeavour. We put all the focus on the technical part, and by comparison, rarely consider the social aspect.

    DHH is one of the few I've heard actually refer to this, on the corecursive podcast [1]. In discussing static typing vs dynamic, his point is the latter suits his brain. But that he understands and accepts static typing suits others, and that's fine.

    So I get that, for some, the JS ecosystem is dynamic and interesting; stimulating; exhilarating even. For others, it's an unstable quicksand that gets in the way of doing something useful.

    [0]: https://htmx.org/

    [1]: https://corecursive.com/045-david-heinemeier-hansson-softwar...

  • Action without refreshing the page?
    reddit.com/r/flask | 2021-10-04
  • Do you recommend learning Angular or React for the front end?
    reddit.com/r/java | 2021-10-02
    I have personally found a combination of htmx and Alpine.js to be very effective for my projects. Here's a demo project for using Spring Boot, Thymeleaf and htmx together. Here's a video on using Spring Boot w/htmx. That said, there is currently no job market for this kind of thing, although (crossed-fingers) that will change over the next few years.

phoenix_live_view

Posts with mentions or reviews of phoenix_live_view. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-12.
  • How Laravel Livewire works (a deep dive)
    news.ycombinator.com | 2021-10-12
    I feel that the simplicity of just building on the server and pushing the updates across the wire is where we are heading. So a lot less double up, with regards needing to write both for the server and client. Validation especially will just need to be written once.

    Although I do feel Phoenix Liveview is a better option because they implement sockets.

    Also saw this update today they will allow you to trigger javascript on the client without the sever round trip, it's one of the things people get a bit stuck understanding. Generally they think to pop open a modal or menu requires a round trip to the server but really you should be using Alpine.js or similar for such things. This new pending update remove the requirement of needing a framework like Alpine. https://github.com/phoenixframework/phoenix_live_view/pull/1...

  • Phoenix 1.6.0-RC.0 Released
    news.ycombinator.com | 2021-08-27
    Slots are on the heex roadmap: https://github.com/phoenixframework/phoenix_live_view/issues...

    I chose to stick to base LiveView in my apps because it works fine (slots are nice but not essential), and I want to avoid too much API churn and learning curve for other devs on the same team. The best Surface features are being gradually refined and merged into LV. HEEx is a great example of that.

  • Using Rust with Elixir for code reuse and performance
    dev.to | 2021-08-19
    What's more, Phoenix Live View has made building interactive pages simpler than ever. It often removes the need for a complex front-end framework like React or Vue and an associated API.
  • Building a Distributed Turn-Based Game System in Elixir
    dev.to | 2021-05-26
    Many great Phoenix LiveView examples exist. They often show the ease and power of LiveView but stop at multiple browsers talking to a single web server. I wanted to go further and create a fully clustered, globally distributed, privately networked, secure application. What's more, I wanted to have fun doing it.
  • Whole stack Rust for Web Applications? Are we there yet?
    reddit.com/r/rust | 2021-04-30
    Outside of Rust I know of two initiatives that deliver something similar to this one single language to deliver a web app in the front end and backend: - Elixir via live view https://github.com/phoenixframework/phoenix_live_view - Dot net languages via Blazor, usually C#
  • Finding DOM element by data-role in Phoenix LiveView testing
    dev.to | 2021-04-23
    Today I put together one technique I find useful for writing test. That is to use data attributes for finding HTML elements in test. The same idea can apply to JavaScripting, but I focus mainly on Phoenix LiveView testing here because that is the one I have been working on.
  • I think this will be awesome, Surface like components directly supported in LiveView
    reddit.com/r/elixir | 2021-04-23
    reddit.com/r/elixir | 2021-04-23
  • Is there any good reason to still use server rendered templating engines, like Pug and Jinja?
  • My Ruby on Rails stack for side projects in 2021
    dev.to | 2021-03-01
    With HTML over the wire becoming popular with tools like Phoenix LiveView and Laravel Livewire, you can't go wrong with good old Ruby on Rails. You can even try Hotwire to stream HTML over web sockets.

What are some alternatives?

When comparing htmx and phoenix_live_view you can also consider the following projects:

Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.

react-snap - 👻 Zero-configuration framework-agnostic static prerendering for SPAs

Turbolinks - Turbolinks makes navigating your web application faster

django-unicorn - The magical reactive component framework for Django ✨

turbo - The speed of a single-page web application without having to write any JavaScript

hotwire-rails - Use Hotwire in your Ruby on Rails app

svelte-query - Performant and powerful remote data synchronization for Svelte

budibase - Budibase is an open-source low code platform that helps you build internal tools in minutes 🚀

intercooler-js - Making AJAX as easy as anchor tags

django-htmx - Extensions for using Django with htmx.

Alpine

django-tables2 - django-tables2 - An app for creating HTML tables