Winner of Hacking with Swift Recommended award
You + Stevia = π¦
-
π‘ Write concise, readable layouts -
π Reduce your maintenance time -
π¨ Compose your styles, CSS-like -
π΄ Plug Live reload and boost your iteration cycles
Reason - Example - Live Reload - Installation - Documentation
πΌ Visual Layout Api
layout(
100,
|-email-| ~ 80,
8,
|-password-forgot-| ~ 80,
>=20,
|login| ~ 80,
0
)β Chainable Api
email.top(100).left(8).right(8).width(200).height(44)
alignHorizontally(password, forgot)
image.fillContainer()
button.centerInContainer().size(50%)
equalWidths(email, password)
image.width(>=80)π Equation-Based Api
email.Top == 100
password.CenterY == forgot.CenterY
login.Top >= password.Bottom + 20
login.Width == 75 % Width
(image.Height == 100).priority = UILayoutPriority(rawValue: 999)All Generate native NSLayoutConstraints
π¨βπ¬ Try it!
Stevia is part of freshOS iOS toolset. Try it in an example App ! Download Starter Project
π‘ Reason
Because nothing holds more truth than pure code
Xibs and storyboards are heavy, hard to maintain, hard to merge.
They split the view concept into 2 separate files making debugging a nightmare
There must be a better way
How
By creating a tool that makes Auto layout code finally readable by a human being.
By coupling it with live code injection such as injectionForXcode we can design views in real time
View layout becomes fun, concise, maintainable and dare I say, beautiful
Login View Example
In the project folder, you can find an example of a typical login view laid out in both native and Stevia for you to understand and compare the two approaches.
As a spoiler alert, the number of characters goes from 2380 to 1239 ( ~ divided by 2)
Write Half the code that is actually 10X more expressive and maintainable !
π΄ Live Reload
Live reload enables you to develop your views live without relaunching the app everytime.
Stevia + InjectionForXcode = #WhoNeedsReactNative??
Just Cmd+S and you can dev live in the simulator !
Learn more about how to set up live reload here.
βοΈ Installation
Get started here.
π Documentation
You can find the full documentation here.
π¨βπ» Contributors
YannickDot, S4cha, Damien, Snowcraft, Mathieu-o, Blaz Merela, Theophane Rupin, Jason Liang, liberty4me, Scott Bates, Sai, Mike Gallagher, WaterNotWords, Mick MacCallum
π₯ Backers
Like the project? Offer coffee or support us with a monthly donation and help us continue our activities :)
π
Sponsors
Become a sponsor and get your logo on our README on Github with a link to your site :)

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.


