background preloader

Javascript

Facebook Twitter

GitHub - milankinen/react-reactive-toolkit: React reactive programming toolkit without external dependencies. GitHub - milankinen/react-combinators: Seamless combination of React and reactive programming. Containers Are Dead. Long Live Observable Combinators. React-dom-stream/README.md at master · aickin/react-dom-stream. Plug and Play All Your Observable Streams With Cycle.js. The Inner Workings of Cycle.js The core of Cycle.js is incredibly small but highly efficient to meet the demand for modeling flow of data and dealing with the communication between the application and the outside world.

Plug and Play All Your Observable Streams With Cycle.js

With Cycle.js, your program is a closed world, but obviously, if nothing comes in or out of the program, it is useless. Cycle.js provides a simple and ingenious way to compose your program’s interaction with the outside world while maintaining a true separation of concerns. A Cycle.js program’s entry point is called main(). In this function, the program is enclosed. As noted above, if nothing can come in or out of the program, it is useless. Databases are dead, long live the immutable state atom! – Dominic's Site. As an app developer, I've always had a dislike of databases, and I've always had this feeling that the best thing would be to not have a database at all, and to just let the program memory be the database, since modifying program state is an order of magnitude simpler than having to do database queries/updates, and having to shuttle program state back and forth between the client program and the database.

Databases are dead, long live the immutable state atom! – Dominic's Site

Some Great Resources Unfortunately, I could never figure out how to solve the obvious problems with that simpler approach, until I recently found these four separate resources that illuminated the path for me: To my surprise, when I subsequently asked the question, "What database would I pair with a full-stack Redux application? ", I came to the conclusion: "We don't need databases any more, we can just use the Immutable.js state atom! ". Instant Loading Web Apps With An Application Shell Architecture — Google Developers. Instant Loading Web Apps With An Application Shell Architecture By Addy Osmani & Matt Gaunt Progressive Web Apps (PWAs) describe how a web app can progressively change with use and user consent to give the user a more native-app-like experience with offline support, push notifications and being installable to the home-screen.

Instant Loading Web Apps With An Application Shell Architecture — Google Developers

They can also gain substantial performance benefits thanks to intelligent service worker caching of your UI shell for repeat visits. Aurelia. Bacon.js blog: Bus of Doom. In a previous Bacon blog post a way to structure Bacon application was outlined.

Bacon.js blog: Bus of Doom

It introduces Buses as a central way to glue components with each other. I'm in a very strong disagreement with the proposed style. Why? Subjects are the "mutable variables" of the Rx world and in most cases you do not need them. In Bacon parlance that would be Buses are the "mutable variables" of the Bacon world and in most cases you do not need them. Bacon.js Bus and the bumpy road by Vesa Piittinen on CodePen. Last autumn at work we had a need to kickstart responsive version of our site.

Bacon.js Bus and the bumpy road by Vesa Piittinen on CodePen

Due to not having enough developers in our team to do that on our own, being busy with another essential requirement for the responsive website, we ended up hiring two consults to help develop the responsive site with a few additional members from other teams. This decision had it's good parts but it also had it's bad sides. We wanted a Node.js app developed in React.

Agamennon/redux-tiny-router. Mixins Are Dead. Long Live Composition. Mixins Are Dead.

Mixins Are Dead. Long Live Composition

Long Live Composition When React 0.13 came out, everybody freaked out.The introductory post made it clear that mixins are on their way out: Unfortunately, we will not launch any mixin support for ES6 classes in React. That would defeat the purpose of only using idiomatic JavaScript concepts. There is no standard and universal way to define mixins in JavaScript. One can read this as “mixins will come later” but the truth is that Sebastian Markbåge, the great API terminator, does not favor them: To be clear, mixins is an escape hatch to work around reusability limitations in the system.

Jlongster/transducers.js. Transducers.js Round 2 with Benchmarks. Transducers.js: A JavaScript Library for Transformation of Data. If you didn't grab a few cups of coffee for my last post, you're going to want to for this one.

Transducers.js: A JavaScript Library for Transformation of Data

While writing my last post about js-csp, a port of Clojure's core.async, they announced transducers which solves a key problem when working with transformation of data. The technique works particularly well with channels (exactly what js-csp uses), so I dug into it. What I discovered is mind-blowing. So I also ported it to JavaScript, and today I'm announcing transducers.js, a library to build transformations of data and apply it to any data type you could imagine.

Woha, what did I just say? The word transduce is just a combination of transform and reduce. Var arr = [1, 2, 3, 4]; arr.reduce(function(result, x) { result.push(x + 1); return result; }, []); The function passed to reduce is a reducing function. Function append(result, x) { result.push(x); return result; } transduce(map(x => x + 1), append, [], arr);

Planningcenter/react-patterns. Taming the Asynchronous Beast with CSP Channels in JavaScript. This is an entry in a series about rebuilding my custom blog with react, CSP, and other modern tech.

Taming the Asynchronous Beast with CSP Channels in JavaScript

