paulox, to django
@paulox@fosstodon.org avatar

Karen Tracey is presenting the talk "Django + Alpine.js + htmx Ups & Downs" at DjangoCon Europe 2024 🦄

#DjangoConEurope2024 #DjangoConEurope #DjangoCon #Django #HTMX #AlpineJS

CC @djangoconeurope @django

DjangoCon Europe 2024 attendees
Upside Wins slide
Karen on the stage

paulox, to django
@paulox@fosstodon.org avatar

Carlton Gibson is presenting the talk "API Maybe: Bootstrapping a Web Application circa 2024 " at DjangoCon Europe 2024 🦄

CC @djangoconeurope @django @carlton

Opening slide: API Maybe
DjangoCon Europe 2024 audience
Slide: 2024 "HTML over the wire"

bkuhlmann, to ruby

Simplicity in an Age of Complicated Solutions: https://www.erikheemskerk.nl/htmx-simplicity

A very good read in terms of reducing complicated stacks with unnecessary amounts of JavaScript. Instead we can use HTML with #htmx.

💡If you need a #ruby web app example of a similar implementation using htmx, look no further than this demo: https://github.com/bkuhlmann/hemo

Life doesn't need to be complex, folks!

eddyg, to random
@eddyg@mastodon.social avatar

“htmx: Simplicity in an Age of Complicated Solutions” (https://www.erikheemskerk.nl/htmx-simplicity/) lays out why #htmx is a good choice as a web dev framework. It’s great to see a return to server-side rendering, with all the benefits of client-based frameworks (and much less complexity!)

kerfuffle, to webdev
@kerfuffle@mastodon.online avatar

I'm only just finding my way in the land of , but it feels like "trigger a request from any element" is a trap. I want progressive enhancement, which still requires a functional non-Javascript page before adding the nice things htmx offers. I didn't realise how rusty I am with regard to designing a presentation layer for all this in the backend.

abishek_muthian, to random

Reactivity without React!

I used #htmx in Bone Health Tracker to edit & update the dexa scan report data reactively, without having to import a million JavaScript libraries.

FAANG companies made their web development challenges everyone else's problem as well by promoting overly complex, over-engineered libraries and frameworks.

99.9% of the websites wouldn't need to show a animated like counter getting updated reactively and if we do; we now have htmx.

scrolling through bonehealthtracker.com Shows 3 tables of dexa scan data I click edit on one of the rows, change value and the updated data is reflected immediately. Skeleton image with different colors interpreting the data is shown. Graphs for T-Score and Z-Score is shown.

kerfuffle, to Kotlin
@kerfuffle@mastodon.online avatar

In 45 minutes I made a #kotlin #javalin application from scratch, which uses #webjars to include #htmx from a #maven pom file. It uses static #HTML files for the first load, and then renders HTML from #jte templates for #SSR of the parts of the pages that need that kind of interaction. There's no #springboot (or any #spring at all) and no #SPA like #angular or #react.

Now because simply setting up a project says close to nothing about its real world viability, next step is an actual usecase ( :

jitterted,
@jitterted@sfba.social avatar

@kerfuffle Curious about your choice of #JTE vs. natural templating like #Thymeleaf?

(I've been doing a lot of HTML generation without templates at all, so curious about your thinking.)

#htmx via #webjars is so easy!!

kerfuffle,
@kerfuffle@mastodon.online avatar

@jitterted

I haven't worked with Thymeleaf; I used to do SSR using and later .

As for natural templating: I expect it to make my fragments more clear when the serverside directives are explicitly not in the HTML, like with JTE, whereas the clientside directives are, as HTMX. Less confusing than when clientside and serverside logic are both inline in the same HTML template.

Will have to wait and see how it turns out.

khalidabuhakmeh, to blazor
@khalidabuhakmeh@mastodon.social avatar

I'm back to playing with #Blazor and #HTMX with the @egil Htmxor library. The Counter sample is nice and clear.

He has something exciting here for the #aspnetcore and #dotnet audience.

Check it out! https://github.com/egil/Htmxor

THe counter sample running in a browser with a current count of 12

khalidabuhakmeh, to random
@khalidabuhakmeh@mastodon.social avatar

Every few months, I come back to rewriting a app in , sometimes it's with Blazor, sometimes it's Razor Pages, and this time with (although I may have already done HTMX 😅)

I got some quality-of-life improvement issues entered to help make better, too. So that's a win!

Htmx-powered todo app.

kerfuffle, to Java
@kerfuffle@mastodon.online avatar

Sometimes, when I talk to frontend developers about how #HTMX requires you to have more presentation awareness in the projection side of your server application as you generate content in HTML, which in the #Java world is pretty much what we did with #JSP, Freemarker and Thymeleaf, I'm met with amazement.

No dis, but be aware: There's a generation of capable professional frontend developers who don't know backend servers can serve HTML just fine, and not just Json over HTTP.

vintprox, to random
@vintprox@techhub.social avatar

If in #DassaultSystemes they would hear about #HTMX and rewrite that hot mess of #3DEXPERIENCE #Enovia, perhaps, the product itself and modifications from partners would become worthwhile... We have long outlived iframes for emulating #SPA environment.

dlesieur, to webdev
@dlesieur@fosstodon.org avatar

Can't recommend enough the Hypermedia Systems ebook to web developers. Not only a great resource for learning and "getting" , and acquiring key best practices for using it, but it also makes the case for the classic system architecture, which has been somewhat disregarded over the last decade or two. Should be a worthwhile read, regardless of the framework or app architecture you intend to use.
https://hypermedia.systems/

pbx, to random
@pbx@fosstodon.org avatar

This is a great rapid-fire intro to #HTMX. Too fast for good retention of course, but a great way to survey HTMX capabilities and style in 8 minutes. https://www.youtube.com/watch?v=TT7SV-bAZyA

kerfuffle, to Java
@kerfuffle@mastodon.online avatar

Who here knows a CDN that offers edge computing capability for the JVM / GraalVM?

AWS Lambda@Edge only supports JavaScript and Python.
Cloudflare only supports JavaScript.
Fastly supports WebAssembly.

#cdn #java #jvm #graalvm #edgecomputing

kerfuffle,
@kerfuffle@mastodon.online avatar

Actually, it may be soon that #WebAssembly with WASI support as offered by Fastly can be targeted from #Kotlin / #Java. Nice article on the development by @sdeleuze at https://seb.deleuze.fr/introducing-kotlin-wasm/

Would be sweet if I can have a static #HTML / #CSS website that uses #HTMX for interaction with a backend written in Kotlin and compiled to #wasm running on an edge location using #wasi .

anze3db, to random
@anze3db@fosstodon.org avatar

One thing that I'm missing with HTMX and Django is proper error handling.

By default HTMX swallows any response that is not a 2xx, which might leave your users hanging on an endless loading state.

Does anyone have a good solution for this that can be reused between projects?

video/mp4

aral,
@aral@mastodon.ar.al avatar

Also, not immediately relevant to your current issue but something that might be worth considering for the future: using the htmx websocket extension, you can basically implement a streaming HTML approach (example using Kitten: https://ar.al/2024/03/08/streaming-html/) where you can just stream errors to the page as they happen.

(2/2)

quii, to random

I've been playing around with HTMX for the past 6 months or so and it's flipping fantastic.

Here's a post where I describe why I think you should look into it https://quii.dev/HTMX_is_the_Future

You don't have to go through hell to build great web applications

kerfuffle,
@kerfuffle@mastodon.online avatar

@quii Just stumbled on your post and found you on Mastodon. Excellent write-up!

I remember visiting frontend conferences where people were struggling to explain the value of progressive enhancement. Then one year, the frontend movement discovered AngularJS and from there every few months a new SPA thing emerged to solve the mess the previous incarnation left behind.

I am so glad #HTMX is catching on with full stack developers.

ewen, to python French
@ewen@mastodon.fedi.bzh avatar
danjac, to random
@danjac@masto.ai avatar

#htmx tip: if using "htmx.ajax()" API call to trigger an HTMX request, and you need to push the URL to your history, return response with "HX-Push-URL". (django-htmx has a handy "push_url()" function for this).

khalidabuhakmeh, to random
@khalidabuhakmeh@mastodon.social avatar

I made a ServiceWorker intercept #HTMX calls and manage state inside of the ServiceWorker process all in-browser.

The downside is it takes a few seconds for the service worker lifecycle to start, so it's likely only available on page refreshes. Still a neat concept.

Service worker handling click events for HTMX with count going up on each click.

khalidabuhakmeh, to random
@khalidabuhakmeh@mastodon.social avatar

This a question I have for users ( @alexzeitler and @egil) who are attempting to reduce repetition with components.

Do you think less components and more reusability is better, or are you losing some benefits of breaking down the UI into optimized functions?

I thought about this building my JetBrains store sample, too. I'm unsure where to draw the line of reuse vs. bespoke endpoints.

brutella, to webdev

A big advantage when working with web technology is that you can easily deploy your product on your own server. #html #htmx http://hkknx.hochgatterer.me

jjude, to random

Is it possible to create audio recorder kind of web apps using #htmx ?

_chrismay,
@_chrismay@fosstodon.org avatar

@jjude One could create an audio app that leverages #htmx.

You would need to leverage in-browser JavaScript to capture the audio, using the MediaRecorder API (or a library), but the app can use Htmx for the rest.

docs: https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder#browser_compatibility

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • InstantRegret
  • mdbf
  • ethstaker
  • magazineikmin
  • cubers
  • rosin
  • thenastyranch
  • Youngstown
  • osvaldo12
  • slotface
  • khanakhh
  • kavyap
  • DreamBathrooms
  • provamag3
  • Durango
  • everett
  • tacticalgear
  • modclub
  • anitta
  • cisconetworking
  • tester
  • ngwrru68w68
  • GTA5RPClips
  • normalnudes
  • megavids
  • Leos
  • lostlight
  • All magazines