JavaScript for Line of Business Applications
596.1K views | +0 today
Follow
JavaScript for Line of Business Applications
Keeping track of current JavaScript Frameworks that help design your clientside Business Logic Layers.
Curated by Jan Hesse
Beam to my Inbox:
Your new post is loading...
Your new post is loading...

Popular Tags - Filter using the Funnel

Current selected tag: 'RxJS'. Clear
Scoop.it!

An Introduction to Observables for Angular Developers

An Introduction to Observables for Angular Developers | JavaScript for Line of Business Applications | Scoop.it
Jen Looper explains what observables are, why they are necessary for asynchronous communication and how to use them in an Angular 2 application with RxJS.
No comment yet.
Scoop.it!

Reactive Framework - Build Asynchronous AJAX-Enabled Web Pages with Reactive Extensions

Reactive Framework - Build Asynchronous AJAX-Enabled Web Pages with Reactive Extensions | JavaScript for Line of Business Applications | Scoop.it

Rx provides a standard way to abstract a variety of scenarios and manipulate them using a fluent, LINQ-like interface that lets you compose applications from simpler building blocks. Rx lets you both integrate your UI events with back-end processing while, at the same time, keeping them separate—with Rx you can rewrite your UI without having to make corresponding changes to your back end (and vice versa).

RxJS also supports a clean separation between your HTML and your code, effectively giving you data binding without requiring special HTML markup. RxJS also builds on existing client-side technologies (jQuery, for example).

No comment yet.
Scoop.it!

Functional Reactive Programming for Angular 2 Developers — RxJs and Observables

Functional Reactive Programming for Angular 2 Developers — RxJs and Observables | JavaScript for Line of Business Applications | Scoop.it
In this post, we are going to go over the concept of Functional Reactive Programming from the point of view of an Angular 2 developer. Most of this is applicable for Angular 1 applications, but the examples in this post are in Angular 2.
No comment yet.
Scoop.it!

Build a Better Angular 2 Application with Redux and ngrx

Build a Better Angular 2 Application with Redux and ngrx | JavaScript for Line of Business Applications | Scoop.it

State management within Angular started out as a single celled organism if you will in the form of a single controller managing all the state for the application. If this is a single page application, one controller makes sense right? We emerged out of the ice age by starting to group our views and controllers into smaller, self-contained units either within a directive or a route. This was a vast improvement, but there was still the problem of managing complex state within our applications. It was not uncommon for us to have bits and pieces of state strewn across our application tucked inside of controllers, services, routes, directives, and occasionally, in our templates. Mutable state in itself is not inherently evil but shared mutable state is a recipe for disaster.

No comment yet.
Scoop.it!

Plug and Play All Your Observable Streams With Cycle.js

Plug and Play All Your Observable Streams With Cycle.js | JavaScript for Line of Business Applications | Scoop.it

Cycle.js is an extension of the RxJS library more than a framework (though it will probably fall into that category). RxJS is the JavaScript version ofReactiveX, an API for asynchronous programming with observable streams. While RxJS solves the part of composing asynchronous and event-based programs by using observable sequences, Cycle.js does a unique thing by looping data flow between your application and the outside world. We will go into the details how this works later, but this makes explicit data-flow graphs possible; i.e., reasoning of dependencies between operations. Neither Angular nor React (nor any other that I am aware of) does this. This unique feature of Cycle.js has the benefit of making it far more easy to read and understand large code bases.Cycle.js is an extension of the RxJS library more than a framework (though it will probably fall into that category). RxJS is the JavaScript version ofReactiveX, an API for asynchronous programming with observable streams. While RxJS solves the part of composing asynchronous and event-based programs by using observable sequences, Cycle.js does a unique thing by looping data flow between your application and the outside world. We will go into the details how this works later, but this makes explicit data-flow graphs possible; i.e., reasoning of dependencies between operations. Neither Angular nor React (nor any other that I am aware of) does this. This unique feature of Cycle.js has the benefit of making it far more easy to read and understand large code bases.

Hieu Vu's curator insight, November 8, 2015 6:14 PM

