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

Sort and Filter a Table Using Angular

Sort and Filter a Table Using Angular | JavaScript for Line of Business Applications | Scoop.it
When building Angular applications, one of the cornerstones we will use is ng-repeat. Showing data is something that we do in applications like when we show a table of users or whatever other data we need to show our users....
No comment yet.
Scoop.it!

Spring and Angular JS: A Secure Single Page Application

Spring and Angular JS: A Secure Single Page Application | JavaScript for Line of Business Applications | Scoop.it
In this article we show some nice features of Spring Security, Spring Boot and Angular JS working together to provide a pleasant and secure user experience. It should be accessible to beginners with Spring and Angular JS, but there also is plenty of detail that will be of use to experts in either. This is actually the first in a series of articles on Spring Security and Angular JS, with new features exposed in each one successively. We’ll improve on the application in the second and subsequent installments, but the main changes after this are architectural rather than functional.
Jan Hesse's insight:

http://spring.io/blog/2015/01/12/the-login-page-angular-js-and-spring-security-part-ii

http://spring.io/blog/2015/01/20/the-resource-server-angular-js-and-spring-security-part-iii

http://spring.io/blog/2015/01/28/the-api-gateway-pattern-angular-js-and-spring-security-part-iv

https://spring.io/blog/2015/02/03/sso-with-oauth2-angular-js-and-spring-security-part-v

http://spring.io/blog/2015/03/23/multiple-ui-applications-and-a-gateway-single-page-application-with-spring-and-angular-js-part-vi


No comment yet.
Scoop.it!

A Journey Through Client-Side Testing with JavaScript

A Journey Through Client-Side Testing with JavaScript | JavaScript for Line of Business Applications | Scoop.it

Having tests is important. They allow us to extend and refactor our code with ease. Many developers follow test driven development as a workflow. I believe that writing tests makes software development much more interesting and generally leads to better code. Well-designed and tested systems are easier to maintain.

No comment yet.
Scoop.it!

Getting started with JavaScript Unit Testing using QUnit

Getting started with JavaScript Unit Testing using QUnit | JavaScript for Line of Business Applications | Scoop.it

In the test driven development approach, you first write a unit test, and when it fails, you then write an application code to pass the test. In JavaScript, unit testing is not much different than other programming languages. To do unit testing or TDD in JavaScript, you need a testing framework. There are many popular JavaScript testing frameworks available, including:

  • Mocha
  • Jasmine
  • QUnit
  • JSUnit
No comment yet.
Scoop.it!

HTML templating with ES6 template strings

HTML templating with ES6 template strings | JavaScript for Line of Business Applications | Scoop.it

Despite their name, template strings in ECMAScript 6 (ES6) are more like a different kind of function call than a mechanism for defining templates. This blog post explains how you can still use them for HTML templating. 

No comment yet.
Scoop.it!

The problem with Angular

The problem with Angular | JavaScript for Line of Business Applications | Scoop.it

I’d say Angular is mostly being used by people from a Java background because its coding style is aimed at them. Unfortunately they aren’t trained to recognise Angular’s performance problems.

I have doubts about Angular 1.x’s suitability for modern web development. If one is uncharitably inclined, one could describe it as a front-end framework by non-front-enders for non-front-enders.

If you want to know why I think all of this I’m afraid you’re going to have to read this long article in its entirety.

Jan Hesse's insight:

follow-up: Angular and templating (why client-side templating is wrong)

http://www.quirksmode.org/blog/archives/2015/01/angular_and_tem.html

No comment yet.
Scoop.it!

The growing irrelevance of MongoDB

The growing irrelevance of MongoDB | JavaScript for Line of Business Applications | Scoop.it

aybe a better name for this phase should be maturity. At this moment I knew where and, even more important, where NOT use MongoDB. At this age you know that MongoDB is a nice product, but a product that you should use with caution. You know that the document model is great and solves a lot of problems for you, but not all: actually, quite a few.

