6
13
+ 1
0

What is Glamorous?

Glamorous is React component styling solved with an elegant (inspired) API, small footprint (<5kb gzipped), and great performance (via glamor). It has a very similar API to styled-components and uses similar tools under the hood (glamor).
Glamorous is a tool in the JavaScript Framework Components category of a tech stack.
Glamorous is an open source tool with 3.7K GitHub stars and 279 GitHub forks. Here鈥檚 a link to Glamorous's open source repository on GitHub

Who uses Glamorous?

Companies
3 companies reportedly use Glamorous in their tech stacks, including mojomortgages, Front End, and Archbee.

Developers

Glamorous Integrations

Jest, Gatsby, Next.js, Create React App, and CodeceptJS are some of the popular tools that integrate with Glamorous. Here's a list of all 5 tools that integrate with Glamorous.

Why developers like Glamorous?

Here鈥檚 a list of reasons why companies and developers use Glamorous
Top Reasons
Be the first to leave a pro
Glamorous Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose Glamorous in their tech stack.

Russel Werner
Russel Werner
Lead Engineer at StackShare | 19 upvotes 234.4K views
atStackShareStackShare
React
React
Glamorous
Glamorous
Apollo
Apollo
Node.js
Node.js
Rails
Rails
Heroku
Heroku
GitHub
GitHub
Amazon S3
Amazon S3
Amazon CloudFront
Amazon CloudFront
Webpack
Webpack
CircleCI
CircleCI
Redis
Redis
#StackDecisionsLaunch
#SSR
#Microservices
#FrontEndRepoSplit

StackShare Feed is built entirely with React, Glamorous, and Apollo. One of our objectives with the public launch of the Feed was to enable a Server-side rendered (SSR) experience for our organic search traffic. When you visit the StackShare Feed, and you aren't logged in, you are delivered the Trending feed experience. We use an in-house Node.js rendering microservice to generate this HTML. This microservice needs to run and serve requests independent of our Rails web app. Up until recently, we had a mono-repo with our Rails and React code living happily together and all served from the same web process. In order to deploy our SSR app into a Heroku environment, we needed to split out our front-end application into a separate repo in GitHub. The driving factor in this decision was mostly due to limitations imposed by Heroku specifically with how processes can't communicate with each other. A new SSR app was created in Heroku and linked directly to the frontend repo so it stays in-sync with changes.

Related to this, we need a way to "deploy" our frontend changes to various server environments without building & releasing the entire Ruby application. We built a hybrid Amazon S3 Amazon CloudFront solution to host our Webpack bundles. A new CircleCI script builds the bundles and uploads them to S3. The final step in our rollout is to update some keys in Redis so our Rails app knows which bundles to serve. The result of these efforts were significant. Our frontend team now moves independently of our backend team, our build & release process takes only a few minutes, we are now using an edge CDN to serve JS assets, and we have pre-rendered React pages!

#StackDecisionsLaunch #SSR #Microservices #FrontEndRepoSplit

See more
Johnny Bell
Johnny Bell
Senior Software Engineer at StackShare | 13 upvotes 247.6K views
atStackShareStackShare
Markdown
Markdown
React
React
GraphQL
GraphQL
Ruby
Ruby
Showdown
Showdown
Glamorous
Glamorous
Emotion
Emotion
styled-components
styled-components
#Frontend
#CssInJs
#StackDecisionsLaunch

For Stack Decisions I needed to add Markdown in the decision composer to give our users access to some general styling when writing their decisions. We used React & GraphQL on the #Frontend and Ruby & GraphQL on the backend.

Instead of using Showdown or another tool, We decided to parse the Markdown on the backend so we had more control over what we wanted to render in Markdown because we didn't want to enable all Markdown options, we also wanted to limit any malicious code or images to be embedded into the decisions and Markdown was a fairly large to import into our component so it was going to add a lot of kilobytes that we didn't need.

We also needed to style how the markdown looked, we are currently using Glamorous so I used that but we are planning to update this to Emotion at some stage as it has a fairly easy upgrade path rather than switching over to styled-components or one of the other cssInJs alternatives.

Also we used React-Mentions for tagging tools and topics in the decisions. Typing @ will let you tag a tool, and typing # will allow you to tag a topic.

The Markdown options that we chose to support are tags: a, code, u, b, em, pre, ul, ol, li.

If there are anymore tags you'd love to see added in the composer leave me a comment below and we will look into adding them.

#StackDecisionsLaunch

See more
Russel Werner
Russel Werner
Lead Engineer at StackShare | 11 upvotes 104K views
atStackShareStackShare
Sass
Sass
HAML
HAML
React
React
Glamorous
Glamorous
JavaScript
JavaScript
Emotion
Emotion
#Inlinecss

When we rebooted our front-end stack earlier this year, we wanted to have a consolidated and friendly developer experience. Up to that point we were using Sass and BEM. There was a mix of HAML views, React components and Angular. Since our ongoing development was going to be exclusively in React, we wanted to shift to an inline styling library so the "wall of classnames" could be eliminated. The ever-shifting landscape of inline CSS libraries for React is sometimes difficult to navigate.

We decided to go with Glamorous for a few reasons:

1) Previous team experience with this library 2) We can write our styles in plain JavaScript (which brings many benefits) 3) It supports server-side rendering 4) It has great composition patterns

As you may or may not know, Glamorous has ceased active development and been mostly superseded by Emotion. We are planning to migrate to either Emotion or @styled-components in the near future, and I'll write another Stack Decision when we get there!

#inlinecss

See more

Glamorous Alternatives & Comparisons

What are some alternatives to Glamorous?
React Router
React Router is a complete routing solution designed specifically for React.js. It painlessly synchronizes the components of your application with the URL, with first-class support for nesting, transitions, and server side rendering.
styled-components
Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 馃拝
Ant Design
An enterprise-class UI design language and React-based implementation. Graceful UI components out of the box, base on React Component. A npm + webpack + babel + dora + dva development framework.
Angular CLI
A command-line interface tool that you use to initialize, develop, scaffold, and maintain Angular applications. You can use the tool directly in a command shell, or indirectly through an interactive UI such as Angular Console.
AngularUI
UI-Modules Standalone AngularUI modules.
See all alternatives

Glamorous's Followers
13 developers follow Glamorous to keep up with related blogs and decisions.
Miguel谩ngel Cabrera
Luc Ho Dac
David Galoyan
Nicolas Marshall
Eugene Oskin
MohammadAsh15
lasersox
Johnny Bell
Panayiotis Tzagkarakis
Saurabh Agrawal