{
  "name": "Theater",
  "version": "0.5",
  "summary": "Swift framework to help write async, resilient and responsive applications.",
  "description": "Writing async, resilient and responsive applications is too hard. \n\nIn the case of iOS, is because we've been using the wrong abstraction level: NSOperationQueues, dispatch_semaphore_create, dispatch_semaphore_wait and other low level GCD functions and structures.\n\nUsing the Actor Model, we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications.\n\nTheater is Open Source and available under the Apache 2 License.\n\nTheater is inspired by Akka.\n\nTwitter = [@TheaterFwk](https://twitter.com/TheaterFwk)\n\n### How to get started\n\n- install via [CocoaPods](http://cocoapods.org)\n\n```ruby\npod 'Theater'\n```\n\nActors should subclass the Actor class:\n\n```swift\n  public class Dude : Actor {\n```\nIn order to \"listen\" for messages, actors have to override the receive method:\n```swift\n  override public func receive(msg : Message) -> Void {\n\n  }\n```\n\nIn order to unwrap the message, you can use switch \n\n```swift\noverride public func receive(msg : Message) -> Void {\n  switch (msg) {\n    case let m as Hi:\n      m.sender! ! Hello(sender: self.this)\n    case is Hello:\n      print(\"got Hello\")\n    default:\n      print(\"what?\")\n  }\n}\n```\n\nAll messages must subclass Message:\n```swift\n\npublic class Hi : Message {}\n \npublic class Hello : Message {}\n\n```\n\nActors live inside an actor system, theater provides a default system\n\n```swift\n  let system : ActorSystem = AppActorSystem.shared\n```\n\nPutting in all together:\n\n```swift\nimport Theater\n \npublic class Hi : Message {}\n \npublic class Hello : Message {}\n \npublic class Dude : Actor {\n    override public func receive(msg : Message) -> Void {\n        switch (msg) {\n            case let m as Hi:\n                m.sender! ! Hello(sender: self.this)\n            case is Hello:\n                print(\"got Hello\")\n            default:\n                print(\"what?\")\n        }\n    }\n}\n\n.\n.\n.\n(inside the app delegate)\n\nfunc application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {\n        \n        let system : ActorSystem = AppActorSystem.shared\n        \n        let dude1 = system.actorOf(Dude.self, name: \"dude1\")\n        let dude2 = system.actorOf(Dude.self, name: \"dude2\")\n        \n        dude2 ! Hi(sender : dude1)\n```\n\nThe output will be:\n```swift\nTell = Optional(\"dude1\") <Actors.Hi: 0x7bf951a0> dude2 \nTell = Optional(\"dude2\") <Actors.Hello: 0x7be4bc00> dude1 \ngot Hello\n```",
  "homepage": "https://github.com/darioalessandro/Theater",
  "screenshots": "https://raw.githubusercontent.com/darioalessandro/Theater/master/theaterlogo.jpg",
  "license": {
    "type": "Apache2",
    "file": "License.txt"
  },
  "authors": {
    "Dario Lencina": "darioalessandrolencina@gmail.com"
  },
  "social_media_url": "https://twitter.com/theaterfwk",
  "platforms": {
    "ios": "8.0"
  },
  "source": {
    "git": "https://github.com/darioalessandro/Theater.git",
    "tag": "0.5"
  },
  "source_files": "Classes/*.swift",
  "dependencies": {
    "Starscream": [
      "~> 1.0.0"
    ]
  }
}
