Skip to content

Legoless/DesignKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DesignKit

Build Status Version Badge Badge w/ Platform Pod License

The mission of this innovative iOS framework is to enhance and speed up the creation of beautiful iOS applications, while keeping the learning curve as easy as possible. This is done by following the next milestones:

  • Styling code is completely decoupled from controller objects:

    This is achieved by abstracting visual style of UI elements into special style classes, which are not connected to view controllers. The NUI framework handles the case of style files.

    Read more about Styling in DesignKit.

  • Integrates with multiple well-known design oriented frameworks:

    Popular frameworks such as Masonry, SVGKit and POP are integrated out of the box, to keep the design as consistent and smooth as possible.

  • Attempts to bridge the gap between design tools and iOS SDK:

    DesignKit provides plugins and extensions for popular designing tools such as Sketch 3 and Adobe Photoshop CC. Plugins will generate native DesignKit code to be used in existing projects.

    Read more about plugins in DesignKit.

  • Adds design sources that can used in multiple projects:

    There are multiple resources available in DesignKit that help iOS developers create common interface elements faster. Those include most common used colors, such as Facebook color, common usage and social icons.

    Read more about resources in DesignKit.

  • Reduces application's memory fingerprint by utilizing vector graphics:

    Vector graphics require very small memory fingerprint, while keeping animations and interaction fast and fluid.

    Read more about drawing in DesignKit.

The Ideas

Ideas for this project come out of multiple frameworks in many different technologies. Here are a few examples:

  • Styling is decoupled from business logic on many platforms for example in World Wide Web and Windows Presentation Foundation, including Windows Phone.

  • Vector graphics is used on map platforms, because it is small to transfer over network connection. It is also very easy to modify. Simply change the color in code (yes, I know about tintColor property).

  • Resources are shared throughout multiple projects, for example: Share to Facebook usually contains Facebook icon with Facebook trademark color. Why should we always search for it, through other projects and copy paste them?

  • Layout is sometimes a pain. Even with second iteration of auto-layout there is still a lot of layouts that are a pain to create. Inspired by Windows Presentation Foundation we use special layout managers that make this easy.

Code Structure

Following the milestones above, DesignKit is organized into multiple modules, which can be installed via CocoaPod's Subspecs.

  • DesignKit

    Contains all subspecs, except for resources and main UI styling functionality.

  • DesignKit/Core

    Contains basic design oriented functionalities and helper functions used in almost every project.

  • DesignKit/Drawing

    Classes will enable you to draw vector shapes to existing UI elements, such as UIButton or UIView.

  • DesignKit/Layout

    Contains improved layout managers for all children with ideas based on XAML.

  • DesignKit/Storyboard

    Storyboard utilities, helpers and that help you utilize Storyboard's full power. Divide view controllers into logic groups, or just use it to design your custom views.

  • DesignKit/Resource

    Resources include icons, colors, gradients - all in vector format, ready to be used in combination with Drawing subspec.

Usage

Our Usage section has many samples on how to use DesignKit. There are also many other sample projects/libraries that use DesignKit:

Development

The iOS community is strong and it is becoming larger every day. That is why DesignKit is developing rapidly and the main API is also changing rapidly. We do not recommend you use it in production just yet. API will be finalised by version 1.0 and will not change until version 2.0.

Compatibility

The framework requires iOS 7. Mac OS X is currently not supported.

Testing

Just download the zip and open the sample project or try:

pod try DesignKit

Contributions

A big thanks goes to all contributors of the following projects, which were a great help in creating the DesignKit.

TODO

  • Swift support
  • Unit tests
  • Refactor

Contact

Dal Rupnik

License

DesignKit is available under the MIT license. See LICENSE file for more information.

About

Innovative iOS framework helping developers create beautifully designed applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors