Popularity
8.8
Growing
Activity
7.0
Growing
2,868
57
175

Code Quality Rank: L2
Monthly Downloads: 0
Programming language: Swift
License: MIT License
Tags: Layout    
Latest version: v4.8.0

Stevia alternatives and similar libraries

Based on the "Layout" category

Do you think we are missing an alternative of Stevia or a related project?

Add another 'Layout' Library

README

Stevia

Documentation Language: Swift 2, 3, 4 and 5 Platform: iOS 8+ Carthage compatible CocoaPods compatible Build Status codebeat badge License: MIT GitHub contributors GitHub tag

Winner of Hacking with Swift Recommended award

You + Stevia = πŸ¦„

  • [x] πŸ’‘ Write concise, readable layouts
  • [x] πŸ– Reduce your maintenance time
  • [x] 🎨 Compose your styles, CSS-like
  • [x] πŸ”΄ Plug Live reload and boost your iteration cycles

[Reason](#-reason) - Example - [Live Reload](#-live-reload) - [Installation](#️-installation) - [Documentation](#-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

The Swift Package Manager (SPM) is now the official way to install stevia. The other package managers are now deprecated as of 4.8.0 and won't be supported in future versions.

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, Onur Genes

πŸ‘₯ 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 :)

Swift Version


*Note that all licence references and agreements mentioned in the Stevia README section above are relevant to that project's source code only.