2015-12-07 22:23:30 +03:00
# Macaw
2016-10-19 13:40:34 +03:00
[![CI Status ](https://travis-ci.org/exyte/Macaw.svg?style=flat )](https://travis-ci.org/exyte/Macaw)
2015-12-07 22:23:30 +03:00
[![Version ](https://img.shields.io/cocoapods/v/Macaw.svg?style=flat )](http://cocoapods.org/pods/Macaw)
2016-10-19 13:45:35 +03:00
[![Carthage Compatible ](https://img.shields.io/badge/Carthage-compatible-0473B3.svg?style=flat )](https://github.com/Carthage/Carthage)
2015-12-07 22:23:30 +03:00
[![License ](https://img.shields.io/cocoapods/l/Macaw.svg?style=flat )](http://cocoapods.org/pods/Macaw)
[![Platform ](https://img.shields.io/cocoapods/p/Macaw.svg?style=flat )](http://cocoapods.org/pods/Macaw)
2016-09-02 11:16:54 +03:00
2016-09-20 11:26:18 +03:00
< img src = "https://github.com/exyte/Macaw/blob/master/logo.png" width = "400" >
2016-07-09 10:54:12 +03:00
2016-07-09 11:11:35 +03:00
## What is Macaw?
2016-09-20 12:48:19 +03:00
Macaw is a powerful and easy-to-use vector graphics library written in Swift.
2016-07-09 11:11:35 +03:00
2016-09-20 12:48:19 +03:00
#### It's simple
2016-07-09 11:11:35 +03:00
2016-09-20 12:48:19 +03:00
Get started with Macaw in several lines of code:
2015-12-07 22:23:30 +03:00
2016-09-20 12:48:19 +03:00
```swift
class MyView: MacawView {
required init?(coder aDecoder: NSCoder) {
2016-09-20 12:48:52 +03:00
let text = Text(text: "Hello, World!", place: .move(dx: 145, dy: 100))
2016-09-20 12:48:19 +03:00
super.init(node: text, coder: aDecoder)
}
}
```
2017-03-06 19:46:17 +03:00
< img src = "http://i.imgur.com/ffPc4mr.png" width = "475" >
2016-09-20 12:48:19 +03:00
#### It has SVG support
2016-11-24 11:37:50 +03:00
Include Scalable Vector Graphics right into your iOS application:
2016-09-20 12:48:19 +03:00
2017-05-11 06:39:37 +03:00
< img src = "http://i.imgur.com/NWkEzcu.png" width = "300" >
2016-09-20 12:48:19 +03:00
#### It's powerful
Affine transformations, user events, animation and various effects to build beautiful apps with Macaw:
2017-03-06 19:46:17 +03:00
< img src = "http://i.imgur.com/pjmxrDI.gif" width = "600" >
2016-09-20 12:48:19 +03:00
2016-10-24 15:17:33 +03:00
## Motivation
Modern designs contain tons of illustrations and complex animations. Mobile developers have to spend a lot of time on converting designs into native views that will be resizable for different screens. With Macaw you can reduce development time to a minimum and describe all graphics in high level [scene ](https://en.wikipedia.org/wiki/Scene_graph ) elements. Or even render SVG graphics right from your design tool with Macaw events and animation support.
2017-02-24 19:10:23 +03:00
## Resources
2016-10-19 14:49:49 +03:00
2017-02-24 19:10:23 +03:00
### Docs
2016-11-24 11:41:41 +03:00
We're working hard to provide full documentation. Currently you can take a look at the following docs:
2016-11-24 11:37:50 +03:00
* [Getting started guide ](https://github.com/exyte/Macaw/wiki/Getting-started )
* [Render SVG file ](https://github.com/exyte/Macaw/wiki/Render-SVG-file )
2017-01-27 13:19:16 +03:00
* [Content animation ](https://github.com/exyte/Macaw/wiki/Content-animation )
2017-05-10 11:36:07 +03:00
* [Morphing animation ](https://github.com/exyte/Macaw/wiki/Morphing-animation )
2015-12-07 22:23:30 +03:00
2017-02-24 19:10:23 +03:00
### Posts
* [Replicating Apple Design Awarded Applications ](https://medium.com/exyte/replicating-apple-design-awarded-applications-70e5df4c4b94#.ckt1hfnei )
* [How friendly can drawing API be on iOS? ](https://medium.com/exyte/how-friendly-can-drawing-api-be-on-ios-b3a818bf8105#.o9i35zcai )
2017-05-10 16:02:11 +03:00
* [Macaw iOS Library: Morphing Animations ](https://medium.com/exyte/macaw-ios-library-morphing-animations-and-touch-events-a4cb1c0be97f )
2017-02-24 19:10:23 +03:00
2016-11-23 09:34:41 +03:00
## Examples
[Macaw-Examples ](https://github.com/exyte/macaw-examples ) is a repository where you can find various usages of the `Macaw` library from simple charts to the complex periodic table.
2017-05-22 18:42:51 +03:00
< img src = "http://i.imgur.com/rQIh3qD.gif" height = "280" > < img src = "http://i.imgur.com/bIgHtzt.gif" height = "280" > < img src = "http://i.imgur.com/NiBT2rv.gif" height = "280" > < img src = "http://i.imgur.com/Un8TJKc.gif" height = "280" >
< img src = "http://i.imgur.com/o6tBKW6.gif" height = "280" > < img src = "http://i.imgur.com/1JXF60f.gif" height = "280" >
2017-02-23 13:43:19 +03:00
2015-12-07 22:23:30 +03:00
## Requirements
2017-07-08 21:36:09 +03:00
* iOS 8.0+
2016-07-09 11:11:35 +03:00
* Xcode 7.3+
2015-12-07 22:23:30 +03:00
## Installation
2016-10-19 12:47:25 +03:00
## [CocoaPods](http://cocoapods.org)
2016-09-20 12:48:19 +03:00
To install it, simply add the following line to your Podfile:
2015-12-07 22:23:30 +03:00
```ruby
2017-05-05 14:27:44 +03:00
pod "Macaw", "0.8.2"
2016-10-19 09:18:09 +03:00
```
2016-10-19 13:16:52 +03:00
2016-10-19 09:18:09 +03:00
## [Carthage](http://github.com/Carthage/Carthage)
2016-10-19 13:16:52 +03:00
2016-10-19 09:18:09 +03:00
```ogdl
2017-05-05 14:27:44 +03:00
github "Exyte/Macaw" ~> 0.8.2
2015-12-07 22:23:30 +03:00
```
2016-09-20 12:48:19 +03:00
## Building from sources
To build Macaw from sources:
* clone the repo `git@github.com:exyte/Macaw.git`
* open terminal and run `cd <MacawRepo>/Example/`
* run `pod install` to install all dependencies
* run `open Example.xcworkspace/` to open project in the Xcode
2016-07-09 11:11:35 +03:00
2017-05-10 11:36:07 +03:00
## Change Log
You can find list of all changes by version in the [Change Log ](https://github.com/exyte/Macaw/wiki/Change-Log )
2015-12-07 22:23:30 +03:00
## Author
2017-07-24 09:45:13 +03:00
This project is maintained by [exyte ](http://www.exyte.com ). We design and build mobile and VR/AR applications.
2015-12-07 22:23:30 +03:00
## License
Macaw is available under the MIT license. See the LICENSE file for more info.