Has anyone used Cycle.js? would be interested to see what this has been used in.

Scoop.it!

Cycle.js

Cycle.js | JavaScript for Line of Business Applications | Scoop.it
A fully reactive JavaScript framework for Human-Computer Interaction

The building blocks in Cycle are Observables from RxJS, which simplify code related to events, asynchrony, and errors. Structuring the application with RxJS also separates concerns, because Observables decouple data production from data consumption.

Most frameworks claim to provide Separation of Concerns, but often they prescribe rigid containers where to place your code: Models, Views, Controllers, Components, Routes, Services, Dispatcher, Stores, Actions, Templates, etc. Cycle has none of that. Instead, pure functions over Observables and immutable data structures (such as from mori orImmutable.js) allow you to slice your program wherever you wish.

No comment yet.
Scoop.it!

Reactive ReactJS: improving data flow using reactive streams

Reactive ReactJS: improving data flow using reactive streams | JavaScript for Line of Business Applications | Scoop.it
Many people that use ReactJS as their renderer are using some kind of the
Flux architecture to store data, react to actions and notify components
about changes. After a University project involving Scala and RxJava, I wanted
to use these ideas together with ReactJS views. Besides that I found two things
missing in the Flux architecture:

composing different kinds of data easily
interaction with the server

Of course there are ways to solve this, but perhaps reactive streams can help
ease these shortcomings.
No comment yet.
Scoop.it!

Building Apps with PureScript and React

Building Apps with PureScript and React | JavaScript for Line of Business Applications | Scoop.it

Your customer is a company run by crazy squirrels.

Squirrelzon has seen huge success lately because of the adrenaline kicks their customers get during the shopping process. Every second the price for random products change their price. This could mean a raise by a certain amount, a percentual change or even bulk discounts.

All of your JQuery obsessed coworkers deemed the task impossible and you’re the last remaining hope.


To demonstrate the benefits that PureScript and functional reactive programming bring to the browser we’re going to consume the provided WebSocket update stream and build a resilient functional webfrontend for the little rodents.

No comment yet.
Scoop.it!

Reactive programming by example

Reactive programming by example | JavaScript for Line of Business Applications | Scoop.it

All the tutorials in the world cannot replace hands-on experience, so once you’re done reading about reactive programming, go ahead and try it for yourself. A decent way to do that is to pick a task you’re otherwise familiar with, and see what that looks like when you add streams into the mix. Below, I will guide you through the task I’ve chosen for myself, to see how Rx would fare in a simple but realistic scenario.

Suppose you want to create a search page on your shiny Web 2.0 site, with the relevant results magically appearing on the screen as soon as the user types anything.

No comment yet.
Scoop.it!

Kefir.js — fast and light Reactive Programming library for JavaScript inspired by Bacon.js and RxJS

Kefir.js — fast and light Reactive Programming library for JavaScript inspired by Bacon.js and RxJS | JavaScript for Line of Business Applications | Scoop.it

Kefir — is a Reactive Programming library for JavaScript inspired by Bacon.js and RxJS, with focus on high performance and low memory usage.

No comment yet.
Scoop.it!

Rethink Async With RXJS

This is an updated version of my "Add more fun to your functional programming with RXJS". It includes a bit more background information on Reactive programming.

Observables What to events and async functions have in common?

No comment yet.
Scoop.it!

Functional Reactive React.js

Functional Reactive React.js | JavaScript for Line of Business Applications | Scoop.it
A brief journey into reactive interfaces with FRP and React.js

In this post, I will discuss the way we approach building interfaces with reactive programming and React, and how it’s changed the way we think about writing effective code. The first half will cover how we use reactive programming — RxJS, more specifically — to compose our data sources, and the second will talk about feeding that data into React.

No comment yet.
Scoop.it!

The introduction to Reactive Programming you've been missing

So you're curious in learning this new thing called (Functional) Reactive Programming (FRP).

The hardest part of the learning journey is thinking in FRP. It's a lot about letting go of old imperative and stateful habits of typical programming, and forcing your brain to work in a different paradigm. I haven't found any guide on the internet in this aspect, and I think the world deserves a practical tutorial on how to think in FRP, so that you can get started. Library documentation can light your way after that. I hope this helps you.

No comment yet.
Scoop.it!

Angular 2 and Observables: Data Sharing in a Multi-View Application

Angular 2 and Observables: Data Sharing in a Multi-View Application | JavaScript for Line of Business Applications | Scoop.it
Learn the benefits Observables can provide when you are developing complex web applications.

While a Promise represents a value to be resolved in future, an Observable represents a stream of values throughout. An Observable may be completed, which means it won’t emit any further values. An Observer subscribes to these Observables. These Observers are essentially callbacks to emissions of the Observable. This paradigm supports asynchronous operations naturally. In our application, the Angular 2 components have functions which act as Observers, while the data-sharing service can act as an Observable.

No comment yet.
Scoop.it!

MobX - Simple, scalable state management

MobX - Simple, scalable state management | JavaScript for Line of Business Applications | Scoop.it

MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). The philosophy behind MobX is very simple:

Anything that can be derived from the application state, should be derived. Automatically.

which includes the UI, data serialization, server communication, etc.

MobX is inspired by reactive programming principles as found in spreadsheets. It is inspired by MVVM frameworks like in MeteorJS tracker, knockout and Vue.js. But MobX brings Transparent Functional Reactive Programming to the next level and provides a stand alone implementation. It implements TFRP in a glitch-free, synchronous, predictable and efficient manner.

No comment yet.
Scoop.it!

Containers Are Dead. Long Live Observable Combinators

Containers Are Dead. Long Live Observable Combinators | JavaScript for Line of Business Applications | Scoop.it

I really like Cycle.js. It is simple and declarative. But it has two caveats. First it has hard RxJs dependency and that is too much: if I select a rendering library then I don’t want it to constrain my state handling! Second, Cycle’s DOM event subscription system is not practical (regardless how functional and “reactive” it may be): the emitted data must be encoded into DOM (e.g. by using data attributes like data-id=”myId”). Just ugly.

Single source of Truth. And its problems
The state of your whole application is stored in an object tree inside a single store.

That is a direct quote from Redux website. The most of the current Flux libraries use combined reducer and this has locked the developers’ mindsets to the fact that the state should be like a mega sized “blob” which is passed to the “dummy” components via props. And there is always an explicit layer which separates the state handling and the UI: the top level “application container”. Perhaps you’ve seen this kind of lines in Redux apps...

No comment yet.
Scoop.it!

Introduction to Functional Reactive Programming with RxJS

Introduction to Functional Reactive Programming with RxJS | JavaScript for Line of Business Applications | Scoop.it
Curious about functional reactive programming? Florian Rappl explains the concepts, working through several examples using the RxJS library.
No comment yet.
Scoop.it!

WebRx - The Browser-based MVVM-Framework for ReactiveX-powered Single Page Applications

WebRx - The Browser-based MVVM-Framework for ReactiveX-powered Single Page Applications | JavaScript for Line of Business Applications | Scoop.it

WebRx is a browser-based MVVM-Framework that combines functional-reactive programming with declarative Data-Binding, Templating and Client-Side Routing.

The framework is written in Typescript and built on top of ReactiveX for Javascript (RxJs) which is a powerful set of libraries for processing and querying asynchronous data-streams that can originate from diverse sources such as Http-Requests, Input-Events, Timers and much more.

Dan Mendes's curator insight, September 1, 2015 4:03 AM

The reactive model continues to gain traction

Scoop.it!

RxJS - Javascript library for functional reactive programming.

RxJS - Javascript library for functional reactive programming. | JavaScript for Line of Business Applications | Scoop.it

One question you may ask yourself, is why RxJS? What about Promises? Promises are good for solving asynchronous operations such as querying a service with an XMLHttpRequest, where the expected behavior is one value and then completion. The Reactive Extensions for JavaScript unifies both the world of Promises, callbacks as well as evented data such as DOM Input, Web Workers, Web Sockets. Once we have unified these concepts, this enables rich composition.

