Need advice about which tool to choose?Ask the StackShare community!
Material UI vs Pure: What are the differences?
Key Differences: Material UI vs Pure
Material UI and Pure are two popular front-end frameworks used for developing websites. While both frameworks have their own advantages, there are several key differences that set them apart from each other.
Design Approach: Material UI follows the Material Design guidelines, which focus on creating a modern and visually appealing interface. It offers a wide range of pre-designed components and styles to choose from, making it easier to create a consistent design across the application. On the other hand, Pure provides a minimalistic and lightweight design approach, allowing developers to build custom interfaces without any predefined styles or components.
Component Library: Material UI provides an extensive collection of ready-to-use components, such as buttons, forms, grids, and navigation elements. These components are highly customizable and can be easily integrated into any project. In contrast, Pure offers a smaller set of components, mainly focusing on the basic building blocks like grids, tables, and forms. Developers using Pure have more flexibility in terms of creating custom components according to their specific needs.
Styling Options: Material UI facilitates the use of CSS-in-JS, allowing developers to write styles within their JavaScript code using libraries like JSS. This approach provides a scope-based styling solution and simplifies the management of styles for individual components. Pure, on the other hand, follows a more traditional CSS approach, where developers can apply styles directly using CSS classes or inline styles. This gives developers more control over styling but may require stricter class naming conventions to avoid conflicts.
Framework Dependencies: Material UI is primarily built for React, one of the most popular JavaScript frameworks. It leverages the power of React's virtual DOM and component-based architecture to provide a seamless development experience. Pure, on the other hand, is a standalone framework that can be used with any JavaScript framework or library. It does not have any specific dependencies and can be easily integrated into existing projects without major modifications.
Documentation and Community Support: Material UI has a well-documented and comprehensive user guide, along with a large and active community. This makes it easier for developers to find solutions to their queries and get support from the community. Pure, although it has a decent documentation, may have a relatively smaller community size and support due to its niche use case.
Size and Performance: Material UI, being a more feature-rich framework, comes with a larger file size. This can impact the initial load time of the website, especially on slower networks. Pure, with its minimalistic design approach, has a smaller footprint and can help improve the overall performance and loading speed of the website.
In Summary, Material UI offers a visually appealing and feature-rich UI design approach, with an extensive component library and convenient styling options, specifically tailored for React. On the other hand, Pure follows a minimalistic and lightweight design approach, focusing on flexibility and customizability, making it suitable for various JavaScript frameworks or libraries.
My React website is a simple 5-pager that attaches to a database to store and display registrations and other data. The user (small user base) can change any form elements, but I don't need theme-ing, though that would be fun for the user. reactstrap/react-bootstrap built on Bootstrap 4 sounds dated. I am familiar with reactstrap, but a friend said to try Material-UI. The thought of learning it is interesting, but somehow I think it might be overkill. So... reactstrap, react-bootstrap, or Material UI, which should I use?
MaterialUI may be overkill for such a simple project, you're right. So I'm recommending both tools in this StackShare form.
But if it's planned to increase the project, consider migrating it to MUI in advance. Among its pros I can name: - brilliant TS support - all popular use cases covered - well documented - backed by sponsors == will live and be maintained
I recommend Material-UI for a couple reasons. 1. It’s very easy to throw MUI into React. You can essentially just import the components you need in place of yours. Effectively, for a button, for example, you can swap out <button for MUI’s <Button and you can be done if that’s all you want. Looks great, no hassle, and they have simple guides to help you make good UI decisions on top of that. 2. It’s pretty up-to-date, and it has great docs. I use MUI all the time, and if I were doing a simple, small user-base app, I would definitely use it for the sake of convenience and speed of development.
I've used material UI and had great success with it on React projects. Semantic UI is also another great option https://semantic-ui.com/.
When you say its "overkill", I would think long term. I do a lot of small projects not only for the purpose of the project, but also for learning, future projects and to use professionaly. It's a long-term investment.
It's totally the design decision if you like to follow bootstrap design then you should go for reactstrap. But if you want to follow google material design then you should go for material ui.
Material-UI looks great and is easy to use. Highly recommended, my favourite UI framework for React.
Much more modern in terms on support for css in js. But go for v5 not v4 as material-ui is going through a transition in term of its own implementation
Chakra UI seems like the perfect fit in my opinion. It has a much powerful design system, all the necessary components and it is dead simple to learn. And pretty easy to customize too.
Material-UI is the good choice for a small project. It's fast for development, maintenance, and is ready to use. It HaveMaterial-UI is the good choice for a small project. It's fast for development, maintenance, and is ready to use. Has an excellent documentation with pratic examples.
Bootstrap is useful for rapid prototyping using an existing design system. Since the design system can be used in standard HTML + Javascript and can be imported for free into a Figma project, it lowers the complexity of our mock-up creation and frontend styling, all while promoting consistency. We did not choose Material UI, because it does not have a free design system to import into Figma.
I replaced Bootstrap with Material-UI during the front-end UI development, because Material-UI adopts a component-based importing style, making it suit well in a "React programming style". This makes me comfortable when programming because I can treat importing UI components as other React components I define.
As our team will be building a web application, HTML5
and CSS3
are one of the standardized combinations to implement the structure and the styling of a webpage. Material-UI
comes with all sorts of predesigned web components such as buttons and dropdowns that will save us tons of development time. Since it is a component library designed for React, it suits our needs. However, we do acknowledge that predesigned components may sometimes cause pains especially when it comes to custom styling. To make our life even easier, we also adopted Tailwind CSS
. It is a CSS framework providing low-level utility classes that will act as building blocks when we create custom designs.
Fonts and typography are fun. Material Design is a framework (developed by Google) that basically geeks out on how to assemble your typographical elements together into a design language. If you're into fonts and typography, it's fantastic. It provides a theming engine, reusable components, and can pull different user interfaces together under a common design paradigm. I'd highly recommend looking into Borries Schwesinger's book "The Form Book" if you're going to be working with Material UI or are otherwise new to component design.
https://www.amazon.com/Form-Book-Creating-Printed-Online/dp/0500515085
Pros of Material-UI
- React141
- Material Design82
- Ui components60
- CSS framework30
- Component26
- Looks great15
- Responsive13
- Good documentation12
- LESS9
- Ui component8
- Open source7
- Flexible6
- Code examples6
- JSS5
- Supports old browsers out of the box3
- Interface3
- Angular3
- Very accessible3
- Fun3
- Typescript support2
- # of components2
- Designed for Server Side Rendering2
- Support for multiple styling systems1
- Accessibility1
- Easy to work with1
- Css1
Pros of Pure
- Lightweight14
- Simple10
- Responsive10
- Minimalist9
- Pure4
- Css4
- Open source3
- Neutral style3
- Consistently2
- It just works1
- Small footprint1
Sign up to add or upvote prosMake informed product decisions
Cons of Material-UI
- Hard to learn. Bad documentation36
- Hard to customize29
- Hard to understand Docs22
- Bad performance9
- Extra library needed for date/time pickers7
- For editable table component need to use material-table7
- Typescript Support2
- # of components1