JavaScript for Line of Business Applications
606.5K views | +2 today
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

Scoop.it!

Building a Coffee Run app using Node.js and Knockout

Building a Coffee Run app using Node.js and Knockout | JavaScript for Line of Business Applications | Scoop.it

In this post I’ll discuss how I built CoffeeRun as a Single-Page Application (SPA) using Node.js and Knockout.js. This was my first foray into the world of SPAs and Node, so it’s written as a guide to anyone else who is looking to dip their toes in for the first time. I’ll also cover deployment to Azure.

No comment yet.
Scoop.it!

Guide to Full Text Search in Meteor

Guide to Full Text Search in Meteor | JavaScript for Line of Business Applications | Scoop.it

It's possible to do full text search in Meteor, as long as you're running MongoDB 2.6 (which is included in Meteor 1.0.4 or higher). Earlier versions of MongoDB did not support text search well.

Before you can do a search, you need to build a text index. This is a data structure that lets MongoDB perform text searches incredibly quickly. Whenever data is inserted or removed from the indexed collection, MongoDB updates the corresponding index.

No comment yet.
Scoop.it!

How to communicate between React components

How to communicate between React components | JavaScript for Line of Business Applications | Scoop.it

How to communicate between React components ? That’s a good question, and there are multiple answers. That depends of the relationship between the components, and then, that depends on what you prefer.

I am not talking about data-stores, data-adapters or this kind of data-helpers that gets data from somewhere that you need to dispatch to your components, I’m really just talking about communication between React components only.


There are 3 possible relationships:

owner to ownee (parent to child)
ownee to owner (child to parent)
they are not related

No comment yet.
Scoop.it!

Porting an Angular 2.0 App to Aurelia

Porting an Angular 2.0 App to Aurelia | JavaScript for Line of Business Applications | Scoop.it

Recently, Joe Eames had a nice PluralSight webinar demonstrating some of the features of Angular 2.0. We thought "Wouldn't it be cool to see the same app built with Aurelia?" It seemed like a good opportunity to show what we feel makes Aurelia so easy-to-use and efficient.

The Rules

In order to ensure that this is an even and accurate comparison, we set some ground rules:

  1. The code should be a direct port unless there is a blaring issue or error in the source.
  2. The code should use all of the same variables and names in order to avoid confusion.
  3. We'll use the standard Aurelia skeleton as our starting point.
No comment yet.
Scoop.it!

Isomorphic apps = normal React+FRP apps

Isomorphic apps = normal React+FRP apps | JavaScript for Line of Business Applications | Scoop.it

Isomorphic apps are almost like “normal” apps when creating them with the FRP. Because the FRP encourages you to always pass the entire state object to the rendering function, nothing prevents you to do the same in the backend as well.

If you have read other tutorials you may already know that React has a “backend-compatible” function called renderToString. It behaves exactly like render but doesn’t call componentDidMount and returns the rendered HTML as a string instead of placing it into a DOM node. Component & model in → HTML out. Couldn’t be simpler?

Well… actually, it could be. There are two gotchas you should know before trying to use renderToString:

  1. Your backend must understand JSX syntax
  2. Your front-end modules must be CommonJS compatible
No comment yet.
Scoop.it!

BangJS - use Bacon.js in an Angular context

BangJS -  use Bacon.js in an Angular context | JavaScript for Line of Business Applications | Scoop.it

BangJS is Bacon-flavored Angular. Program watertight web app user interface behavior with AngularJS and Bacon.js.

Enjoy everything that’s good about functional reactive programming with all the benefits of a mature and vibrant front-end framework ecosystem.

BangJS offers you the tools to take this challenge head on:

  • make support for asynchronous logic the default;
  • focus on your business logic instead of managing state;
  • keep your code maintainable and scalable due to inherent composability.
No comment yet.
Scoop.it!

Immutable data structures which are backwards-compatible with normal JS Arrays and Objects.

Immutable data structures which are backwards-compatible with normal JS Arrays and Objects. | JavaScript for Line of Business Applications | Scoop.it

Immutable JS data structures which are backwards-compatible with normal Arrays and Objects.

Use them in for loops, pass them to functions expecting vanilla JavaScript data structures, etc.

No comment yet.
Scoop.it!

Mastering the Arcane Art of JavaScript-mancy for C# Developers

