background preloader

Structure Flow

Facebook Twitter

Mobxjs/mobx: Simple, scalable state management. Timjacobi/angular2-education. GitHub - omcljs/om: ClojureScript interface to Facebook's React. JSVerify — property based testing for JavaScript. Like QuickCheck. JSVerify JSVerify is a property-based testing library, highly inspired by QuickCheck.

JSVerify — property based testing for JavaScript. Like QuickCheck.

It is testing framework agnostic, you could use JSVerify with Mocha, nodeunit, Jasmine or any other framework. Property based testing Write properties about your function that should hold true for all inputs, instead of enumerating expected inputs and outputs. Tests written this way are concise and powerful. Property-based tests make statements about the output of your code based on the input, and these statements are verified for many different possible inputs. [1] Property-based testing encourages a high level approach to testing in the form of abstract invariants functions should satisfy universally, with the actual test data generated for the programmer by the testing library.

Getting Started Install the module from npm registry with: npm install jsverify Clone the source from GitHub and contribute! Examples Boolean to Boolean function applied thrice Sort is idempontent Promises Minimal counterexamples. Reagent: Minimalistic React for ClojureScript. GitHub - stampit-org/stampit: OOP is better with stamps: Composable object factories. Introducing the Webix Framework. Nowadays there are a lot of frameworks, everyone with something unique.

Introducing the Webix Framework

We have AngularJS, Ember, and Aurelia.io. On SitePoint we have covered these frameworks in many occasions: Creating a Next Gen JavaScript Application with Aurelia, Building a Twitter App Using AngularJS, and Add Twitter Authentication to an Ember.js App with Torii. In this article, I want to cover the Webix framework. To show how it works I’ll guide you through the creation of an online audio player model. Keep in mind that it’s just a model, so there is no playback. Introducing Webix Webix is a JavaScript and HTML5 framework for developing cross-platform data-rich web applications with responsive user interfaces. Developing the Project Now that you know what Webix is, let’s start developing our project.

Starting the Engine After you’ve downloaded the library, crate an index.html page. Alternatively, you can include them using the Webix CDN: My suggestion is to include the full library. So far, so good. Not a Number? Victor Savkin. GitHub - torokmark/design_patterns_in_typescript: Design pattern implementations in TypeScript. Learning JavaScript Design Patterns. Design patterns are reusable solutions to commonly occurring problems in software design.

Learning JavaScript Design Patterns

They are both exciting and a fascinating topic to explore in any programming language. One reason for this is that they help us build upon the combined experience of many developers that came before us and ensure we structure our code in an optimized way, meeting the needs of problems we're attempting to solve. Design patterns also provide us a common vocabulary to describe solutions. This can be significantly simpler than describing syntax and semantics when we're attempting to convey a way of structuring a solution in code form to others. In this book we will explore applying both classical and modern design patterns to the JavaScript programming language. Target Audience This book is targeted at professional developers wishing to improve their knowledge of design patterns and how they can be applied to the JavaScript programming language.

Acknowledgments Credits Reading. Yes, I Used jQuery in My Angular2 Application - Wintellect DevCenterWintellect DevCenter. An astute observer has probably noticed that I’m using jQuery in my Angular2 example application.

Yes, I Used jQuery in My Angular2 Application - Wintellect DevCenterWintellect DevCenter

“The horror! Revoke his Angular2 license now!!” I’m in no way saying this is a best practice or even a good practice. Including jQuery is not required or even desirable for most Angular2 applications. Angular1 had a dependency on jQuery or its own jQuery-lite version, but for Angular2 this is no longer the case. jQuery will also cause problems for other scenarios, like pre-rendering the Angular2 application on the server or in a web worker, because jQuery components are expecting to work with the physical DOM. But using jQuery was practical for this situation and gives me the chance to demonstrate how Angular2 can interoperate with existing web technologies.

There’s been much discussion about creating general purpose user interface components (commonly called “widgets”). Most of the Angular applications that I’ve written have had the need for some complex UI components. Minko Gechev's blog. Understanding Zones. At NG-Conf 2014, Brian gave an excellent talk on zones and how they can change the way we deal with asynchronous code.

Understanding Zones

If you haven’t watched this talk yet, give it a shot, it’s just ~15 minutes long. APIs might be different nowadays, but the semantics and underlying concepts are the same. In this article we’d like to dive a bit deeper into how zones work. The problem to be solved Let’s recap really quick what zones are. In order to understand the execution context part of it, we need to get a better picture of what the problem is that zones are trying to solve.

Foo();bar();baz(); function foo() {...}function bar() {...}function baz() {...} Nothing special going on here. Var start, time = 0; timer = performance ? However, often we have asynchronous work todo. Function doSomething() { console.log('Async task');} // start timerstart = timer();foo();setTimeout(doSomething, 2000);bar();baz();// stop timertime = timer() - start;

FRP