JavaScript for Line of Business Applications
575.0K views | +59 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...
Scoop.it!

Practical Intro to Monads in JavaScript

Practical Intro to Monads in JavaScript | JavaScript for Line of Business Applications | Scoop.it

In category theory, the concept of catamorphism (from Greek: κατά = downwards or according to; μορφή = form or shape) denotes the unique homomorphism from an initial algebra into some other algebra.

more...
No comment yet.
Scoop.it!

React Virtual DOM vs Incremental DOM vs Ember’s Glimmer: Fight

React Virtual DOM vs Incremental DOM vs Ember’s Glimmer: Fight | JavaScript for Line of Business Applications | Scoop.it
Take a look at competing DOM manipulation libraries and find out which one is faster with a performance benchmark!

In this post we will explore three technologies to build dynamic DOMs. We will also run benchmarks and find out which one is faster. At the end we will share with you why we choose one of them for our projects. Read on!

more...
Scoop.it!

Typed Arrays in ECMAScript 6

Typed Arrays in ECMAScript 6 | JavaScript for Line of Business Applications | Scoop.it

Typed Arrays are an ECMAScript 6 API for handling binary data. This blog post explains how they work.

more...
Arik Grinstein's curator insight, September 11, 2015 4:26 AM

Types in javascript. Where is the world coming to ??? :)

Scoop.it!

ES6 Generators in Depth

ES6 Generators in Depth | JavaScript for Line of Business Applications | Scoop.it

Generators are a new feature in ES6. You declare a generator function which returns generator objects g that can then be iterated using any of Array.from(g)[...g], or for value of g loops. Generator functions allow you to declare a special kind of iterator. These iterators can suspend execution while retaining their context. We already examined iterators in the previous article and how their .next() method is called once at a time to pull values from a sequence.

more...
No comment yet.
Scoop.it!

JavaScript Code Smells

JavaScript Code Smells | JavaScript for Line of Business Applications | Scoop.it

In the past I've given presentations, recorded videos, and written blog posts about fixing common JavaScript and jQuery bugs. This is a good skill to have, but what about working code? Fixing broken code is important, but have you ever gotten into the situation where your code works, but it doesn't feel quite right... maybe even smells?

more...
No comment yet.
Scoop.it!

Common Misconceptions About Inheritance in JavaScript

Common Misconceptions About Inheritance in JavaScript - JavaScript Scene - Medium

Classical and prototypal inheritance are fundamentally and semantically distinct.

There are some defining characteristics between classical inheritance and prototypal inheritance. For any of this article to make sense, you must keep these points in mind:

In class inheritance, instances inherit from a blueprint (the class), andcreate sub-class relationships. In other words, you can’t use the class like you would use an instance. You can’t invoke instance methods on a class definition itself. You must first create an instance and then invoke methods on that instance.

In prototypal inheritance, instances inherit from other instances. Usingdelegate prototypes (setting the prototype of one instance to refer to anexamplar object), it’s literally Objects Linking to Other Objects, orOLOO, as Kyle Simpson calls it. Using concatenative inheritance, you justcopy properties from an exemplar object to a new instance.

more...
No comment yet.
Scoop.it!

An Introduction to Functional JavaScript

An Introduction to Functional JavaScript | JavaScript for Line of Business Applications | Scoop.it

M. David Green demonstrates how you can start thinking functionally in JavaScript, by refactoring some all-too-common imperative code to a functional style.

Functional JavaScript doesn’t have to take over an entire project in order to add value. Learning a little about the functional approach can help guide some of the decisions you make as you build your projects, regardless of the way you prefer to structure your code. Learning some functional patterns and techniques can put you well on your way to writing cleaner and more elegant JavaScript regardless of your preferred approach.

more...
No comment yet.
Scoop.it!

Mixins for JavaScript Classes

Mixins for JavaScript Classes | JavaScript for Line of Business Applications | Scoop.it

The same code in several places is the pain. Today I will say a few words about repeated parts of classes. Coders had invented a solution of this problem a long time ago: you can move similar methods and properties to a common parent class or, if you don’t have one, you can use mixins. There are many implementations of this pattern in JavaScript, but I want to review the case when a mixin is placed to the prototype chain.

more...
No comment yet.
Scoop.it!

brief comparison of a few MV* front end frameworks

brief comparison of a few MV* front end frameworks | JavaScript for Line of Business Applications | Scoop.it
mvstar-compare - A brief comparison of a few MV* front end frameworks

Scope

Documentation - How well do they document their API?
Learning curve - How closely does it adhere to current dev standards (how hard is it to learn)?
Performance - How big is it's footprint, and how quickly does it render?
Scalability - How easy is it to scale to potentially enormous factors?
Updates - How often do they update their codebase, and do they introduce API changes often?
Testing - How easy is it to get testing set up?
Roadmap - How supported will this framework be down the line?
Backing - Is this framework being backed by reputable company?

more...
No comment yet.
Scoop.it!

Change And Its Detection In JavaScript Frameworks

Change And Its Detection In JavaScript Frameworks | JavaScript for Line of Business Applications | Scoop.it

Managing the synchronization of app state and the user interface has long been a major source of complexity in UI development, and by now we have several different approaches to dealing with it. This article explores a few of them: Ember's data binding, Angular's dirty checking, React's virtual DOM, and its relationship to immutable data structures.

Where things start to get more challenging is when we start talking about data changing over time. This can happen when the user interacts with the UI, or when something else happens in the world that updates the data. The UI needs to reflect this change. Furthermore, because rebuilding DOM trees is expensive, we'd like to do as little work as possible to get that updated data on the screen.

more...
No comment yet.
Scoop.it!

JavaScript Design Patterns

We've come a long way down the JavaScript road. Gone are the days of 'just hack it' for the web - architecting even a small project in JavaScript can be a challenge. Thankfully, there are several frameworks to help you; the most popular currently is AngularJS.

more...
No comment yet.
Scoop.it!

Lazy Iterables in JavaScript

Lazy Iterables in JavaScript | JavaScript for Line of Business Applications | Scoop.it

Iteration for functions and objects has been around for many, many decades. For simple linear collections like arrays, linked lists, stacks, and queues, functional iterators are the simplest and easiest way to implement iterators.

In programs involving large collections of objects, it can be handy to implement iterators as objects, rather than functions. The mechanics of iterating can then be factored using the same tools that are used to factor the mechanics of all other objects in the system.

Fortunately, an iterator object is almost as simple as an iterator function. Instead of having a function that you call to get the next element, you have an object with a.next() method.

more...
No comment yet.
Scoop.it!

Using JavaScript Next Features in an ES3 Enterprise World

Using JavaScript Next Features in an ES3 Enterprise World | JavaScript for Line of Business Applications | Scoop.it
Cody Lindley explains why enterprise JavaScript developers still need to care about ES3 and strategies for developers who want to use ES5/ES6 features today
more...
No comment yet.
Scoop.it!

Bliss.js — Heavenly JavaScript!

Bliss.js — Heavenly JavaScript! | JavaScript for Line of Business Applications | Scoop.it

Want to use Vanilla JS but find native APIs a bit unwieldy? Bliss is for you.

more...
No comment yet.
Scoop.it!

Concurrently JavaScript

Concurrently JavaScript | JavaScript for Line of Business Applications | Scoop.it

What is concurrency? How is it different from parallelism? JavaScript is single-threaded on the event loop, so how does its asynchrony fit into the mix?

These are great questions, but sadly, I think most JS developers are not really asking them enough. The concepts behind writing concurrent code are incredibly important, but we tend to only focus on the API provided to us by some library or framework. These APIs have a tremendous capability to shape our thoughts about the underlying functionalities, and often not in accurate or productive ways.

I want us to talk first about the concepts around concurrency before we focus on what we can do with some API or pattern. Don’t worry: following parts of this blog post series will talk more about APIs, if that’s what really gets you excited. But don’t skip over these concepts.

more...
No comment yet.
Scoop.it!

How do JavaScript closures work under the hood

How do JavaScript closures work under the hood | JavaScript for Line of Business Applications | Scoop.it

When any JavaScript code is executing, it needs some place to store its local variables. Let's call this place as a scope object (some refer to it as a LexicalEnvironment). For example, when you invoke some function, and function defines local variables, these variables are saved on the scope object. You can think of it as a regular JavaScript object, with the notable difference that you can't refer to the whole object directly. You can only modify its properties, but you can't refer to the scope object itself.

more...
No comment yet.
Scoop.it!

Monads in JavaScript

Monads in JavaScript | JavaScript for Line of Business Applications | Scoop.it
Monad is a design pattern used to describe computations as a series of steps. They manage side effects in pure functional languages but can also be used in other languages to control complexity.
more...
No comment yet.
Scoop.it!

Loupe - Understand JavaScript's Call Stack and Event Loop

Loupe is a little visualisation to help you understand how JavaScript's call stack/event loop/callback queue interact with each other.

  • Loupe runs entirely in your browser.
  • It takes your code.
  • Runs it through esprima, a JS parser.
  • Instruments it a bunch so that loupe knows where function calls, timeouts, dom events, etc happen.
  • Adds a whole bunch of while loops everywhere to slow down the code as it runs.
  • This modified code is then turned back into JavaScript and sent to a webworker (in your browser) which runs it.
  • As it runs, the instrumentation sends messages to the visualisation about what is going on so it can animate things at the right time.
  • It also has some extra magic to make dom events, and timers work properly.


more...
No comment yet.
Scoop.it!

True Hash Maps in JavaScript

True Hash Maps in JavaScript | JavaScript for Line of Business Applications | Scoop.it

Using an object literal as a simple means to storing key-value pairs is common place within JavaScript. However, an object literal is not a true hash map and therefore poses potential liabilities if used in the wrong manner. While JavaScript may not offer native hash maps (at least not cross-browser), there is a superior alternative to object literals to capture the desired functionality without the pitfalls.

more...
No comment yet.
Scoop.it!

plainJS - The Vanilla JavaScript Repository

plainJS - The Vanilla JavaScript Repository | JavaScript for Line of Business Applications | Scoop.it
Vanilla JavaScript for writing powerful web applications without jQuery.

Writing common and rather simple JavaScript functions for a website can nowadays be easily done in plain JS. There's no real gain from jQuery, although syntax is typically slightly shorter. However, that comes with the price of downloading and parsing a huge library. Yet, when writing complex JavaScript tools, such as image editors or charting libraries, both the dependency upon and the lowerer speed of jQuery are real drawbacks. Therefore, such code is mostly written in pure JavaScript. Again, no need for jQuery.

Jan Hesse's insight:

http://plainjs.com/javascript/

more...
No comment yet.
Scoop.it!

async tasks with es6 generators

async tasks with es6 generators | JavaScript for Line of Business Applications | Scoop.it

ES6 generators seem to be a very good fit for handling asynchronous actions. I've been using a library, generator-runner, which uses ES6 generators for running async tasks. To use the library you create a runner that takes two parameters:

  1. A generator function. Within this function you yield to a async task. The async task is invoked with a callback to continue the generator (calling next). The callback returns the value for the yield expression. The runner then takes the value for yield expression and returns it.
  2. A callback to handle the return of the generator. The return value from the previous step is handled here.
more...
No comment yet.
Scoop.it!

The Symmetry of JavaScript Functions (revised)

The Symmetry of JavaScript Functions (revised) | JavaScript for Line of Business Applications | Scoop.it

In JavaScript, functions are first-class entities: You can store them in data structures, pass them to other functions, and return them from functions. An amazing number of very strong programming techniques arise as a consequence of functions-as-first-class-entities. One of the strongest is also one of the simplest: You can write functions that compose and transform other functions.

more...
No comment yet.
Scoop.it!

I wrote a JavaScript study guide

I wrote a JavaScript study guide | JavaScript for Line of Business Applications | Scoop.it

JavaScript is a disgusting language. But I love it!

It’s riddled with awful parts, was put together in 10 days, and now we have to suffer for the next 20 years (it turns 20 in a few months).  However, it’s also the duct tape of the internet, and it works just about anywhere that there is a browser. It’s also perhaps the most misunderstood language.

At hackathons, I see tons of students trying to get started with JavaScript, as they are trying to write web apps or cross platform mobile ones, and they often get caught on simple things. For that reason, I’ve put together a JavaScript study guide.

more...
Steven Hill's curator insight, March 10, 2015 11:12 AM

This is something I would like to explore.

Scoop.it!

Getting the most out of JavaScript Stacktraces

JavaScript applications keep getting bigger, more complex, and harder to debug. Without stacktraces, how are we expected to find, decipher, and fix our bugs?

Getting the Stacktrace is on us. Only we can design the code to capture stacktraces effectively. Let's explore some popular libraries like stacktrace.js and tracekit, some techniques for catching exceptions without mess try/catches everywhere, and what's coming next with expanded error objects.

Let's talk about finding and fixing our errors and stop this proliferation of a broken JavaScript web.

more...
No comment yet.
Scoop.it!

is.js - Check types, regexps, presence, time and more...

is.js - Check types, regexps, presence, time and more... | JavaScript for Line of Business Applications | Scoop.it

This is a general-purpose check library. Not only for Assertion Testing.

more...
No comment yet.