The wakeup call for me was my own failures with it and, most of all, the failure of others. Mostly from people that I saw getting really excited about MEAN and trying to transform the world into a nail so that MongoDB could be the perfect hammer for it. It’s the moment where some facts get into your face and shout at you:...

Karim Cadi's curator insight, January 21, 2015 3:43 AM

MongoDb from the trenches: does not solve everything and probably won't replace the "old" relational database system.

Scoop.it!

Creating A Simple Shopping Cart with React.js and Flux

Creating A Simple Shopping Cart with React.js and Flux | JavaScript for Line of Business Applications | Scoop.it

Today we are going to put all of it together to create a basic shopping cart application. In a typical e-commerce website, the product detail page has several moving parts that rely on one another and React really helps simplify and organize the co-dependency between them.

No comment yet.
Scoop.it!

Learning React.js: Getting Started and Concepts

Learning React.js: Getting Started and Concepts | JavaScript for Line of Business Applications | Scoop.it

One of it’s unique selling points is that not only does it perform on the client side, but it can also be rendered server side, and they can work together inter-operably.

The way React works, rather than taking the real person and rebuilding them from the ground up, it would only change the face and the arms. This means that if you had text in an input and a render took place, as long as the input’s parent node wasn’t scheduled for reconciliation, the text would stay undisturbed.

No comment yet.
Scoop.it!

Mercury - A truly modular frontend framework

Mercury -  A truly modular frontend framework | JavaScript for Line of Business Applications | Scoop.it

Some of the core ideas are:

  • your entire view is a single complex vtree
  • your entire view state is a single complex immutable object.
  • your rendering function is pure, it takes just the view state (disclaimer: hooks & widgets are not pure).
  • you declare all user input as channels up front in your view state.
  • the view state supports cursors, you can nest components in components.

Mercury is unidirectional because:

  • A DOM event triggers a value to be send to a channel
  • The listener for the channel updates the view state
  • An update to the view state triggers a re-render
  • A new vtree is created
  • diff() and patch() update the DOM.


mercury is similar to react, however it's larger in scope, it is better compared against om or quiescent

  • mercury leverages virtual-dom which uses an immutable vdom structure
  • mercury comes with observ-struct which uses immutable data for your state atom
  • mercury is truly modular, you can trivially swap out subsets of it for other modules
  • mercury source code itself is maintainable, the modules it uses are all small, well tested and well documented. you should not be afraid to use mercury in production as it's easy to maintain & fix.
  • mercury encourages zero dom manipulation in your application code. As far as your application is concerned elements do not exist. This means you don't need to reference DOM elements when rendering or when handling events
  • mercury is compact, it's 11kb min.gzip.js, that's smaller than backbone.
  • mercury strongly encourages FRP techniques and discourages local mutable state.
  • mercury is highly performant, it's faster then React / Om / ember+htmlbars in multiple benchmarks TodoMVC benchmark\ animation benchmarkTodoMVC benchmark source
  • mercury comes with FP features like time-travel / easy undo out of the box.
  • mercury is lean, it's an weekend's read at 2.5kloc. (virtual-dom is 1.1kloc, an evening's read.) compared to react which is almost 20kloc (a month's read)
No comment yet.
Scoop.it!

Improving the Module Factory Pattern in Node.js

Improving the Module Factory Pattern in Node.js | JavaScript for Line of Business Applications | Scoop.it

There's a common design pattern in the Node.js community that has been bothering me for some time since it results in less readable code. The issue relates to designing modules that export a singlefactory function. Let's take a look at some example code using the popular express module:

No comment yet.
Scoop.it!

Unit Testing in Sails.js with Mockgoose, Mocha and Chai

Unit Testing in Sails.js with Mockgoose, Mocha and Chai | JavaScript for Line of Business Applications | Scoop.it

