Git Product home page Git Product logo

pilot's Introduction

Pilot: Cross-platform MVVM in Swift

If you squint, any modern client application can viewed as a "scrollable list of stuff from the internet". Whether it's a scrollable list of food, photos, videos, merchandise, cats, or cat merchandise -- all applications share common scaffolding.

Pilot provides a suite of robust components to take care of this common scaffolding so you can focus on what matters: your data (Model), business logic (ViewModel), and presentation (View).

These components are not overly-prescriptive to any particular application architecture, so you can adopt them without having to rewrite or commit to Pilot forever.

Component Libraries

Pilot is modularized into components providing building blocks for fast and safe application development (see flight plan for upcoming components).

  • Pilot: Provides a core MVVM stack, various model collections, diff engine, action handling, along with some minimal async, observable, and logging components. This is a Foundation-only framework (i.e. No UIKit or AppKit)
  • PilotUI: UI layer components built atop Pilot for both Mac and iOS. Contains collection view bindings and other macOS/iOS extensions for Pilot development.

Usage

See the Getting Started guide for a basic walkthrough of core concepts.

There is a Sample Project which demonstrates macOS app and iOS app built from the same Pilot MVVM stack.

Otherwise, please see type documentation and let us know if anything is unclear.

Requirements

  • Xcode 8.2
  • Swift 3.0
  • iOS 9.0+ / macOS 10.11+

Installation

Travis CI

Xcode

  • Drag Pilot.xcodeproj into Project Navigator
  • Go to Project > Targets > General > Embed Frameworks, click +, and select Pilot [Platform] and PilotUI [platform] targets.
  • In Project > Targets > Build Phases > Target Dependencies, ensure Pilot [Platform] and ``PilotUI [Platform]` are there.

License

Apache 2.0

pilot's People

Contributors

danielrhammond avatar wkiefer avatar aron avatar aeidelson avatar bogo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.