Hi Luke,
  Thanks for addressing my question, and helping better understand 
Clojurescript and the community!

On Friday, June 30, 2017 at 2:22:18 PM UTC-6, Luke Burton wrote:
>
>
>
> > On Jun 30, 2017, at 10:40 AM, Nick Pavlica <[email protected] 
> <javascript:>> wrote: 
> > 
> > Ok, 
> >   We are at over 40 views, and it seems like no one in the Clojurescript 
> community is familiar with using GraphQL, or doesn't have the time to give 
> some good pointers.   
>
> The Clojure community is small and has a different set of values and 
> expectations. I would consider the possibility that you’re framing your 
> question in a way that doesn’t resonate very clearly with people who might 
> have an opinion. 
>

> If I understand it correctly, you’re asking “should I query a GraphQL 
> backend directly or via a framework?” Since the cost of experimentation in 
> this language is so low, most people will be thinking “why don’t you just 
> try both approaches?” 
>

> If you can’t find a framework that does it, chances are it’s so easy to do 
> in Clojure/ClojureScript that nobody bothers to put an abstraction there. 
> What happens when you make a GraphQL query yourself? If it’s super easy you 
> may elect to forego any frameworks even if they exist! 
>
> Another community idiom is that our programs are collections of small, 
> composable functions. When written this way, the cost of making a framework 
> choice that turns out to be suboptimal is very low. In writing Clojure I’m 
> generally much less anxious about upfront framework decisions compared to 
> other languages - I’m willing and able to change quite fundamental 
> components if things aren’t working out. This is another reason questions 
> like “which thing does everyone choose for this?” are often answered with 
> “pick the one that works for you”. 
>
> Luke.


I'm sure my question was unclear, and is certainly poorly constructed for 
the initiated; sorry about that.  The difficulty, is that for someone new 
to the Clojure* community, it can be a little overwhelming.  While Clojure* 
the language is beautifully decomplected, in many ways the lack of apparent 
focus by the community makes it hard to get started.  For example, there 
are at-least three runtime implementations, each with their own caveats, 
and a set of libraries that try to bridge them.  There are two popular 
build tools, multiple repels, and so on, until you start running in circles 
trying to figure out what best practice is.   This breadth is certainly 
great for those that have been here a while, but it seem to takes away from 
the depth that other small communities like Elixir are developing by 
focusing their limited resources behind an primary effort like Phoenix. 
I've seen this play out in other communities like Ruby On Rails , and many 
others, that eventually grew into what we view as "mainstream".  It's 
definitely a challenge to come into the Clojure* world from more 
traditional communities.  The idea of baking a cake without a well vetted 
and thought through recipe really feels foreign.  I'm sure that in time 
that uncomfortable uncertainty just goes away.  I almost wonder if more 
effort should be made by the community to help newbies get over this 
hurdle.  I'm sure experimentation is quite easy once your used to the 
Clojure* way, but I think that baggage that we carry with us makes it hard 
to see.  For example, When Ember was cool, I spent allot of time learning 
it, then Angular came along and there was another big learning curve.  I 
think that most people coming to Clojure* would look at trying to learn two 
frameworks just to experiment with, would wince a little, because it wasn't 
trivial to switch between other frameworks in the past.  With that said, I 
wonder if this would better have been a little better form of the 
question.  It would still highlight my ignorance of the "Clojure Way", but 
would maybe have been a little more focused:

" All, I'm new to the Clojure* community and would like to build a SPA 
style web application, and eventually mobile equivalents that needs to work 
with GraphQL endpoints.  I've seen a number of tools, libraries, and 
frameworks, but I'm unclear which one has the most community support behind 
it.  I've noticed that Om, and Reagent plus Reframe are mentioned the most 
in presentations and blog posts, but there's limited documentation on each 
their project pages, and neither have reached 1.0.  Ideally, I would like 
to integrate with the Apollo, or Relay Modern GraphQL client libraries so 
that I can take advantage of Pagination, Caching, Mutation and other 
functions that have been tuned specifically for working with a GraphQL 
server, so I don't have to re-invent the wheel.  Without getting into a 
flame war, are there any inherent advantage to either of these frameworks 
for this application, or do they essentially achieve the same benefits, 
just in different ways?  Are there any good resources out there that 
illustrate how to successful use Clojurescript with GraphQL?"

However, in Clojure* land, it sounds like you just need to pick one, and 
hack away until it works :)            

Thanks again for the feedback and guidance!
-- Nick
 

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/clojurescript.

Reply via email to