orchidhq / Orchid

Build and deploy beautiful documentation sites that grow with you
https://orchid.run
GNU General Public License v3.0
513 stars 53 forks source link

Replace custom internal structures with more standard/modern libraries #336

Open cjbrooks12 opened 4 years ago

cjbrooks12 commented 4 years ago

There's a lot of functionality I built custom for Orchid, but I would like to start migrating some of that stuff to libraries that could do it better and reduce the maintenance burden of Orchid. There are also a handful of Java libraries that would be nice to migrate to pure-kotlin options that are better for this project. Below is a list of the current functionality that I would like to replace:

thekalinga commented 4 years ago

Event Bus

How about Project Reactor? You get eventing & stream composition. But the price of learning is steep tho.

cjbrooks12 commented 4 years ago

It's probably a bit overkill for a simple event bus, but I do think the core engine could do well to be made more reactive. I've used RxJava and Kotlin Coroutines a lot, but never Project Reactor; do you have any resources you'd recommend for learning more about it?

thekalinga commented 4 years ago

Agree, it can become an overkill

I learnt it from that is reactor documentation

https://projectreactor.io/learn

https://projectreactor.io/docs/core/release/reference/

Reactor & RxJava are more or less the same just that reactor is a bit more feature rich. Both of them collaborated on common code base. They are both implementations of reactive streams spec

mikehearn commented 4 years ago

You should check out PicoCLI. It's Java not Kotlin but is probably the nicest CLI library out there.