To give you an idea about rich composition, we can create an autocompletion service which takes the user input from a text input and then query a service, making sure not to flood the service with calls for every key stroke, but instead allow to go at a more natural pace.

No comment yet.
Scoop.it!

Good bye Flux, welcome Bacon/Rx?

Good bye Flux, welcome Bacon/Rx? | JavaScript for Line of Business Applications | Scoop.it

Facebook introduced Flux about a year ago for client-side web application building and since then it has become one of the hottest tech in the web development scene.

The task of Flux is to isolate business logic from the user interface logic by using dispatcher, stores and actions. The core idea is the unidirectional data flow which means that actions are propagated through the entire system in response to user interactions but they have no binding to the internal data model.

As the name implies, Reactive programming is what React is made for. Actions happen eventually and they propagate through the event streams.Combination of those event streams forms the application’s state. After the event has propagated through the system, the new application state object is consumed by the subscriber and rendered by the root level React component. This makes the data flow dead simple.

No comment yet.
Scoop.it!

Visualizing Reactive Streams: Hot and Cold Observables

Visualizing Reactive Streams: Hot and Cold Observables | JavaScript for Line of Business Applications | Scoop.it

Reactive Programming is getting a lot of attention these days, and it promises to reduce frustration, bugs, and greenhouse gas emissions. Unfortunately, there’s a sizeable learning curve involved while you try and get your head to think in streams instead of imperative sequential processes.

One of the things that caught me by suprise is the difference between hotand cold observables, and how they interact with multiple observers.

In this article, I will:

All with lots of visuals. Enjoy!


No comment yet.
Scoop.it!

End to End Reactive Programming at Netflix with Async JavaScript

End to End Reactive Programming at Netflix with Async JavaScript | JavaScript for Line of Business Applications | Scoop.it
In this talk Jafar Husain and Matthew Podwysocki explore the Reactive Extensions (Rx) library which allows us to treat events as collections. You'll learn about how Netflix uses Rx on the client and the server, allowing us to build end-to-end reactive systems. The speakers also contrast Rx with Promises, another popular approach to building asynchronous programs in Javascript.
No comment yet.
Scoop.it!

rx-flux: The Flux architecture with RxJS

rx-flux: The Flux architecture with RxJS | JavaScript for Line of Business Applications | Scoop.it

The Flux architecture allows you to think your application as an unidirectional flow of data, this module aims to facilitate the use of RxJS Observable as basis for defining the relations between the different entities composing your application.

No comment yet.
Scoop.it!

gtor - A General Theory of Reactivity

gtor - A General Theory of Reactivity | JavaScript for Line of Business Applications | Scoop.it

In the context of a computer program, reactivity is the process of receiving external stimuli and propagating events. This is a rather broad definition that covers a wide variety of topics. The term is usually reserved for systems that respond in turns to sensors, schedules, and above all, problems that exist between the chair and keyboard.

The field of reactivity is carved into plots ranging from "reactive programming" to the subltly distinct "functional reactive programming", with acrage set aside for "self adjusting computation" and with neighbors like "bindings" and "operational transforms". Adherents favor everything from "continuation passing style" to "promises", or the related concepts of "deferreds" and "futures". Other problems lend themselves to "observables", "signals", or "behaviors", and everyone agrees that "streams" are a good idea, but "publishers" and "subscribers" are distinct.

No comment yet.
Scoop.it!

Reactive MVC and the Virtual DOM

Reactive MVC and the Virtual DOM | JavaScript for Line of Business Applications | Scoop.it

React turned out to disappoint me in multiple ways, mainly through a poorly designed API which induces the programmer to createcomplex state machines and to mix multiple concerns in one component. I decided to replace React with the great virtual-dom library, and to build a Reactive MVC alternative heavily based on RxJS. This pattern turned out to be successful and I applied it to other web apps. One of these is a customer project we are glad to say has worked out very well.

The combo React/Flux is clearly inspired by Reactive Programming principles, but the API and architecture are an unjustified mix of Interactive and Reactive patterns. Keep reading and I'll explain what this means, and how we can do better.

No comment yet.