Skip to content
This repository has been archived by the owner on Dec 7, 2018. It is now read-only.
/ Prototope Public archive

Swift library of lightweight interfaces for prototyping, bridged to JS

Notifications You must be signed in to change notification settings

Khan/Prototope

Repository files navigation

Build Status

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.

  1. under Embedded Libraries, add Prototope.framework
  2. under Build Settings -> Other Linker Flags, add -Objc -lc++
  3. under Build Settings -> Header Search Paths, add
    • $(SRCROOT)/prototope/Prototope/
    • $(SRCROOT)/prototope/ThirdParty/ (set it to be recursive)
  4. 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.

About

Swift library of lightweight interfaces for prototyping, bridged to JS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published