Mastering the Arcane Art of JavaScript-mancy for C# Developers | JavaScript for Line of Business Applications | Scoop.it

You my friend, cannot ignore JavaScript no longer, JavaScript is the most deployed language on earth, a beautiful and expressive language that supports many paradigms and which has a thriving community that continuously expands and improves its ecosystem with patterns, libraries, frameworks and tools. You don’t want to miss this train.

But JavaScript, though forgiving and specially conceived to be easy to learn, can be either daunting for us that have a strongly-typed mindset baggage and come from languages such as C# or Java or even more often laughed at as a toy.

No comment yet.
Scoop.it!

Top 8 Common Backbone.js Developer Mistakes

Top 8 Common Backbone.js Developer Mistakes | JavaScript for Line of Business Applications | Scoop.it
Backbone.js equips the developer with an array of tools that are minimal but extremely flexible. This gives developers the option to design the applications the way they want, but also introduces a number of way things can go wrong.

In this article, Toptal engineer Mahmud Ridwan discusses a few common mistakes that Backbone.js developers can make, and how they may avoid them.
No comment yet.
Scoop.it!

Replaying bugs with Flux

Replaying bugs with Flux | JavaScript for Line of Business Applications | Scoop.it

It’s important to note that with React with Flux, the application state lives outside of the UI-components, in the store(s). The stores populate their state according to the actions and the UI merely reflects this state. A UI defined with React can be seen as a pure function: given the same input (state), it will always produce the same output (ui).

Flux was inspired by CQRS and Event Sourcing. For those unfamiliar: think think of it as a simple version control system: each action is a commit, all consecutive commits give you the current state.

To record actions in Flux, we need to either extend the dispatcher with this functionality or create a new component which listens to the dispatcher. I’ve published a proof-of-concept on GitHub called FluxRecorder, which does the latter.

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!

Reusable Chart Components with React And D3

Reusable Chart Components with React And D3 | JavaScript for Line of Business Applications | Scoop.it

The following should be an introduction to combining D3 with React to create reusable chart components. This is not intended to be an introduction into D3 nor React.

D3s approach to data visualization fits well with the React way of building UI components and App structuring. React encourages to figure out how to structure a number of components to enforce a data flow that moves from top down, meaning that lower level components receive data and render it at best and only keep state if needed, but never manipulating any data that might affect the higher up components.

Another strong correlation between the libraries is their respective component lifecycle. D3 has enter, update and exit.


No comment yet.
Scoop.it!

Essence - the essential Material Design Framework

Essence - the essential Material Design Framework | JavaScript for Line of Business Applications | Scoop.it

Essence is a CSS framework that implements the guidelines from Google Material Design Specification using Facebook's react.js library. Use it to easily build super-fast and great looking web & mobile interfaces.

Jan Hesse's insight:

https://github.com/PearlVentures/Essence

No comment yet.
Scoop.it!

Javascript MVC Frameworks: Your Choice is Your Future

Javascript MVC Frameworks: Your Choice is Your Future | JavaScript for Line of Business Applications | Scoop.it

Not surprisingly, given the popularity of the MVC pattern, there are a number of adherent JS frameworks to choose from. Angular JS, Ember, andBackbone are among the most popular, and will be the focus of this article.

Your choice here can drastically affect your team’s ability to meet deadlines and maintain your project in the future. Each of these frameworks will give you a set of tools for writing code that follows the separation of concerns ideology. For the most part, they each have thriving online communities that offer support and tutorials to developers.

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/

No comment yet.
Scoop.it!

Integrating External APIs into your Meteor.js Application

Integrating External APIs into your Meteor.js Application | JavaScript for Line of Business Applications | Scoop.it

Meteor itself does not rely on REST APIs, but it can easily access data from other services. This article is an excerpt from the book Meteor in Action and explains how you can integrate third-party data into your applications by accessing RESTful URLs from the server-side.

Many applications rely on external APIs to retrieve data. Getting information regarding your friends from Facebook, looking up the current weather in your area, or simply retrieving an avatar image from another website – there are endless uses for integrating additional data. They all share a common challenge: APIs must be called from the server, but an API usually takes longer than executing the method itself. You need to ensure that the result gets back to the client – even if it takes a couple of seconds. Let’s talk about how to integrate an external API via HTTP.

