flow - Name UI states, navigate between them, remember where you've been.

  •        86

Flow gives names to your Activity's UI states, navigates between them, and remembers where it's been. Navigate between UI states. Support the back button easily without confusing your users with surprising results. Remember the UI state, and its history, as you navigate and across configuration changes and process death. Manage resources with set-up/tear-down hooks invoked for each UI state. UI states can easily share resources, and they'll be disposed when no longer needed.




Related Projects

simple-stack - [ACTIVE] Simple Stack, a backstack library for simpler navigation between views, fragments, or whatevers

  •    Java

Similarly to square/flow, Simple Stack allows you to represent your application state in a list of immutable data classes. The library also allows easy backstack persisting through a delegate class, which handles configuration changes and process death.

MobX - Simple, scalable state management.

  •    Javascript

MobX is a battle tested, simple and scalable state management library transparently applying functional reactive programming (TFRP). The Mobx design principle is very simple: Anything that can be derived from the application state, should be derived. Automatically. This includes the UI, data serialization, server communication, etc.

Apache Beehive - Simple object model on J2EE and Struts

  •    Java

Beehive makes J2EE programming easier by building a simple object model on J2EE and Struts

effector - The state manager ☄️

  •    Javascript

Effector is an effective multi store state manager for Javascript apps (React/React Native/Vue/Node.js), that allows you to manage data in complex applications without the risk of inflating the monolithic central store, with clear control flow, good type support and high capacity API. Effector supports both TypeScript and Flow type annotations out of the box.

GoJS - JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages

  •    Javascript

GoJS is a JavaScript and TypeScript library for creating and manipulating diagrams, charts, and graphs. GoJS is a flexible library that can be used to create a number of different kinds of interactive diagrams, including data visualizations, drawing tools, and graph editors. There are samples for flowchart, org chart, business process BPMN, swimlanes, timelines, state charts, kanban, network, mindmap, sankey, family trees and genogram charts, fishbone diagrams, floor plans, UML, decision trees, pert charts, Gantt, and hundreds more. GoJS includes a number of built in layouts including tree layout, force directed, radial, and layered digraph layout, and a number of custom layout examples.

functional-frontend-architecture - A functional frontend framework.

  •    Javascript

This repository is meant to document and explore the implementation of what is known as "the Elm architecture". A simple functional architecture for building frontend applications. The entire state is contained in a single data structure. Things can happen and the state should change accordingly. The number of things that can happen is described as a set of actions. Actions flow unidirectionally down the application. Actions are handled by pure update functions. Such a function takes an action and a state and returns a new state. The state is handed to a view function that returns a virtual DOM representation. A module is an encapsulated set of actions, an update function and a view function. Modules can be nested inside other modules and modules can contain other modules. This makes the architecture nestable and modular.

spring-webflow - Spring Web Flow

  •    Java

Spring Web Flow facilitates building web applications that require guided navigation -- e.g. a shopping cart, flight check-in, a loan application, and many others. In contrast to stateless, free-form navigation such use cases have a clear start and end point, one or more screens to go through in a specific order, and a set of changes that are not finalized to the end.A distinguishing feature is the ability to define a flow definition consisting of states, transitions, and data. For example, view states correspond to the individual screens of the flow while transitions are caused by events resulting from the click of a button or a link. Data may be stored in scopes such as flash, view, flow, and others. Scoped data is cleared when it is no longer in scope.

MonadEx - Upgrade your pipelines with monads.

  •    Elixir

MonadEx introduces monads into Elixir. Monads encapsulate state and control the flow of code. A monad's bind operation is similar, but more powerful, than Elixir's built-in pipelines. Monads may be combined to make even more useful constructs. For example, you may want to use a state monad in combination with a result monad. The state monad can track a shared environment and the result monad can keep track of the success or failure state.

swift-composable-navigator - An open source library for building deep-linkable SwiftUI applications with composition, testing and ergonomics in mind

  •    Swift

A typical, vanilla SwiftUI application manages its navigation state (i.e. is a sheet or a push active) either directly in its Views or in ObservableObjects. As isSheetActive and isDetailShown are kept locally in the View and their values are directly mutated by a binding, we cannot test any navigation logic unless we write UI tests or implement custom bindings that call functions in an ObservableObject mutating the navigation state.

glb-director - GitHub Load Balancer Director and supporting tooling.

  •    C

The GitHub Load Balancer (GLB) Director is a set of components that provide a scalable set of stateless Layer 4 load balancer servers capable of line rate packet processing in bare metal datacenter environments, and is used in production to serve all traffic from GitHub's datacenters. GLB Director is designed to be used in datacenter environments where multiple servers can announce the same IP address via BGP and have network routers shard traffic amongst those servers using ECMP routing. While ECMP shards connections per-flow using consistent hashing, addition or removal of nodes will generally cause some disruption to traffic as state isn't stored for each flow. A split L4/L7 design is typically used to allow the L4 servers to redistribute these flows back to a consistent server in a flow-aware manner. GLB Director implements the L4 (director) tier of a split L4/L7 load balancer design.

Managed UI Flow for ASP.NET MVC Framework


If your web application getting more complex, understanding and managing of complex UI flows(pageflow of application) getting harder and harder, If you are spending too much time developing your own approaches to generic problems like state management, Start Managed--->UIFlow now

swift-composable-architecture - A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind

  •    Swift

The Composable Architecture (TCA, for short) is a library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind. It can be used in SwiftUI, UIKit, and more, and on any Apple platform (iOS, macOS, tvOS, and watchOS). State management How to manage the state of your application using simple value types, and share state across many screens so that mutations in one screen can be immediately observed in another screen.

ui-router - The de-facto solution to flexible routing with nested views in AngularJS

  •    TypeScript

Angular UI-Router is a client-side Single Page Application routing framework for AngularJS.Routing frameworks for SPAs update the browser's URL as the user navigates through the app. Conversely, this allows changes to the browser's URL to drive navigation through the app, thus allowing the user to create a bookmark to a location deep within the SPA.

react - 🔼 UI-Router for React

  •    TypeScript

UI-Router provides extremely flexible, state based routing to the React ecosystem. Routing frameworks for SPAs update the browser's URL as the user navigates through the app. Conversely, this allows changes to the browser's URL to drive navigation through the app, thus allowing the user to create a bookmark to a location deep within the SPA.

RxFlow - RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern

  •    Swift

RxFlow is a navigation framework for iOS applications based on a Flow Coordinator pattern. This README is a short story of the whole conception process that led me to this framework.

SPPermissions - Ask permissions on Swift

  •    Swift

SPPermissions is a library to improve the user flow when asking permissions. You can also check state of permissions, available are: .authorized, .denied & .notDetermined. The library has three ready-use controllers: list, dialog & native. Supports iPad, dark mode, and localizations. To get going with using the library, see Quick Start.


  •    Javascript

Flow.js is a JavaScript library providing multiple simultaneous, stable and resumable uploads via the HTML5 File API.The library is designed to introduce fault-tolerance into the upload of large files through HTTP. This is done by splitting each file into small chunks. Then, whenever the upload of a chunk fails, uploading is retried until the procedure completes. This allows uploads to automatically resume uploading after a network connection is lost either locally or to the server. Additionally, it allows for users to pause, resume and even recover uploads without losing state because only the currently uploading chunks will be aborted, not the entire upload.

jobrunner - Framework for performing work asynchronously, outside of the request flow

  •    Go

JobRunner is framework for performing work asynchronously, outside of the request flow. It comes with cron to schedule and queue job functions for processing at specified time.It includes a live monitoring of current schedule and state of active jobs that can be outputed as JSON or Html template.

famous-flex - Animatable layouts, FlexScrollView & widgets for famo.us.

  •    Javascript

Animatable layouts, FlexScrollView & widgets for famo.us. Above anything, famous-flex is a concept in which renderables are seperated from how they are layed-out. This makes it possible to change layouts on the fly and animate the renderables from one layout to another. For instance, you can layout a collection of renderables using a CollectionLayout, and change that into a ListLayout. When using flow-mode the renderables will smoothly transition from the old state to the new state using physics, particles and springs.

StatefulViewController - Placeholder views based on content, loading, error or empty states

  •    Swift

A protocol to enable UIViewControllers or UIViews to present placeholder views based on content, loading, error or empty states. As trivial as this flow may sound, there are a lot of cases that result in a rather large decision tree.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.