This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-03-20
Channels
- # arachne (4)
- # bangalore-clj (1)
- # beginners (38)
- # boot (182)
- # cider (21)
- # cljs-dev (9)
- # clojars (5)
- # clojure (229)
- # clojure-austin (1)
- # clojure-berlin (1)
- # clojure-czech (3)
- # clojure-dusseldorf (3)
- # clojure-ireland (5)
- # clojure-italy (4)
- # clojure-russia (33)
- # clojure-spec (73)
- # clojure-taiwan (6)
- # clojure-uk (22)
- # clojure-ukraine (1)
- # clojurescript (80)
- # core-async (26)
- # cursive (3)
- # datascript (20)
- # datomic (9)
- # defnpodcast (8)
- # editors (4)
- # emacs (7)
- # garden (41)
- # hoplon (2)
- # java (1)
- # lambdaisland (2)
- # lein-figwheel (1)
- # leiningen (5)
- # luminus (4)
- # lumo (36)
- # off-topic (4)
- # om (21)
- # onyx (1)
- # pedestal (33)
- # re-frame (33)
- # ring-swagger (70)
- # spacemacs (26)
- # specter (7)
- # sql (6)
- # timbre (2)
- # untangled (12)
- # vim (3)
- # yada (1)
Awfully quiet today. 🙂
In the template .edn file, is it intentional that :db.install/_attribute :db.part/db
is used in the example of a norm? I understand from the docs that this is no longer needed.
The samples can be updated as long as we add a note about the minimum revision of Datomic supported.
Is the minimum version documented somewhere? I'm happy to add in this kind of thing as I'm learning/proofreading, but I've not yet found enough reference docs. The Vase docs still seem to be strongly example driven.
Still, seems wrong to have the :db.install
stuff in a beginner's doc. In trying to understand the .edn file, I had to browse through much too much of the Datomic Schema docs in order to just learn that I didn't need to pay attention to that line. 😞 (I had tried an exercise of rewriting the complex norm as a simple one, to ensure that I understood it completely. This line was a sticking point. FWIW, so was :unique vs :identity; also only answered by reading through the datomic docs)
"your_first_api.md" today is really meant to be "your first Vase API" for someone who already knows Pedestal and Datomic, but wants to learn Vase.
That sounds right to me. Also, two .edn files. (See my #2 comment yesterday, about the awkwardness of being instructed to shorten a sample file)
The minimum necessary for a Vase app is quite small. The template generates a more full-features, production-ready app... but that's not helpful to learn from.
Yup. I was blown away (in a very positive sense) by how little code was in my lein new vase foo
.
That's a great goal. As a newbie, I've found that one of the weaknesses in the Clojure client/server ecosystem is that it is evolving so quickly and so much knowledge is embedded in the codes generated by templates, that it is very hard to upgrade a project to take advantage of the changing landscape.
I agree. It's not just frustrating for a newbie. Way too much capability is tied up in templates and build tool plugins.
I know I'm going to hit a learning curve in a few days when I try to introduce the client code into my toy Vase project.
Until now, I've used the framework-like templates that put all the pieces together -- paying the price of manually upgrading each time the landscape improves -- so I don't really know how to hand-code all the goodness of figwheel + cider + production builds + etc. and Vase doesn't have this all rolled together. (for better and worse)
Front-end Clojurescript. I like the idea that Vase is client-agnostic; it's certainly the right way to go. But, I write my clients in CLJS, and it is very convenient having both sides started by the same template framework. I don't know the right answer.
One thing I'd suggest is this: keep the client app and the Vase service separate. As in, different directories, different project.clj files.
There's no need for them to occupy the same project and it just makes everything harder to configure and build.
So for the front end, feel free to use a figwheel template app. It'll work just fine with Vase services.
Once you get a ways down the road, consider creating a third directory, with .cljc files that describe the specs for your data interface.