-
Notifications
You must be signed in to change notification settings - Fork 1
Choosing a UI Framework #7
Comments
I think react-toolbox would be the easier to rapidly implement not-inline styles. |
Thanks for your input! Was there any particular reason you closed the issue? I think there's still discussion to be had. |
Ohp apologies. Did not mean to close this issue. I'll get good at github eventually |
More evidence that people seem to think Material-UI is clunky: Also, this is the second time I've seen someone mention React-MDL positively. I checked out their list of components and it seems to be decent. However, it isn't as fully featured as either Material-UI or React Toolbox. For instance, it lacks a dedicated app bar component, though it does have things like tabs and menus that could be put together to make an app bar. |
A point in favor of Material-UI: it seems as though it is the only library I've mentioned that supports z-depth. The other libraries have the "raised" attribute, which is a Boolean, rather than the integer value that Material Design is supposed to have. |
Materialize (http://materializecss.com/) does seem to support z-depth. The main downside I see to using it is that it's still in beta, so it might be unstable. It is also lacking in component variety compared to other frameworks. However, it does have the basics like Navbar, Cards, and Forms. The styling is in SCSS, so if we wanted to mess around with the source it would fit with our technology stack. |
At this time I support going with react toolbox. Although I like the greater variety of components in material-ui (for example, a stepper component which would be very useful for us), I agree that inline-styles are a deal-breaker. I also agree that materialize is probably just too new to be a viable candidate. Out of all the options presented so far, I think react toolbox is the best candidate. |
It seems we have a consensus. I'm going to close the issue for now. |
I just wanted to let everyone know that react-router and react-toolbox do not interact well with each other. react-router has specialized links that allow for changing the page without reloading it entirely, but react-toolbox only supports the link included in the UI framework. There are ways around it, but they're not elegant. react-toolbox/react-toolbox#144 |
@NilsG-S So are we looking to swap one out for something else, or find a different solution entirely? |
After a little research I think we have three options: use the workarounds described above, don't use react-router at all (https://medium.freecodecamp.com/you-might-not-need-react-router-38673620f3d#.73bag9opl), or don't use react-toolbox (this may mean not using a ui framework at all). I'm still getting back up to speed on React so I'm not sure which is best at this time. |
I believe that would serve our best interests to use a UI framework. There's a lot of work that goes into creating a custom UI, which would cause this project to become bogged down. |
I've managed to get react-mdl working. The difference is that react-mdl doesn't have a custom link component, so react-router's Now to the bad news. react-mdl doesn't allow for colors to be customized, so we'd be stuck with the default blue Material Design Lite colors. I'm going to try to get Material Design Lite (the original, not react-mdl) working so we don't have the issue with colors. The only problem is that even if I do get it working, we won't be able to use the MDL Layout component. There is some kind of problem with Layout that prevents it from being used with React. This is originally what react-mdl was intended to fix. |
I'd like to try to see if I can get react toolbox to work using the workarounds described above on the events page. Maybe we'd only end up needing a few wrapper components. Unless others have found other reasons react toolbox is not a viable option? (I admit I have not completely explored the documentation yet.) |
Hey, I found this: https://github.com/borela/react-toolbox-plus-router. It requires react router v4, but otherwise supposedly provides full react toolbox functionality and has been updated recently. It's available via npm as well as github. |
I looked at the repository and I have a few concerns. The most pressing one is that this isn't a mainstream project. There are only two contributors, and we have no reason to believe that they will consistently maintain the code. This could force us to change significant portions of our code sometime in the future. Additionally, since relatively few people have contributed to the project it would be easier for malicious code to be inserted without notice. We could go through it ourselves to be sure, but I don't have full confidence that I would be able to spot such code. Finally, since the documentation is nearly non-existent, any issues that do arise would be much more difficult to resolve. |
What do you think of the viability of replicating what they did and maintaining our own version of react-toolbox-plus-router? We'd have much more control over the code though it doesn't remove the problem of creating more work by not going with a standard solution. However, it seems we have that problem with every other option as well. |
If you're willing to try such a solution, you're welcome to do so. The more avenues we pursue the better. I'm going to continue to try other UI frameworks until I find one that works. |
I solved the issue with react-toolbox. If you're interested in seeing what I did, I pushed my code to the branch |
I'm attempting to run the react-toolbox-testing branch but am getting the following errors:
Is the branch possibly missing some directories? EDIT: Figured it out. 'react-toolbox' was missing from the package.json. I also had to install the 'peer dependencies' 'immutability-helper' and 'react-addons-css-transition-group.' |
Ah, glad to hear it. I just pushed the change to the branch. |
Closing since the issues have been resolved. |
Let me know if I can help you guys with this! |
@javivelasco |
@javivelasco |
@NilsG-S We have an issue with React, Redux, React-Router, React-Toolbox. Same issue with the Link. I was trying to find the React-Toolbox-Test branch that you mentioned above and didn't see it. Looking at the package.json, it looks like you ditched React-toolbox for Grommet. Did this work better for you? Any direction you could offer would be great. Bests, JP |
@jonathanparrish
|
Thanks for the response, we will look into the recommendations. Cheers! |
The consensus on how to style the app was that Material Design is the best way to go. Since it would be way too much work to build our own Material Design library from scratch, we need to pick one that works for us. Here are several that I've found:
Most of the research I've done has been on the first two, which seem to be among the most popular and fully featured. I'm currently leaning towards React Toolbox over Material-UI due to some issues that people have with the latter. The issues are as follows:
Here are the resources I used to come to this conclusion:
Meanwhile, React Toolbox uses Sass, CSS Modules, and Webpack, which the project is already using.
The text was updated successfully, but these errors were encountered: