Square sees increase productivity with Compose
Stay organized with collections
Save and categorize content based on your preferences.
Square helps millions of sellers run their
business – from secure credit card processing to point of sale solutions to
setting up a free online store. Square has been moving to declarative UI for
a while but rather than continuing to build their own framework, they decided to move to
Jetpack Compose, avoiding the maintenance costs and taking advantage of the
improvements it brings over the Android Views system.
What they did
The Square team started building their design system in Compose, with the goal
of enabling their design system team and product engineers to move faster.
Because their app is already organised with a unidirectional data flow
architecture, “It’s really easy for product engineers to swap in Compose one
screen at a time.” While adopting Compose, they’ve seen that “sometimes it’s
almost so simple you expect it to be more complicated. Things just work.”
Results
“By using Compose, we can focus on things that are unique to Square and our UI
infrastructure, rather than solving the broader issue of building a
declarative UI framework.”
The engineering team found that Compose improved their productivity, making the
code easier to reason about, organise, and write, and the Android Studio
tooling saved them a lot of time.
“It’s simpler and faster to style components. Reading the code for complicated
components is easier as well. It’s easier to organize code and make it
readable in Compose. The layout system of Compose is conceptually simpler so
it’s easier to reason about. Previews are a big time saver when building
components.”
Get started
Learn more about Compose.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2021-07-28 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2021-07-28 UTC."],[],[],null,["[Square](https://squareup.com/) helps millions of sellers run their\nbusiness -- from secure credit card processing to point of sale solutions to\nsetting up a free online store. Square has been moving to declarative UI for\na while but rather than continuing to build their own framework, they decided to move to\nJetpack Compose, avoiding the maintenance costs and taking advantage of the\nimprovements it brings over the Android Views system.\n\nWhat they did\n\nThe Square team started building their design system in Compose, with the goal\nof enabling their design system team and product engineers to move faster.\nBecause their app is already organised with a unidirectional data flow\narchitecture, *\"It's really easy for product engineers to swap in Compose one\nscreen at a time.\"* While adopting Compose, they've seen that *\"sometimes it's\nalmost so simple you expect it to be more complicated. **Things just work.**\"*\n\nResults\n\n*\"By using Compose, we can **focus on things that are unique to Square** and our UI\ninfrastructure, rather than solving the broader issue of building a\ndeclarative UI framework.\"*\n\nThe engineering team found that Compose improved their productivity, making the\ncode easier to reason about, organise, and write, and the Android Studio\ntooling saved them a lot of time.\n\n*\"It's **simpler and faster to style components** . Reading the code for complicated\ncomponents is easier as well. It's **easier to organize code and make it\nreadable** in Compose. The layout system of Compose is conceptually simpler so\nit's **easier to reason about. Previews are a big time saver** when building\ncomponents.\"*\n\nGet started\n\nLearn more about [Compose](/jetpack/compose)."]]