Hello Eugen,

Great initiative! Thank you for the work.

I have a question about the implementation. It seems from reading your code [1] 
that you're essentially just passing the the context object to NREPL and 
getting it working from there.

Although the idea works, you're not getting anything beyond just running the 
clojure REPL against the context. Why not design NREPL to be part of the 
framework from the start. Implement it as a container and fire it up and fully 
integrate with the framework. This way not only will you be able to run the 
REPL (which is great) but you will also have the ability to introspect every 
request / response and even add clojure as another implementation engine.

[1] 
https://github.com/netdava/ofbiz-clojure-repl/blob/master/src/main/java/com/netdava/ofbiz/clojure/ClojureReplService.java


On Monday, May 04, 2020 03:34 +03, Eugen Stan <eugen.s...@netdava.com> wrote:
 Hello,

I just wrote a simple component for that adds clojure nRepl support for
OFBiz. This allows people to use clojure to interact with OFBiz and do
all sorts of nice things.

It also opens a lot of possibilities for improving the developer
experience.

Please let me know what you think about this. It would be great to have
it upstream (not in this form).

I would love some help on how to properly develop a plugin. I have a lot
of ideas on how to use clojure for more productivity and interactive
development.


You can see a demo of the plugin here  https://youtu.be/XXxJDZRzu_E .

You can see the plugin source code here:
https://github.com/netdava/ofbiz-clojure-repl .

I believe the OFBiz development experience can look like this:

* https://www.youtube.com/watch?v=ZkJX9ciI5aM&t=1824s
* https://www.youtube.com/watch?v=Bs44qdAX5yo


## About ofbiz-clojure-repl plugin

Uses [jvm-breakglass](https://github.com/matlux/jvm-breakglass) library
to start an instance of nRepl inside Apache OFBiz.
Once we have a Repl inside OFBiz we can connect to it from our favorite
cloujure IDE and interact with it.

Some things that can be done:

* Interact with a running OFBiz instance from a shell like environment
(Repl is better then the shell)
* Prototype functionality and experiment with instant feedback - search
for Repl driven development videos
* Develop services for OFBiz in clojure and leverage all it's wonderfull
properties
* Use data visualization tools like
[Proto-repl](https://github.com/jasongilman/proto-repl) to explore and
do interactive Business Inteligence.
* Desing reports using real data using something like
[Gorilla-repl](http://gorilla-repl.org/)


I've heard that Clojure was fun to write code with and I did not believe
it until I tried it.

Let's have fun developing on OFBiz,

--
Eugen Stan
+40720 898 747 / netdava.com
 
 

Reply via email to