All Projects → square → Workflow Kotlin

square / Workflow Kotlin

Licence: apache-2.0
A Swift and Kotlin library for making composable state machines, and UIs driven by those state machines.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Workflow Kotlin

Workflow Swift
A Swift and Kotlin library for making composable state machines, and UIs driven by those state machines.
Stars: ✭ 92 (-63.92%)
Mutual labels:  reactive, state-machine, workflow
Workflow
A Swift and Kotlin library for making composable state machines, and UIs driven by those state machines.
Stars: ✭ 860 (+237.25%)
Mutual labels:  reactive, state-machine, workflow
River Admin
🚀 A shiny admin interface for django-river built with DRF, Vue & Vuetify
Stars: ✭ 55 (-78.43%)
Mutual labels:  state-machine, workflow
Workflowserver
Workflow Server is a ready-to-use Workflow Engine-based application that you can deploy into your infrastructure. It can be integrated with NodeJS, PHP, Ruby, .NET, or Java applications via a REST API. Workflow Server is a key component for managing the lifecycle of business objects within your enterprise.
Stars: ✭ 124 (-51.37%)
Mutual labels:  state-machine, workflow
Beedle
A tiny library inspired by Redux & Vuex to help you manage state in your JavaScript apps
Stars: ✭ 329 (+29.02%)
Mutual labels:  reactive, state-machine
Pvm
Build workflows, activities, BPMN like processes, or state machines with PVM.
Stars: ✭ 348 (+36.47%)
Mutual labels:  state-machine, workflow
Perl Workflow
Simple, flexible system to implement workflows
Stars: ✭ 10 (-96.08%)
Mutual labels:  state-machine, workflow
Xstate
State machines and statecharts for the modern web.
Stars: ✭ 18,300 (+7076.47%)
Mutual labels:  state-machine, workflow
Django River
Django workflow library that supports on the fly changes ⛵
Stars: ✭ 609 (+138.82%)
Mutual labels:  state-machine, workflow
Jdonframework
Domain-Driven-Design Pub/Sub Domain-Events framework
Stars: ✭ 978 (+283.53%)
Mutual labels:  reactive, workflow
State Machine
🤖 A state machine library for Kotlin, with extensions for Android.
Stars: ✭ 72 (-71.76%)
Mutual labels:  reactive, state-machine
Diagram Maker
A library to display an interactive editor for any graph-like data.
Stars: ✭ 2,086 (+718.04%)
Mutual labels:  state-machine, workflow
xstate-viz
Visualizer for XState machines
Stars: ✭ 274 (+7.45%)
Mutual labels:  workflow, state-machine
statechart
A rust implementation of statecharts: hierarchical, reactive state machines
Stars: ✭ 41 (-83.92%)
Mutual labels:  reactive, state-machine
esm
Lightweight communicating state machine framework for embedded systems
Stars: ✭ 21 (-91.76%)
Mutual labels:  reactive, state-machine
YokosukaJS
A functional programming-style beat-em-up game engine written in javascript
Stars: ✭ 18 (-92.94%)
Mutual labels:  state-machine
sapporo
A standard implementation conforming to the Global Alliance for Genomics and Health (GA4GH) Workflow Execution Service (WES) API specification and a web application for managing and executing those WES services.
Stars: ✭ 17 (-93.33%)
Mutual labels:  workflow
state-workflow
State Workflow Management Package For Laravel. Inspired by ROAM Horizon State Management Package.
Stars: ✭ 29 (-88.63%)
Mutual labels:  workflow
prosto
Prosto is a data processing toolkit radically changing how data is processed by heavily relying on functions and operations with functions - an alternative to map-reduce and join-groupby
Stars: ✭ 54 (-78.82%)
Mutual labels:  workflow
cli-property-manager
Use this Property Manager CLI to automate Akamai property changes and deployments across many environments.
Stars: ✭ 22 (-91.37%)
Mutual labels:  workflow

workflow

Kotlin CI Maven Central GitHub license Kotlinlang slack

A unidirectional data flow library for Kotlin and Swift, emphasizing:

  • Strong support for state-machine driven UI and navigation.
  • Composition and scaling.
  • Effortless separation of business and UI concerns.

This project is currently in development and the API subject to breaking changes without notice. Follow Square's engineering blog, The Corner, to see when this project becomes stable.

While the API is not yet stable, this code is in heavy production use in Android and iOS apps with millions of users.

<iframe title="vimeo-player" src="https://player.vimeo.com/video/362741019" width="640" height="360" frameborder="0" allowfullscreen></iframe>

Using Workflows in your project

Maven Artifacts

Artifacts are hosted on Maven Central. If you're using Gradle, ensure mavenCentral() appears in your repositories block, and then add dependencies on the following artifacts:

Maven Coordinates Depend on this if…
com.squareup.workflow1:workflow-core-jvm:x.y.z You are writing a library module/project that uses Workflows, but you don't need to interact with the runtime from the outside.
com.squareup.workflow1:workflow-rx2:x.y.z You need to interact with RxJava2 from your Workflows.
com.squareup.workflow1:workflow-testing-jvm:x.y.z You are writing tests. This should only be included as a test dependency.
com.squareup.workflow1:workflow-ui-core-android:x.y.z You're writing an Android app that uses Workflows.
com.squareup.workflow1:workflow-ui-modal-android:x.y.z Your Android app uses modals (popups).
com.squareup.workflow1:workflow-ui-backstack-android:x.y.z Your android app uses backstacks.

Lower-level Artifacts

Most code shouldn't need to depend on these directly. They should generally only be used to build higher-level integrations with UI frameworks.

Maven Coordinates Depend on this if…
com.squareup.workflow1:workflow-runtime-jvm:x.y.z You need to interact directly with the runtime, i.e. streams of renderings and outputs.
com.squareup.workflow1:workflow-ui-core-jvm:x.y.z You are writing workflow-ui-android for another UI framework. Defines the core types used by that artifact.

Jetpack Compose support

Jetpack Compose is the new (under-development, pre-release) UI toolkit for Android. It is comparable to SwiftUI for iOS. The main UI artifacts in this repository support standard Android Views, but various types of Compose integrations are provided under the compose folder. You'll find workflow + compose info and documentation there.

Resources

Support & Contact

Workflow maintainers hang out in the #squarelibraries channel on the Kotlin Slack.

Releasing and Deploying

See RELEASING.md.

License

Copyright 2019 Square Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
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].