All Projects → freenowtech → Sensor

freenowtech / Sensor

Licence: Apache-2.0 license
A fresh look at iOS development

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Sensor

Rxcombine
Bi-directional type bridging between RxSwift and Apple's Combine framework
Stars: ✭ 741 (+1902.7%)
Mutual labels:  reactive, rxswift
Rxasdatasources
RxDataSource for AsyncDisplayKit/Texture
Stars: ✭ 114 (+208.11%)
Mutual labels:  reactive, rxswift
Rxrealm
RxSwift extension for RealmSwift's types
Stars: ✭ 1,007 (+2621.62%)
Mutual labels:  reactive, rxswift
Cycle.swift
An experiment in unidirectional architecture inspired by Cycle.js. https://cycle.js.org
Stars: ✭ 24 (-35.14%)
Mutual labels:  reactive, rxswift
Rxgrdb
Reactive extensions for SQLite
Stars: ✭ 176 (+375.68%)
Mutual labels:  reactive, rxswift
mvcvm-swift-file-templates
Swift file templates for boosting mobile app development.
Stars: ✭ 16 (-56.76%)
Mutual labels:  reactive, rxswift
Rxswift To Combine Cheatsheet
RxSwift to Apple’s Combine Cheat Sheet
Stars: ✭ 1,040 (+2710.81%)
Mutual labels:  reactive, rxswift
Rxiglistkit
RxSwift wrapper for IGListKit
Stars: ✭ 44 (+18.92%)
Mutual labels:  reactive, rxswift
Rxiglistkit
IGListKit with RxSwift🚀
Stars: ✭ 174 (+370.27%)
Mutual labels:  reactive, rxswift
Reduxmoviedb
🎥 See the upcoming movies! ReSwift + RxSwift 💖 Hacktoberfest 🎃
Stars: ✭ 137 (+270.27%)
Mutual labels:  reactive, rxswift
Mp3ID3Tagger
🎶🎵A macOS application to edit the ID3 tag of your mp3 files. Developed with RxSwift and RxCocoa. 🎸🎼
Stars: ✭ 17 (-54.05%)
Mutual labels:  reactive, rxswift
Recaptcha
[In]visible ReCaptcha v2 for iOS
Stars: ✭ 208 (+462.16%)
Mutual labels:  reactive, rxswift
SwiftObserver
Elegant Reactive Primitives for Clean Swift Architecture #NoRx
Stars: ✭ 14 (-62.16%)
Mutual labels:  reactive, rxswift
Rxswift
Reactive Programming in Swift
Stars: ✭ 21,163 (+57097.3%)
Mutual labels:  reactive, rxswift
TVToday
iOS TV Shows app with TMDb Api. RxSwift, MVVM, Clean Architecture. Tuist + Swift Package Manager
Stars: ✭ 27 (-27.03%)
Mutual labels:  rxswift, swift-package-manager
Easyreact
Are you confused by the functors, applicatives, and monads in RxSwift and ReactiveCocoa? It doesn't matter, the concepts are so complicated that not many developers actually use them in normal projects. Is there an easy-to-use way to use reactive programming? EasyReact is born for this reason.
Stars: ✭ 1,616 (+4267.57%)
Mutual labels:  reactive, rxswift
Reactorkit
A library for reactive and unidirectional Swift applications
Stars: ✭ 2,237 (+5945.95%)
Mutual labels:  reactive, rxswift
ReactiveAPI
Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit.
Stars: ✭ 79 (+113.51%)
Mutual labels:  reactive, rxswift
owlet
Typed Spreadsheet UI library for ScalaJS
Stars: ✭ 40 (+8.11%)
Mutual labels:  reactive
MMActionSheet
An actionSheet view implement with pure swift
Stars: ✭ 25 (-32.43%)
Mutual labels:  swift-package-manager

Sensor

Sensor

Swift 5 Cocoapods compatible Swift Package Manager compatible

Nowadays, mobile applications become increasingly powerful and complex, rich of features that try to improve the user's experience. But power is nothing without control: the more powerful (and complex) the app is, the highest the chance it can end up in an inconsistent state.

The good news is our Sensor Architecture: an elegant and a good way to organise your code when working with complex applications. With the ability to define all the possible states, of each feature of a mobile application, the chances to end up in an inconsistent state are most unlikely. Thanks to the concept of the State Machine and its deterministic behaviour, we can be sure that all the transitions from a state to another state are regulated by a finite set of events that can happen.

The Sensor framework comes with batteries included so you can start writing safe apps straight away.

The SensorTest framework includes some goodies to help you write unit tests in a breeze.

Learn more

Read the docs

Video with a presentation of this architecture

Presentation used on the video

How to contribute to Sensor

Setup

Cocoapods

To use the Sensor framework, add the following line to the target of your app on your Podfile:

pod 'Sensor', '0.1.1'

In your app, add the following import:

import Sensor

To use the SensorTest framework, add the following line to the test target on your Podfile:

pod 'SensorTest', '0.1.1'

In your tests, add the following import:

import SensorTest

Swift Package Manager

Add the following line to your package dependencies:

.package(url: "https://github.com/freenowtech/Sensor.git", from: "0.1.1"),

Add Sensor to your main target dependencies. Add SensorTest to your test target dependencies.

The minimum macOS version is 10.13.

Example Package.swift file:

// swift-tools-version:5.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "Package",
    platforms: [
       .macOS(.v10_13),
    ],
    dependencies: [
        .package(url: "https://github.com/freenowtech/Sensor.git", from: "0.1.1"),
    ],
    targets: [
        .target(
            name: "Target",
            dependencies: ["Sensor"]),
        .testTarget(
            name: "TestTarget",
            dependencies: ["Target", "SensorTest"]),
    ]
)

Contributors

  • Stefan Bieschewski
  • David Cortés
  • Fabio Cuomo
  • Mounir Dellagi
  • Lluís Gómez
  • Carlos Nuñez
  • Ferran Pujol
  • Adrian Zdanowicz

Project milestones:

  • David Cortés & Stefan Bieschewski
    • First version of a reactive state management without feedback loop.
  • Stefan Bieschewski
    • First version of Driver+Reducible using RxFeedback.
  • Mounir Dellagi
    • First example using Sensor with a login app.
  • Stefan Bieschewski
    • Added Context and TriggerableEffects as enums to make the reducer testable.
  • Lluís Gómez
    • Preparing examples with a real app feature.
  • David Cortés
    • Make SensorTest show a diff for unequal values.
  • Ferran Pujol
    • SensorTest improvements and Sensor unit tests.
  • Ferran Pujol
    • Add unique ID to effects so they can be triggered more than once.
  • Ferran Pujol
    • Sensor DSL & Sensor 0.2.0 changes.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].