Popularity
8.7
Growing
Activity
5.8
Declining
2,802
58
165

Code Quality Rank: L2
Monthly Downloads: 0
Programming language: Swift
License: MIT License
Tags: Layout    
Latest version: v4.5.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 and 4 Platform: iOS 8+ Carthage compatible CocoaPods compatible Build Status codebeat badge License: MIT CocoaPods CocoaPods 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

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 :)

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.