Fork me on GitHub
#reagent
<
2019-12-23
>
Alexander Moskvichev10:12:24

HI. What UI Framework/UI components set to choose for admin web app? It should work on both mobile and PC and have smooth integration with reagent/re-frame.

pwojnowski10:12:32

I use TW Bootstrap with re-frame and AWS Amplify for interaction with AWS. TWB works good for me, but definitely it's not the only option. Others may have more experience with Material UI or Bulma or sth else.

Alexander Moskvichev11:12:19

@U0DTG4DNC Do you use TWB with JQuery? Or it's react-bootstrap or something else?

pwojnowski11:12:24

I use plain TWB with thier js libs. The only drawback is that I had to write my own components for TWB html and connect it to re-frame. However I haven't had any issues.

pwojnowski11:12:15

This repo has a lot of working components, but for Bulma. I would consider that as it's a lot of work.

Alexander Moskvichev11:12:22

thnks for the link, I'll take a look

p-himik12:12:12

The amount of integration code that you have to write for pretty much any JS UI library out there is negligible compared to the difference between the libraries themselves. I'd say that you should select a UI library based on this library's merits and drawbacks compared to others. You don't need to think about Reagent/re-frame/anything CLJS-related at all.

p-himik12:12:35

I've used Bootstrap, re-com, Material UI, experimented with a fair bit of other UI libraries. I've never had a need to think how it would work in the CLJS world, because it's just a matter of JS interop, which works quite well.

p-himik14:12:29

Such issues pop up everywhere from time to time, even in the React itself: https://github.com/facebook/react/issues/11877 https://github.com/facebook/react/issues/14904 They can be unpleasant but usually they're not that hard to deal with. The common fix is what re-com does - create a controlled wrapper over a (maybe uncontrolled) component.

Alexander Moskvichev05:12:01

@U2FRKM4TW One more question. How about an app state, hooks and all of that. If a React Library states that it relies heavy on hooks, should I expect additional problems with it in reagent?

p-himik09:12:20

Depends. If the library somehow relies on you using the hooks outside of the library, then you must use a layer between it and Reagent that allows you using looks, like https://github.com/Lokeh/hx If the library relies on hooks internally but doesn't require you to use them, you have nothing to worry about.

Alexander Moskvichev09:12:24

Thank you @U2FRKM4TW. It has become much clearer.

👍 4