Prototope
Prototope is a lightweight, high-performance prototyping framework. Its goals are:
- making simple things very easy
- making complex things possible
- enabling rapid iteration
- high performance execution
- concepts easily mapped onto production implementation
Interfaces to the API are presently available in Swift and JavaScript. The current implementation only runs on iOS, but the interface should be portable.
You can use Protocaster (a Mac app) to broadcast live-reloading JavaScript prototypes to Protoscope (an iOS app). More documentation about this is forthcoming.
Documentation is available here.
Bootstrapping with prototope
You'll need Xcode 6.3 to use Prototope!
You can clone the OhaiPrototope project. If you do, you'll need to run
$ git submodule update --init --recursive
from within the repo in order to pull down the prototope and pop submodules. The project, however, is ready to go. Edit MainScene.swift
and start making dreams come true!
Including prototope in your existing project
If you plan to include prototope as a submodule from within your project, you'll likely have to do the following from within your project
getting it
$ git submodule add https://github.com/khan/prototope
$ git submodule update --init --recursive
the first adds prototope as a git submodule to your project (and clones it outright), but you need the second command in order to pull in prototope's dependencies (namely pop).
adding it to xcode
This part is somewhat more involved.
- under Embedded Libraries, add Prototope.framework
- under Build Settings -> Other Linker Flags, add
-Objc -lc++
- under Build Settings -> Header Search Paths, add
$(SRCROOT)/prototope/Prototope/
$(SRCROOT)/prototope/ThirdParty/
(set it to be recursive)
- under Build Settings -> Library Search Paths, add
$(SRCROOT)/prototope/ThirdParty
(set it to be recursive)
making sure things work
You should be able to test that you've imported everything if you can type import Prototope
in your ViewController.swift file and if the project builds. XCode may complain that it can't find the bridging header in the gutter, but it's a lie. It can, and if the project builds, you're in good shape.