Expo vs Material-UI: What are the differences?
Expo can be classified as a tool in the "Cross-Platform Mobile Development" category, while Material-UI is grouped under "Front-End Frameworks".
"Free" is the primary reason why developers consider Expo over the competitors, whereas "React" was stated as the key factor in picking Material-UI.
Expo and Material-UI are both open source tools. Material-UI with 48.6K GitHub stars and 11K forks on GitHub appears to be more popular than Expo with 6.79K GitHub stars and 793 GitHub forks.
DeveloperTown, Ratio, and Chattermill are some of the popular companies that use Material-UI, whereas Expo is used by Discontinuity, PUBLY, and Mifos Initiative. Material-UI has a broader approval, being mentioned in 69 company stacks & 80 developers stacks; compared to Expo, which is listed in 29 company stacks and 26 developer stacks.
What is Expo?
What is Material-UI?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Expo?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.
The Expo SDK also provides convenient features like Facebook login,
MapView, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/
The capability of style customization is one a large deal breaker for frontend SDKs. To solve this, we decided to use styled-components in our SDK, which makes it easy to add support for themes on top of our existing components. This practice reduces the maintenance effort for stylings of custom components and keeps the overall codebase clean.
I picked up an idea to develop and it was no brainer I had to go with React for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with Material-UI but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in Evergreen after several sampling and reads online but again, after several prototype development against Evergreen—since I was using TypeScript and I had to import custom Type, it felt exhaustive. After I validated Evergreen with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on Material Kit, the one specifically made for React . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.
A major problem of Material Kit for me is it isn't written in TypeScript and there isn't any plans to support its TypeScript version. I rolled up my sleeve and started converting their components to TypeScript and if you'll ask me, I am still on it.
In summary, I used the Create React App with TypeScript support and I am spending some time converting Material Kit to TypeScript before I start developing against it. All of these components are going to be hosted on Bit.
If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever TypeScript version of Material Kit I end up coming up with, let me know.
Material UI provides Cloudcraft.co with a clean, professional looking and very easy to use set of UI components build with React. The few issues we've reported to the developers have been quickly fixed each time. I highly recommend using Material UI for both consumer and enterprise web apps. The styling system in particular is very nice to work with, and allows you to easily add your own brand's look and feel throughout the UI.
We like the pure simplicity of Google's Material UI. It is simply too much overhead today to design custom UI styles.