Flow
Flow is a set of cross-platform libraries for RubyMotion. It can be seen as RubyMotion's missing standard library.
Each library implements the following requirements:
- Simple Ruby API
- 100% cross-platform (iOS, Android and OS X)
- No external dependencies
- Covered by tests
- API Documentation
WARNING: Flow is currently a work in progress. Some specs might be broken, APIs might change, and documentation might be missing. We are working toward a stable release. If you want to help please get in touch.
Libraries
Flow is currently composed of the following libraries:
- UI - User interface framework
- Net - HTTP networking and host reachability
- JSON - JSON serialization
- Digest - Digest cryptography
- Store - Key-value store
- Base64 - Base64 encoding/decoding
- Location - Location management and (reverse) geocoding
- Task - Lightweight tasks scheduler
Installation
motion-flow
requires RubyMotion >= 4.12. Make sure iOS and Android are correctly setup.
$ gem install motion-flow
If you are targeting Android, you need to install the dependencies with Gradle:
$ bundle && rake android:gradle:install
Projects
Flow projects
Flow comes with its own RubyMotion template, which creates a hybrid (iOS + Android + OS X) project.
$ motion create --template=flow Hello
$ cd Hello
$ rake -T
RubyMotion projects
Flow can be added as a dependency of an existing iOS, Android or OS X RubyMotion project, by adding the motion-flow
gem in the project's Gemfile
.
Code organization
Each Flow library is contained in subdirectories inside the flow
directory.
Platform-specific code is contained inside subdirectories of each library
(E.g. cocoa
and android
).
Documentation
The documentation is written separately in the doc.rb
file. If you work on a PR,
please modify this file accordingly.
Generate documentation
yard