I obviously chose Sails.js, I decided to use Angular because I wanted to learn it, and I used Mongo because I wanted to work with a NoSQL db (for no other reason than to learn it). This kept my stack completely Javascript, and really fun to learn. When it came time to write my models I decided to use Mongoose instead of Waterline, which involved some fun little hacks here and there to get it wired up inside of Sails. However, the real challenge came when I decided to start doing Unit Testing and TDD, and that's what I'll go in to (finally, right?). For the sake of clarity I'm going to focus on how I got Mockgoose to work with my tests 

No comment yet.
Scoop.it!

Applying NASA coding standards to JavaScript

Applying NASA coding standards to JavaScript | JavaScript for Line of Business Applications | Scoop.it
This article is a try to apply NASA code guidelines to JavaScript / HTML development in order to use space software engineers experience and knowledge for better web applications, higher reliability, testability and performance.
No comment yet.
Scoop.it!

2015: The End of the Monolithic JavaScript Framework

2015: The End of the Monolithic JavaScript Framework | JavaScript for Line of Business Applications | Scoop.it

We need to move beyond monolithic frameworks to a component/library-based front-end solution, but there’s too much fragmentation/abstraction to create an industry standard approach. Below are some constructive thoughts aimed at building a more viable and stable alternative.

No comment yet.
Scoop.it!

Tidying Up a JavaScript Application with Higher-Order Functions

Tidying Up a JavaScript Application with Higher-Order Functions | JavaScript for Line of Business Applications | Scoop.it

In this post, I’ll demonstrate the usage of higher-order functions outside of a collection-processing context – with the ultimate goal of reducing boilerplate code in your real-world applications (as filter did above). We’ll start with partial function application (facilitated by Underscore’s _.partial) and move on to writing our own higher-order functions.

Jan Hesse's insight:

http://blog.carbonfive.com/2015/01/14/gettin-freaky-functional-wcurried-javascript/


No comment yet.
Scoop.it!

Some Thoughts on the Awesomeness of Function and Object Composition in JavaScript

Some Thoughts on the Awesomeness of Function and Object Composition in JavaScript | JavaScript for Line of Business Applications | Scoop.it

In JavaScript, probably due to it’s dynamic character and sparse syntax, we can easily compose both functions and objects. We will start looking at how we can compose functions. My goal is to define a series of functions that have a single responsibility and combine them into new functions that provide a richer functionality and result in more readable, intentional, explicit, terse, reusable JavaScript code.

No comment yet.
Scoop.it!

From ActionScript3 to TypeScript

From ActionScript3 to TypeScript | JavaScript for Line of Business Applications | Scoop.it

If you’ve got existing ActionScript assets but want to migrate them to another language, what do you do? One possibility is to convert AS3 to TypeScript. They share similar language features, but are different enough that the process isn’t trivial.

No comment yet.
Scoop.it!

ECMAScript 6 sets: union, intersection, difference

ECMAScript 6 sets: union, intersection, difference | JavaScript for Line of Business Applications | Scoop.it

ECMAScript 6 sets have no methods for computing the union (e.g. addAll), intersection (e.g. retainAll) or difference (e.g. removeAll). This blog post explains how to work around that limitation.

No comment yet.
Scoop.it!

High Performance Web Components

High Performance Web Components | JavaScript for Line of Business Applications | Scoop.it
How many photo carousels have you built? Date pickers? Dynamic tables and charts? Wouldn't it be great if there was a way to make these custom elements encapsulated and reusable? Welcome to Web Components!
No comment yet.
Scoop.it!

Building a Multi-Step Registration Form with React

Building a Multi-Step Registration Form with React | JavaScript for Line of Business Applications | Scoop.it

React is awesome at handling what and when to show something to the user. In our example, what we're showing are related input fields (simple markup), and when those fields are shown is determined by the current step (the state of our Registration component). One way of thinking of this relationship is state determines shape. Depending on the state of our application, we're able to simply and predictably render something different, whether it's as small as a single character change or showing a completely different component altogether.

