TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

191 点作者 ghosthamlet大约 6 年前

12 条评论

manishsharan大约 6 年前
Should I be using a Modern do-it-all frameworks for Clojure and Clojurescript? My opinion is of course colored by my years spent in JAVA&#x2F;J2EE&#x27;s world of web frameworks ( Wicket, Tapestry, JSF + Hibernate EJBs etc.). In this world, I found most of my time was spent in learning the deep intricacies of the framework and fitting it to my use case. I began to hate every minute I spent on these frameworks.<p>And then I discovered Clojure and Ring and later Liberator. What I like about my current setup is that I have full control over my framework and my team knows its ins and outs and the corresponding Clojure code is succinct enough to allow developers to come upto speed quickly. Our set up is not sexy but it works and we know how exactly it works.<p>I am not sure what I would miss if I did not use a framework like this. Is Liberator no longer good enough ?
评论 #19524710 未加载
评论 #19525244 未加载
评论 #19522942 未加载
评论 #19522998 未加载
评论 #19530539 未加载
评论 #19524798 未加载
mark_l_watson大约 6 年前
Really good work. I spent 15 minutes reading through this book over my first cup of coffee this morning.<p>I stopped using Clojure about 5 years ago, after two long consulting jobs using Clojure. I decided Clojure was not a perfect fit for me (and, really, neither is Common Lisp, Racket, and Haskell - more favorite languages) but I am very happy to see the Clojure ecosystem still creating such great tools around the language and functional composition.
评论 #19522001 未加载
评论 #19523313 未加载
azeirah大约 6 年前
&gt; All of the full stack examples use a mock server embedded in the browser to simulate the interaction, but the source that you’ll read for the application is identical to what you’d write for a real server.<p>God, I&#x27;m loving this already. The only other framework I know that could do this for a book is Meteor.
评论 #19521153 未加载
chartpath大约 6 年前
Would anyone recommend Clojure if you run an engineering org and get to make decisions about languages?<p>I&#x27;ve been running node shops for the last several years, and love Clojure since having hosted a couple meetups a while back.<p>That and being most influenced by lispy&#x2F;ai culture from SICP, CTM, PAIP, AIMA books. Node is getting tiresome due to not being able to trust the ecosystem quality (which takes away some of the common justification of huge ecosystem).<p>Not worried about hiring since not open to fresh grads from universities or bootcamps without lots of training anyway (which can include a new lang). Are there crappy&#x2F;charlatan Clojure devs out there or is it more of an elite&#x2F;experienced culture?<p>With stuff like Fulcro, could we replace our basic REST APIs and business logic without having to re-invent too much?
评论 #19522734 未加载
评论 #19522843 未加载
评论 #19523041 未加载
评论 #19524142 未加载
评论 #19525285 未加载
评论 #19523447 未加载
mrcristisanjoe大约 6 年前
If anyone is interested in working on a Fulcro application full-time we are building tools for the insurance industry and are a remote-first team.<p><a href="http:&#x2F;&#x2F;bindhq.com&#x2F;company&#x2F;" rel="nofollow">http:&#x2F;&#x2F;bindhq.com&#x2F;company&#x2F;</a>
myguidingstar大约 6 年前
Fulcro can be too sizable to consume in one bite, most importantly the three core concepts (ident, query, state). Personally I find it useful to start with just EQL which is an Clojure native alternate to Graphql. In fact, Fulcro&#x27;s predecessor, the famous Om.next was inspired by Graphql. Introduction by Wilker Lucio <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=yyVKf2U8YVg" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=yyVKf2U8YVg</a>
serpi大约 6 年前
Somehow I got the feeling of there being a lot of boilerplate necessary to create just about anything. Still this is years ahead of the competition (excluding re-frame).
评论 #19520960 未加载
adamfeldman大约 6 年前
In addition to the book, Fulcro has excellent docs and resources available:<p>* Full-stack example [0], implementing the RealWorld spec using the Walkable SQL library and the Duct server-side framework<p>* Fulcro&#x27;s implementation [1] of UI state machines (recent HN discussion on the topic [2])<p>* Fulcro training video series, from the creator Tony Kay [3]<p>* An answer to why Fulcro [4]<p>* How Fulcro differs from Om [5]<p>* Fulcro&#x27;s integration with the Semantic UI React toolkit [6]<p>* Where Fulcro is headed next, in v3 [7]<p>To me Fulcro is Clojure&#x27;s missing framework. With Fulcro (and thanks to Clojure&#x2F;Script), applications are composed and painted onto the screen -- this is thanks to the REPL and hot-reloading that preserves state. For a demonstration, see the Fulcro training playlist on YouTube [3].<p>Some personal favorite Fulcro features: (A) the built-in support viewer [8], which can take state history serialized on the client and play it back on a developer&#x27;s machine (like a basic, self-hosted <a href="https:&#x2F;&#x2F;logrocket.com" rel="nofollow">https:&#x2F;&#x2F;logrocket.com</a>). (B) Workspaces [9], which is similar to <a href="https:&#x2F;&#x2F;storybook.js.org" rel="nofollow">https:&#x2F;&#x2F;storybook.js.org</a>.<p>#fulcro is very active on the Clojurians Slack <a href="http:&#x2F;&#x2F;clojurians.net" rel="nofollow">http:&#x2F;&#x2F;clojurians.net</a> (or Zulip! <a href="https:&#x2F;&#x2F;clojureverse.org&#x2F;t&#x2F;introducing-clojurians-zulip&#x2F;3173" rel="nofollow">https:&#x2F;&#x2F;clojureverse.org&#x2F;t&#x2F;introducing-clojurians-zulip&#x2F;3173</a>)<p>[0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;walkable-server&#x2F;realworld-fulcro" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;walkable-server&#x2F;realworld-fulcro</a><p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;fulcrologic&#x2F;fulcro-incubator&#x2F;blob&#x2F;develop&#x2F;state-machine-docs.adoc" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;fulcrologic&#x2F;fulcro-incubator&#x2F;blob&#x2F;develop...</a><p>[2]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19268734" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19268734</a><p>[3]: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLVi9lDx-4C_Rwb8LUwW4AdjAu-39PHgEE" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLVi9lDx-4C_Rwb8LUwW4A...</a><p>[4]: <a href="http:&#x2F;&#x2F;fulcro.fulcrologic.com&#x2F;benefits.html" rel="nofollow">http:&#x2F;&#x2F;fulcro.fulcrologic.com&#x2F;benefits.html</a><p>[5]: <a href="http:&#x2F;&#x2F;fulcro.fulcrologic.com&#x2F;vsom-next.html" rel="nofollow">http:&#x2F;&#x2F;fulcro.fulcrologic.com&#x2F;vsom-next.html</a><p>[6]: <a href="https:&#x2F;&#x2F;github.com&#x2F;fulcrologic&#x2F;semantic-ui-wrapper" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;fulcrologic&#x2F;semantic-ui-wrapper</a><p>[7]: <a href="https:&#x2F;&#x2F;www.patreon.com&#x2F;posts&#x2F;fulcro-3-25683469" rel="nofollow">https:&#x2F;&#x2F;www.patreon.com&#x2F;posts&#x2F;fulcro-3-25683469</a>, <a href="https:&#x2F;&#x2F;www.patreon.com&#x2F;posts&#x2F;incubator-23082756" rel="nofollow">https:&#x2F;&#x2F;www.patreon.com&#x2F;posts&#x2F;incubator-23082756</a><p>[8]: <a href="http:&#x2F;&#x2F;book.fulcrologic.com&#x2F;#_support_viewer" rel="nofollow">http:&#x2F;&#x2F;book.fulcrologic.com&#x2F;#_support_viewer</a><p>[9]: <a href="http:&#x2F;&#x2F;book.fulcrologic.com&#x2F;#_workspaces" rel="nofollow">http:&#x2F;&#x2F;book.fulcrologic.com&#x2F;#_workspaces</a>
lauritzsh大约 6 年前
Does anyone have experience using Fulcro just for frontend (no backend)? I have been considering it versus Reagent and Rum for building a heavy client-side app that doesn&#x27;t need a server (nothing to store in a database, local storage is fine). At some point I might add users for data sync between client and server but I don&#x27;t plan to do SSR for SEO purposes at least.<p>What I am curious about is if I use Fulcro, will I write a lot more code to do the same as in Reagent&#x2F;Rum because it&#x27;s supposed to play well with a backend that&#x27;s (for now) non-existent? Does it provide better tools for client-side state management compared to Rum&#x2F;Reagent (+ re-frame)?<p>Right now I am using just Rum with its built-in cursors and derived atoms and the experience is okay. I did try DataScript but ended up just with a simple atom for now.
评论 #19523070 未加载
askosh大约 6 年前
As an alternative, modern web framework for Clojure, I recommend Coast <a href="https:&#x2F;&#x2F;coastonclojure.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;coastonclojure.com&#x2F;</a> (I have no other affiliation to this project other than using it myself).
评论 #19521275 未加载
victor106大约 6 年前
Can someone here elaborate what are some advantages of using fulcro vs using another stack?
评论 #19522492 未加载
评论 #19521201 未加载
G4BB3R大约 6 年前
Clojure is awesome. But refactoring a big project without a type system is very hard and error-prone, and clojure error messages are very difficult to understand.
评论 #19521391 未加载
评论 #19523421 未加载
评论 #19521284 未加载
评论 #19521276 未加载
评论 #19525349 未加载
评论 #19527285 未加载
评论 #19523030 未加载
评论 #19521328 未加载