Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure/Clojurescript中的客户端/服务器反应式同步_Clojure_Synchronization_Reactive Programming_Clojurescript - Fatal编程技术网

Clojure/Clojurescript中的客户端/服务器反应式同步

Clojure/Clojurescript中的客户端/服务器反应式同步,clojure,synchronization,reactive-programming,clojurescript,Clojure,Synchronization,Reactive Programming,Clojurescript,使用Clojure和Clojurescript在浏览器和服务器之间进行反应式数据同步是否有惯用的方法?一种技术与另一种技术的优缺点是什么 在过去使用过Meteor.js之后,这种反应式数据库同步比手动编写路由和轮询更新更可取。发布/订阅系统允许web开发人员编写更少的样板代码来移动数据。Clojure似乎自然适合这种技术。我无法确定这是否是clj/cljs生态系统中已解决的问题。简短的回答是否 我在生产中使用过Meteor.js,在进入CLJS时也使用过Meteor.js。我所知道的最接近的是:

使用Clojure和Clojurescript在浏览器和服务器之间进行反应式数据同步是否有惯用的方法?一种技术与另一种技术的优缺点是什么


在过去使用过Meteor.js之后,这种反应式数据库同步比手动编写路由和轮询更新更可取。发布/订阅系统允许web开发人员编写更少的样板代码来移动数据。Clojure似乎自然适合这种技术。我无法确定这是否是clj/cljs生态系统中已解决的问题。

简短的回答是否

我在生产中使用过Meteor.js,在进入CLJS时也使用过Meteor.js。我所知道的最接近的是:

使用Datomic和Datoms作为同步协议 似乎是阿尔法 有乐观更新的帮助,但不像Meteor和Minimongo那样直接数据同步,更接近Meteor方法,即客户端和服务器实现相同的调用 生产就绪,广泛使用 为什么流星杀手没有用CLJS写成

事实上,这一点都很难做到 Meteor背后的公司在过去十年中致力于这一领域的工作,但仍然没有解决数据同步设计中的所有可伸缩性或语义粗糙问题 Clojure人倾向于使用Datomic或relational的数据存储,这可能会使数据同步更加困难,而且肯定与Meteor的实现完全不同。 Clojure开发人员倾向于围绕特定问题/解决方案/需求组装系统,而不是围绕特定功能/框架组装解决方案,例如同步整个堆栈的Mongo文档。 尽管如此,在Clojure社区内外,人们仍然在思考这个问题。退房:

以及他们的 由
唯一比较有意义的方法是在上下文中考虑它们。我记得放弃流星的魔法在当时感觉很重要,但我还没有发现自己想要回去。我把它看作是简单和灵活的交易魔法

简单的答案是否定的

我在生产中使用过Meteor.js,在进入CLJS时也使用过Meteor.js。我所知道的最接近的是:

使用Datomic和Datoms作为同步协议 似乎是阿尔法 有乐观更新的帮助,但不像Meteor和Minimongo那样直接数据同步,更接近Meteor方法,即客户端和服务器实现相同的调用 生产就绪,广泛使用 为什么流星杀手没有用CLJS写成

事实上,这一点都很难做到 Meteor背后的公司在过去十年中致力于这一领域的工作,但仍然没有解决数据同步设计中的所有可伸缩性或语义粗糙问题 Clojure人倾向于使用Datomic或relational的数据存储,这可能会使数据同步更加困难,而且肯定与Meteor的实现完全不同。 Clojure开发人员倾向于围绕特定问题/解决方案/需求组装系统,而不是围绕特定功能/框架组装解决方案,例如同步整个堆栈的Mongo文档。 尽管如此,在Clojure社区内外,人们仍然在思考这个问题。退房:

以及他们的 由
唯一比较有意义的方法是在上下文中考虑它们。我记得放弃流星的魔法在当时感觉很重要,但我还没有发现自己想要回去。我把它看作是简单和灵活的交易魔法

所以他不赞成这样宽泛的问题。不过,这并不意味着你的问题是错的/糟糕的。嗯,我不想把问题说得太宽泛。我问的是使用一套特定工具的特定技术。搜索关于这个主题的信息几乎没有透露什么,所以我希望从这里的专家那里得到一些信息,这些信息将为像我这样使用clj/cljs搜索数据同步信息的人提供价值。你看,每个人都有自己特定的工具集。这使得这个问题的答案成了一个意见问题。我不太明白你的意思。是的,人们可能对什么是解决这个问题的最佳方式有意见,但IMO不询问可能的解决方案是什么,或者它们是否存在。无论如何,我已经编辑了我的问题以试图澄清。我没有使用Meteor,但很明显,您可以使用XHR和WebSocket以异步方式从后端到前端进行通信,然后在前端使用试剂或其他基于React的LIB进行渲染,所以不赞成这样广泛的问题。不过,这并不意味着你的问题是错的/糟糕的。嗯,我不想把问题说得太宽泛。我问的是使用一套特定工具的特定技术。搜索关于这个主题的信息几乎没有发现什么,所以我希望从这里的专家那里得到一些有价值的信息
像我这样的人使用clj/cljs搜索有关数据同步的信息。你看,每个人都有自己特定的工具集。这使得这个问题的答案成了一个意见问题。我不太明白你的意思。是的,人们可能对什么是解决这个问题的最佳方式有意见,但IMO不询问可能的解决方案是什么,或者它们是否存在。无论如何,我已经编辑了我的问题以试图澄清。我没有使用Meteor,但您显然可以使用XHR和WebSocket以异步方式从后端到前端进行通信,然后在前端使用试剂或其他基于React的LIB进行渲染