No comment yet.
Scoop.it!

Build A Real-Time Twitter Stream with Node and React.js

Build A Real-Time Twitter Stream with Node and React.js | JavaScript for Line of Business Applications | Scoop.it

Today we are going to build an application in React using Isomorphic Javascript.

React is amazing on the client side, but it’s ability to be rendered on the server side makes it truly special. This is because React uses a virtual DOM instead of the real one, and allows us to render our components to markup.

No comment yet.
Scoop.it!

Understanding React and reimplementing it from scratch

Understanding React and reimplementing it from scratch | JavaScript for Line of Business Applications | Scoop.it

I'll start with a bare model and then I'll add feature after feature trying to explain the design decisions, pointing when possible to the corresponding implementations in React, Mitrhil and Mercury.

What follows is my own interpretation of React, feel free to criticize and contribute.

As I hoped, being the VDOM implementations so similar, it's straightforward to translate one view system into another. This fact opens a new world of possibilities: this is a demo where a UVDOM-view system is converted into React, Mithril and mercury with two different styles applied (Bootstrap and Pure), check it out.

Jan Hesse's insight:

https://gcanti.github.io/2014/11/24/understanding-react-and-reimplementing-it-from-scratch-part-2.html


No comment yet.
Scoop.it!

The Login Page: Angular JS and Spring Security Part II

The Login Page: Angular JS and Spring Security Part II | JavaScript for Line of Business Applications | Scoop.it
In this article we continue our discussion of how to use Spring Security with Angular JS in a “single page application”. Here we show how to use Angular JS to authenticate a user via a form and fetch a secure resource to render in the UI. This is the second in a series of articles, and you can catch up on the basic building blocks of the application or build it from scratch by reading the first article, or you can just go straight to the source code in Github. In the first article we built a simple application that used HTTP Basic authentication to protect the backend resources. In this one we add a login form, give the user some control over whether to authenticate or not, and fix the issues with the first iteration (principally lack of CSRF protection).
No comment yet.
Scoop.it!

Best Learning Resources for Meteor.js

Best Learning Resources for Meteor.js | JavaScript for Line of Business Applications | Scoop.it

Meteor.js is an open-source platform built on node.js for rapidly creating reactive web and mobile apps. It is designed to allow programmers to create applications in a modern fashion, using up-to-date paradigms, most importantly reactive programming. Meteor became v1.0 on October 28th, 2014.

Together with Manuel I am the author of the Manning book Meteor in Action. It's for everyone coming from traditional server languages like Ruby, PHP, or Java and even front-end engineers looking to cover the full stack. All you need are JavaScript fundamentals and HTML/CSS basics. 

No comment yet.
Scoop.it!

A Case Study in JavaScript Code Improvement

A Case Study in JavaScript Code Improvement | JavaScript for Line of Business Applications | Scoop.it
Raymond Camden shares how a recent project led him to integrate some workflow tools that helped him improve the quality of his JavaScript code.
  • While writing the JavaScript, I ran into a few bits of code that felt repetitive and seemed ripe for optimization. I intentionally ignored those thoughts and focused on getting the code working. Premature optimization is frowned upon for a reason. Now that the code is released though, I think it makes sense to go back through and look for improvements to the code base.
  • Obviously – and probably more sensible before the optimization, would be the use of unit tests. As this relies upon a remote service, writing tests could be problematic, but even a test that assumes that remote service is running perfectly would be better than no tests. Plus, if I write these tests first, I can then look into code changes and feel secure that I’ve not broken anything.
  • I’m a big fan of JSHint and would like to run it over the code base and make sure it passes that test as well.
  • I’d also like to ship a minified version of the library. To be honest, I’ve never done that before, but if I had to guess, I’d bet there is a command line program I could run to generate that.
  • Finally, I bet I can handle running the unit tests, JSHint checking, and the minification, automatically via a tool like Grunt or Gulp.
No comment yet.