Based on the IP address of a visitor, you can tell various information about their current location, e.g., coordinates, city or timezone. There is a simple API that takes an IPv4 address and returns all these tidbits as a JSON object. The API is called Telize. 

No comment yet.
Scoop.it!

How to use React & Om to make a Single Page Application (SPA)

How to use React & Om to make a Single Page Application (SPA) | JavaScript for Line of Business Applications | Scoop.it

Clojure is a Lisp-based language that compiles and executes on the JVM. WithClojureScript, Clojure can be cross-compiled to JavaScript. Developing a SPA in a language like ClojureScript allows developers to utilize Clojure’s features like static type safety and immutability when working with large or complex applications. The Om project allows a developer using ClojureScript to interface with React in a client-side application. Let’s get started using React and Om to build a SPA.

No comment yet.
Scoop.it!

The Flux Quick Start Guide

The Flux Quick Start Guide | JavaScript for Line of Business Applications | Scoop.it

This article will give you an overview of how to build JavaScript applications with the Flux pattern. It's the minimal amount of material to get you familiar with the core Flux concepts. You should follow along with the accompanying starter kit. You'll need a basic understanding of React and preferably some experience building components. 

No comment yet.
Scoop.it!

flux-backbone: Flux Architecture Implemented with Backbone and React

flux-backbone: Flux Architecture Implemented with Backbone and React | JavaScript for Line of Business Applications | Scoop.it

React married with Backbone

No comment yet.
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!

HTML5 Ember.js Boilerplate

HTML5 Ember.js Boilerplate | JavaScript for Line of Business Applications | Scoop.it

HTML Ember.js Template is a professional front-end template for building fast, robust, and adaptable web apps or sites using Ember.js.

HIGHLIGHTS
  • Designed for fast page loads. HTML Ember.js Template follows best practices for website optimization.
  • Built using HTML5 and the latest trending web technologies.
  • Built with easy customization in mind.
  • Simple editing. Simply delete what you don't want.
No comment yet.
Scoop.it!

How Do I Evaluate JavaScript Libraries

How Do I Evaluate JavaScript Libraries | JavaScript for Line of Business Applications | Scoop.it

Earlier this year CODE Magazine published an article I authored encouraging the use of MicroJS libraries instead of large frameworks. One question I attempted to answer was where to find libraries, which of course there are many possible sources. Another question I am often asked is how do I choose a library? This is important because choosing a bad library can lead to bad consequences.

How Do I Evalutate JavaScript Libraries

I have no absolute rules on choosing a library, but I do have some evaluations I make before picking a library. Today I want to review some of the criteria I use and some simple examples of how they apply to choosing the best JavaScript libraries for your application.


  • Size
  • Path To Success
  • External Dependencies
  • Memory Leaks
  • Read The Code
  • Reusable
  • Write A Solution Yourself
  • Summary
No comment yet.
Scoop.it!

Wildhoney/Maple.js

Wildhoney/Maple.js | JavaScript for Line of Business Applications | Scoop.it
Maple.js is a contemporary React based framework mixing ES6 with Custom Elements, HTML Imports and Shadow DOM. It has in-built support for SASS and JSX, including a Gulp task for vulcanizing your project.

Maple is a seamless module that allows you to organise your React project in terms of webcomponents — with HTML Imports, Shadow DOM, and Custom Elements — allowing you to implement any Flux architecture you choose, and then compile with Mapleify for production.

No comment yet.
Scoop.it!

Craft Conference

Craft Conference | JavaScript for Line of Business Applications | Scoop.it
CRAFT is about software craftsmanship, which tools, methods, practices should be part of the toolbox of a modern developer and company, and it is a compass on new technologies, trends. You can learn from the best speakers and practitioners in our community.
No comment yet.
Scoop.it!

Flux in Depth. Overview and Components.

Flux in Depth. Overview and Components. | JavaScript for Line of Business Applications | Scoop.it
This is the first blog post of the series “Flux in Depth”. Is this “yet the another flux tutorial”? What I have seen so far, while researching flux, were mostly “how-to” tutorials (usually with todo applications), which describe the main components of given flux application and the data flow between them. This is definitely useful for getting a high-level overview of how everything works but in reality there are plenty of other things, which should be taken under consideration. In this series of posts I will try to wire theory with practice and state my own solutions of problem I face on daily basis. Since these solutions might not be perfect, I’d really appreciate giving your opinion in the comments section below.
No comment yet.