This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-11-25
Channels
- # aleph (2)
- # announcements (7)
- # babashka (6)
- # beginners (53)
- # calva (17)
- # cider (5)
- # clj-kondo (137)
- # cljs-dev (19)
- # cljsrn (14)
- # clojure (74)
- # clojure-conj (9)
- # clojure-europe (13)
- # clojure-houston (1)
- # clojure-italy (16)
- # clojure-nl (21)
- # clojure-spec (3)
- # clojure-uk (9)
- # clojuredesign-podcast (24)
- # clojurescript (85)
- # cursive (11)
- # datomic (28)
- # duct (3)
- # emacs (6)
- # figwheel-main (1)
- # fulcro (68)
- # graalvm (19)
- # graphql (3)
- # joker (32)
- # kaocha (10)
- # lambdaisland (1)
- # malli (50)
- # off-topic (13)
- # other-languages (7)
- # pathom (2)
- # pedestal (14)
- # re-frame (53)
- # reitit (8)
- # shadow-cljs (57)
- # specter (2)
@tony.kay thanks for the detailed dive into Fulcro at the conj. Once I actually read the docs 😉 it really clicked with me and now I’m psyched to use it
what backend stack you prefer when using fulcro for frontend in fullstack development?
Fulcro provides some bits to ease the network communication, and pathom makes it really easy to satisfy queries. Fulcro essentially has no opinions on how to the rest of the stuff is implemented. Whatever makes sense to you AFAIK. There might be some extra batteries for some set of choices, but I'm unaware of that.
@jaihindhreddy how to make the database operation works smoothly with pathom? is there any demo or open source project do in this way?
What do you mean with "smooth"? You can make it as simple as an atom as a database. Example: https://github.com/MrEbbinghaus/Todoish/blob/652caabe27bba18156d1afc1c9aece9f32123e42/src/main/todoish/models/todo.clj
Or with datahike: (or datascript or datomic) https://github.com/hhucn/decide/blob/master/src/main/decide/model/argument.clj
I mean the the most commonly used backend stack with fulcro. I was using re-fame, that may be work well with the restful style API, so the backend is pretty traditional, using a sql database and write sql as functions. Should I choose datomic for better integration? since they share the eql format(datomic pull syntax).
you can consider Crux https://opencrux.com/
@UCMNZLJ93 thanks! I'll take a look
You can ask further questions about Crux at #crux
Is there any code out there showcasing using just the fulcro graph db in isolation? I've been wondering if it could be useful as a general, portable "database"
@jjttjj you mean without fulcro? or an app that's just client side?
there is this article that tells how to manually normalize dbs, its pretty much the same thing in terms of db modeling: https://purelyfunctional.tv/guide/database-structure-in-re-frame/
but if you wanna use EQL around it, I think there is no isolated implementation, altough pathom supports it with: https://github.com/wilkerlucio/pathom/blob/master/src/com/wsscode/pathom/map_db.cljc
but its not the same, the fulcro version is optimized for performance, while the pathom is optimized for extensibility
@jjttjj Fulcro can run completely headless…the normalize
and denormalize
nses have the CLJC db code, but they rely on component queries/idents to work (since you need those for normalization)…if you’re thinking “I’ll just make this for Re-frame”, then you’ll just end up re-writing what is already there for you and well tested over multiple years in production…but to each his own.
Gotcha, yeah it's not for anything like reframe, it's just for a decent amount of relational data I was thinking about shipping with a library. It'd be nice to have a format that could allow lookups with regular clojure core functions but optionally allow some higher level querying [this idea isn't fully fledged :)]
So, here’s a tip: If you make some kind of construct that answers properly to the component-options
function when passed the “thing” you treat as a component, then that thing will work in place of the UI components.
If you watch the youtube videos, I play around with headless mode in an early one. The networking is cljs-only, but you can write a clj network impl easily…so it’ll work wherever you want to use it (JVM or js).
@bhurlow Great to hear that…spread the word…there’s a lot of misunderstanding out there. People think it is a lot more complicated that it actually is.
@tony.kay yea normalizing the graph is actually way simpler than implementing client side datalog haha
3.0.11-RC2 is broken in node, fix coming shortly
fix is here if anyone is interested https://github.com/fulcrologic/fulcro/pull/350
@currentoor you wouldn’t happen to have example code of setting up pathom etc for a node backend?
not in a repo i can share
but i can make a gist with a few files so you can get the idea
@U12FDCE4V here’s some sample code from my project
it’s kind of verbose since it’s production code not a simple demo
we run node servers on embedded devices (like printers and scanners)
have just been getting my feet wet with fulcro and was really interested in a node backend for the lower footprint but it doesn’t seem terribly popular
you can easily configure a JVM to run within whatever memory parameters you need
i’ve been able to get by on free tiers in the past
that said nothing wrong with using node as the backend
we do both
i’m trying to run a bunch of apps on a micro instance but wish to separate things out for organizational purposes
ah i see
hmm, i’ve got no idea what your domain is, but i tend to embrace the monolith backend in general
more services more surface area more crap to go wrong
i’m basically writing a bunch of small apps for a marketplace though, so its just cleaner to have full separation of concern
ah i see
@U3LP7DWPR i think you use node as a backend for your fulcro app right?
^ i’m not 100% but i think he does
I’ve been looking into https://github.com/macchiato-framework/
yeah should be easy
just hang the parser in a lambda on a particular route
@currentoor Was playing around with SSR in nodejs for fulcro 2.x . A simple app here https://github.com/claudiu-apetrei/fulcro-nodejs-ssr-example . Taking a bit of a break from side-projects at home will probably get back to it next year and update it to fulcro 3.
@currentoor @U3LP7DWPR thank you for the examples guys! Would you be okay with me adding those to this sticky post on /r/fulcro https://www.reddit.com/r/fulcro/comments/dtzhsm/fulcro_links_and_resources/ ?