Hi @lilactown! Thank you for your work on hx
and helix
! I’m going to start new react project and I need to choose react wrapper. It’s really important to me to use all power of react
features, that’s why next 6 months I will use react experimental build with hooks, context, suspense (+ data fetching), concurrency mode etc.
I’m not going to use reagent
and re-frame
(I like re-frame but I think I’m able to build great architecture based on React Context and Suspense).
So, can you please help me to do right choose between hx
and helix
in a long run? Can you please describe helix benefits over hx? As I can see primary advantages are using macros instead of hiccup and syntax sugar.
Are you going to maintain and develop helix in a long run?
Hi @y.khmelevskii - I’m in no way associated with hx and helix, but I’ve been using hx in production for some time now, and have had numerous (online) discussions with Will. I’ll give you my (unsolicited) 2 cents in a thread :)
First of all, both hx, helix, also uix both compile down to plain react components. So you can use them all in the same project if you want to play around and experiment.
The main difference between hx and helix is going to be performance and the way you write components. Hx uses only hiccup and will be always a little slower, helix uses function calls, but could also parse hiccup if so you wish.
Note that reagent just got funding with the main focus being supporting functional components and hooks. I’ve no idea when the results of that will come out though.
Finally, just a note that both hx and helix are labors of love and free time by a single person - even if Will might say now that helix is going to be maintained, he has the right to change his mind and pursue other things. I suggest you keep this in mind and accept that you are taking a small risk - you should read the libraries source code and see if you are comfortable diving in and fixing issues you might have.
All in all, I’m excited to see your results with concurrent mode. I have also wanted to try it out since the announcements, but haven’t had the time yet :) best of luck!
To add onto @orestis excellent summary, I have pretty much moved development from hx to helix
That doesn’t mean hx is abandoned, but helix already has a number of features on top of what hx offered such as experimental linting of React Hooks usage inside of components, auto-filling dependency arrays for use-effect
/ use-memo
/ etc., with more to come
The goal of helix is to focus on compile-time optimization and ergonomics on top of React.
hx originally started as a hiccup compiler that grew into having a way to define components... helix is a rewrite and refocus on defining components, and let other people figure out hiccup compilation... you can even use hx :D or hicada, or anything else
Thank you sir @orestis! You answered a lot of my questions. Of course I understand that these 2 libs are open source and in general only Will develops and maintains them.
I didn’t know that reagent got funding, happy for them! Anyway I think that reagent was awesome lib but in 2020 I’m not sure that reaget is a right way to build new modern react app.
Btw, about your hx
in production 🙂 Is it long run production? Are you excited to use it and did you have any real blockers during development?
Great! Thank you for sharing plans! I think that I made up my mind and I’m going to use helix
. Will start investigating source code more detailed soon. And once again many thanks for the great libs!