Read more in the blog rebuild series. Every piece of software deals with complex control flow mechanisms like callbacks, promises, events, and streams. Some require simple asynchronous coordination, others processing of event or stream-based data, and many deal with both. Codrspace - A simpler web architecture using Flux, CSP, and FRP concepts by allenkim67. Flux has done a lot to simplify web development and this is mostly because it lets you think about your app in a more functional way.

Codrspace - A simpler web architecture using Flux, CSP, and FRP concepts by allenkim67

The key words you’ll hear are “unidirectional flow” which essentially means you have actions that modify your model data which updates your views: actions -> model -> view. But when you look at the various implementations of flux it’s not very functional at all. Typically what you see is that actions, models, and views are each some kind of stateful event object.

Each link in the chain has references to the previous link so that it can listen to it trigger an event. Full-Stack Redux Tutorial. Update 2016-02-24: Updated react-router to 2.0.0.

Full-Stack Redux Tutorial

In tests, replaced use of deprecated setProps() with ReactDOM.render(). Also now using the react-addons-test-utils package so that no imports of 'react/addons' are needed anywhere. Update 2015-11-06: Updated to the new Babel 6 release. The Babel packages we need to install are now a bit different, and an additional "babel" section is needed in the package.json in both projects. SurviveJS - Introduction. Front-end development moves forward fast. A good indication of this is the pace in which new technologies appear to the scene. Webpack and React are two recent newcomers. Combined, these tools allow you to build all sorts of web applications swiftly. Most importantly, learning these tools provides you perspective. Brian Troncone – Redux Middleware: Behind the Scenes. Redux is an exciting new JavaScript library by Dan Abramov designed to simplify state management in JavaScript applications.

Redux middleware is an important Redux feature providing a “third-party extension point between dispatching an action, and the moment it reaches the store”. Simply put, it let’s us jump in the middle of all dispatched Redux actions, providing anything from simple logging to exception handling to properly processing asynchronous actions. If a dispatched action is the starting line and the application store is the final destination, middleware is the traffic cop(s) along the path ensuring each action is properly vetted.

What about the official docs? Dan does an outstanding job in the official documentation explaining and exploring how Redux middleware reached it’s current state. The Goal The goal of this article is to further demystify Redux middleware, building upon the official Redux documentation. Vorlon.JS. A cartoon guide to Flux — Code Cartoons. Flux is both one of the most popular and one of the least understood topics in current web development. This guide is an attempt to explain it in a way everyone can understand. The problem First, I should explain the basic problem that Flux solves. Blog. React v0.14. We’re happy to announce the release of React 0.14 today!

This release has a few major changes, primarily designed to simplify the code you write every day and to better support environments like React Native. If you tried the release candidate, thank you – your support is invaluable and we've fixed a few bugs that you reported. Redux best practices — Lexical Labs Engineering. Mzabriskie/axios. Smart and Dumb Components. Container Components. Container Components. React and pushState: You're doing it wrong.

Gaearon/normalizr. Acdlite/flux-standard-action. Radium - A React Component Styling Library. Backend Apps with Webpack (Part I) FormatJS. Christianalfoni WebApp Enthusiast. So this little library Baobab continues to surprise me. The previous article I wrote on this used a strategy where you would lock up all your components, but have a dependency to the state tree of the application in each component that needed it. The individual components could point cursors into the state tree, allowing the component to extract state from the state tree and render itself whenever the cursor notified about a change. This optimized the rendering of React JS and gave a very good FLUX structure to your application. Node.js real time logging with Winston, Redis and Socket.io, p2. Following up on my last blog post Node.js real time logging with Winston, Redis and Socket.io, p1 I want to get into the integration of winston with Socekt.io to stream logs real time to a browser.

So just a quick recap, the idea here is to have a mechanism that logs messages categorized by different levels in the server and displays them at the same time in the browser, keeping the user informed at all times of the action in the back end, or helping a developer spot some bugs without the need to keep an eye on the terminal console or searching for log files buried in the server. Netflix JavaScript Talks - Async JavaScript with Reactive Extensions. DotJS 2012 - Brian Leroux - WTFJS. A Baseline for Front-End [JS] Developers: 2015. Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №152 (16 — 22 марта 2015) / Хабрахабр. Lukehoban/es6features. Serverside React Rendering: Isomorphic JavaScript with ReactJS + Node. Libscore. JayData home - JayData.

Размышления о стандартной библиотеке JavaScript. Core.js. The State Of Animation 2014. ECMAScript 6 compatibility table. Guybedford/require-css. Building a Chat App with node-webkit, Firebase, and AngularJS. Blog: Eventual Consistency in Real-time Web Apps. Callback Hell. Javascript loaders. DIY AngularJS SEO with PhantomJS. Msubra/jaadi.js. A List of Foundational JavaScript Tools. Callbacks are imperative, promises are functional: Node’s biggest missed opportunity. Source For Hebrew-Gregorian Calendar Conversion Sample Web Page. A re-introduction to JavaScript (JS Tutorial) - JavaScript. Conference 2013. Tiny Excel-like app in vanilla JS. TogetherJS.

Embedded JavaScript: Your Next Career Move.

Tools

Testing. Learn. Strict Mode. ChocolateChip-UI, Bootstrap Grid Builder, Bootstrap 3 Performance. Libs. Frameworks. Node JS.