サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
夏の料理
staltz.com
Open source is coming for your business. It is just a matter of time before there exists a compelling open source alternative to your software. It won’t happen overnight, it will start out as a poor alternative, but slowly growing to become the robust and cheap (in fact, free!) solution that everyone uses. In this blog post, I’ll prove this to you with data. I present a measurement I call “Time Ti
André Staltz The Web began dying in 2014, here's how 30 Oct 2017 Before the year 2014, there were many people using Google, Facebook, and Amazon. Today, there are still many people using services from those three tech giants (respectively, GOOG, FB, AMZN). Not much has changed, and quite literally the user interface and features on those sites has remained mostly untouched. However, the underlying
Scuttlebutt is slang for gossip, particularly among sailors. It is also the name of a peer-to-peer system ideal for social graphs, identity and messaging. Scuttlebutt was created by Dominic Tarr, a Node.js developer with more than 600 modules published on npm, who lives on a self-steering sailboat in New Zealand. Dominic is often offline, but he’s still able to use a social network to communicate
André Staltz Is your JavaScript function actually pure? 25 Aug 2016 What does “pure function” mean in the context of JavaScript? In programming in general, purity is also known as “referential transparency”, a fancy way of saying “replacing an expression or function call with its result will never change the behavior of the program” or a way of saying “every time you pass the same inputs, you alwa
Yesterday I finished migrating Cycle.js to a monorepo. It was previously split up into multiple repositories, one for each package. I recommend a monorepo over separate repos if you have many packages that are under one project. Managing multiple repos isn’t that fun. Multiple repos means multiple places to manage issues, manage issue labels (and making them consistent across repos), manage PRs, g
For the past two years I have been using RxJS extensively, in Cycle.js and in other contexts. Recently, TylorS and I have decided to build a new reactive streams library comparable to RxJS, called xstream. TL;DR: we needed a reactive stream library tailored for Cycle.js. It needs to be “hot” only, so users don’t need to think about subscription semantics hidden in drivers. It should have only a fe
_ __ _____| |_ _ __ ___ __ _ _ __ ___ \ \/ / __| __| '__/ _ \/ _` | '_ ` _ \ > <\__ \ |_| | | __/ (_| | | | | | | /_/\_\___/\__|_| \___|\__,_|_| |_| |_| GitHub repository An extremely intuitive, small, and fast functional reactive stream library for JavaScript Only 26 core operators and factories Written in TypeScript Approximately 30 kB in size, without minification or gzip On average, faster tha
André Staltz All JS libraries should be authored in TypeScript 16 Mar 2016 I am a JavaScript programmer, and I make some libraries. Recently, however, I’ve been writing TypeScript for RxJS version 5 (used in Angular 2 which is also authored in TypeScript), and I’m in the process of rewriting Cycle.js in TypeScript. Typed vs dynamic is a rather controversial topic, so I’m not trying to spark that d
About two years ago I first tried React in a real application. As I started using it extensively in that application, I found it unwieldy and unnecessarily complicated. After that I decided to build my own solutions using RxJS and virtual-dom and after a year or so I created a framework called Cycle.js. Today after two years, I needed to write a large application using React and Redux, because I w
A common question from beginners learning RxJS is “how do I debug this?”. The short answer is: you have to depend mostly on drawing diagrams on paper and adding .do(x => console.log(x)) after operators, but it will get a lot better with the arrival of RxJS 5. Now starts the long answer. Once you have Observables everywhere and RxJS is taking over control flow, the traditional debugger stops being
Once in a while someone points out how ReactiveX (Rx) does not have means to avoid glitches. [1] [2] Glitches are temporary inconsistencies emitted by Observables. Consider this example: --a------b------c------d--------e-------- --1-------------2---------------3-------- combineLatest --a1-----b1-----(c1c2)-d2-------(e2e3)--- Events in parentheses happen “simultaneously”. In practice they happen at
What is it that makes React so innovative and compelling? What is so revolutionary in React and Flux? Is it JSX that makes React unique? Is it components? Perhaps Flux with its Dispatcher, Stores, and Actions? Or is it something else? JSX? When React was released, a lot of people focused their attention on JSX. JSX allows developers to write “HTML” primitives directly inside JavaScript, without es
This post is a non-exhaustive quick overview of the so-called “unidirectional data flow” architectures. Not meant to be taken as a beginner tutorial, but rather as an overview of their differences and peculiarities. At the end, I’ll introduce a new architecture which deviates significantly from the others. This post assumes client-side Web UI frameworks only. TERMINOLOGY It would be confusing to t
Don't ReactAndre Medeiros @andrestaltz Why this presentation? There is a reason why some technologies die Grunt, anyone? `virtual-dom` Pioneers make mistakes Highly unlikely that the Virtual DOM pioneer is perfect Underscore => Lodash React authors do not seem to understand Reactive Programming "Reactive Data Flow" => WRONG "Reactive state" => WRONG What is Reactive? Reactive Programming is an En
ReactiveX: Duality turns your mind upside downModel-View-Intent and the Virtual DOM. Andre Medeiros. October / 2014 Used React for RxMarbles.com Just the 'View' in MVC. Not really. React components Have state (Model) Handle inputs to change state (Controller) Render JSX templates (Presentation) Contain lifecycle hooks for external purposes Are opinionated on where should state live A MESS Don't ,
このページを最初にブックマークしてみませんか?
『André Staltz』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く