StylingKit is an iOS framework that allows you to style your application using stylesheets and a CSS-like syntax. StylingKit lets you build beautiful applications with less code and more flexibility by using familiar CSS markup to style native controls and components. Free up your team to focus on creating amazing user experiences throughout the design and development cycle.
Feedback, improvements, and pull requests are very welcome.
Happy Styling 🕶💅💄💇♂️👀
With StylingKit you can style an entire iOS app with CSS, making an app theme-able by applying different collections of CSS classes. Changing the theme of an app is as simple as switching out the CSS file.
Themes consist of various classes that work together to style controls and views in your app. All themes have a default.css file which contains all of the styles included with the theme. A theme can also include a set of Sass (or other CSS Preprocessors) files that compile into the default.css file.
The StylingKit's CSS support is based on the W3C's CSS specification. It means that most CSS tools out there, like CSS preprocessors, should work just fine with.
The preprocessor of choice by StylingKit team is Sass, therefore all the documentation and themes are provided in its format. However your app can use whatever CSS Preprocessors you like.
You can try StylingKit by running pod try StylingKit
from the terminal.
Alternatively you can clone repo manually:
git clone --recursive https://github.com/StylingKit/StylingKit.git
cd StylingKit/Example
open StylingKit.xcworkspace
StylingKit is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "StylingKit", :git => "https://github.com/StylingKit/StylingKit"
StylingKit is available through Carthage. To install it, simply add the following line to your Cartfile:
github "StylingKit/StylingKit"
Integration is super simple. You don't need to do anything if you are using CocoaPods with frameworks enabled or Carthage.
If you use Objective-C and CocoaPods without frameworks you will have to add the following lines to your AppDelegate.m
:
#import <StylingKit/StylingKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[StylingKit sharedKit] startStyling];
}
The last, but not least required step is to add stylesheet to your app. The default stylesheet file default.css
will be loaded from your app's main bundle automatically. For more information on defining your app style in default.css
see Styling Reference and Themes sections.
StylingKit uses Pixate Freestyle internally, and so far style handling is 100% compatible. You can reference pixate-freestyle-ios/style-reference for now.
Please keep in mind that while StylingKit evolves it may become incomaptible with original Pixate Freestyle. This page will always reflect the most recent documentation links.
StylingKit project uses the following versioning scheme {Major}.{Sprint}.{Patch}
- Major - significant or breaking change
- Sprint - increments by the end of every sprint (2-3 weeks), includes new stories (features) and bufixes
- Patch - patch/hotfix version increment in case of any urgent fixes
All discussion are happening on the public Slack organization.
- Anton Matosov [email protected]
Except as otherwise noted, StylingKit is licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html). See the LICENSE file for more info.
More information on the Apache License can be found here: http://www.apache.org/foundation/license-faq.html
StylingKit includes modified version of Pixate Freestyle library developed by Pixate, Inc.
StylingKit logo designed by Anton Matosov based on design from Freepik
StylingKit is not affiliated with Pixate Freestyle and/or any other Pixate Inc products or Pixate Inc in any way whatsoever.
All product and company names are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.