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

Getting Started with ES6 Modules

Getting Started with ES6 Modules | JavaScript for Line of Business Applications | Scoop.it

An amazing omission in Javascript’s design is the lack of a built-in module system. As more projects used Javascript and shared more code, the need for a robust module system became necessary. Two contenders sprung up, Asynchronous Module Definition (AMD) and CommonJS (CJS). The former is much more popular with browser applications and the latter is much more popular with server applications written in node.js.

Having two major standards for defining modules led to a technological holy war in the Javascript community akin to the vim/emacs arguments of the editor world. It wasn’t pretty.

Fortunately, there is light at the end of the tunnel.

No comment yet.
Scoop.it!

Bosonic Web Component

Bosonic Web Component | JavaScript for Line of Business Applications | Scoop.it

Bosonic is a set of tools that enable you to build and use reusable Web Components now ! By leveraging the power of DOM to build high-level elements, you'll simplify your application code and benefit from 3rd-party elements.

What we wanted was a way to build components as this spec describes, shielding ourselves against potential spec changes, and supporting not-so-modern browsers like IE9. And so Bosonic was born !

No comment yet.
Scoop.it!

Let's create our own router component with React.js

In this blog post I will show you how to create your own router component for React.js. You could use an existing component, but building your own router gives you a better understanding on how existing solutions work.

The way this component will work is that it will render another component (page) based on the url. We could write our own url matcher, but since there are so many router libraries out there it makes more sense to just use an existing one. For this example I am going to use page.js, but you can easily replace it with any other library you prefer. The React.js wiki has some links to other libraries with examples.

No comment yet.
Scoop.it!

AngularJS, Protractor, Visual Studio! SUPER DRY!!

AngularJS, Protractor, Visual Studio! SUPER DRY!! | JavaScript for Line of Business Applications | Scoop.it

I AM A .NET Developer. Visual Studio is the trench that I dig every day. AngularJS is the primary weapon that I use in the frontend. I want to have Protractor as my first aid kit which doesn’t play nicely without Node.js. But it’s all right, I can tame it!

Update: you might be interested in this sample project to dig in quickly. It contains a tiny AngularJS app and a few test cases.

No comment yet.
Scoop.it!

Ember.js Nested run loops and autoruns

In this post I will describe some aspects of Ember's run loop that are not often talked about. I won't go into detail about when and where Ember uses the run loop internally when scheduling its own processes. For a glimpse into that you can read Alex Machtneer's excellent summary on the topic. Instead, I will explain what causes nested run loops and autoruns, how to avoid them, and by the end hopefully you will understand why the Run Loop is a bit of a misnomer.

Ember's run loop is a thin wrapper around the Backburner microlib. Backburner is fundamentally a stack of lists of queues. Let's break it down.

No comment yet.
Scoop.it!

MVC way to introduce Sails.js - node.js framework

introduce Sails.js in MVC way, we all know MVC for web development, let looking for Sails.js for Node.js Web application MVC infrastructure and development.
No comment yet.
Scoop.it!

All About Polymer at SFHTML5 (Complete Event Recording)

  • Web Components Tools & Libraries - Daniel Buchner
  • Web Component Mashups at 3 a.m. - Rob Dodson
  • SFHTML5 All About Polymer - Q&A
  • Using Polymer to Build Mobile Web Apps - Eugene Oksman and Akhilesh Gupta
  • Introduction to Polymer: The Next Generation of Web Development - Matthew McNulty
  • The Web Components Revolution is Here - Eric Bidelman
No comment yet.
Scoop.it!

I ported a JavaScript app to Dart. Here's what I learned.

I ported a JavaScript app to Dart. Here's what I learned. | JavaScript for Line of Business Applications | Scoop.it

This post analyzes two versions of the same app, both the original (JavaScript) version and the Dart version. The original version is a proxy for any small JavaScript app, there's nothing particularly special about the original version, which is why it made for a good example.

This post discusses the differences between the two implementations: file organization, dependencies and modules, shims, classes, type annotations, event handling, calling multiple methods, asynchronous programming, animation, and interop with JavaScript libraries. Finally, I detail the lessons learned.

No comment yet.
Scoop.it!

Realtime bandwidth

Realtime bandwidth | JavaScript for Line of Business Applications | Scoop.it

One of our key products is a trading dashboard that handles hundreds of thousands of events from football matches and related betting markets. To consistently deliver value, we need to be able to handle this flurry of messages over a WebSocket connection and reliably keep the UI in sync.

At its peak, on a typical Saturday afternoon, each WebSocket connection will receive upwards of 500 messages per second. Translating each of these messages into a UI update yields incredibly bad performance: the incumbent dashboard does just that, but as the business has scaled, we are hitting the limits of the current solution.

So that we can continue to provide value to our users, we need to think about ways we can separate the concerns of receiving messages and updating the UI. Doing so has pushed us to evaluate our tech stack and rebuild portions of our dashboard from the ground up.

No comment yet.
Scoop.it!

Leaflet directive for AngularJS

Leaflet directive for AngularJS | JavaScript for Line of Business Applications | Scoop.it

This directive allows you to embed a map on your AngularJS application and interact bi-directionally with it via the AngularJS scope and the leaflet map library API. In its current state, it's not a full-featured library, although it's easy to use and extend, and a good starting point to learn to code a directive into the great AngularJS library.

Hector R Salazar's curator insight, August 26, 2014 8:39 AM

Ionic + Angular + Leaflet

Scoop.it!

How to use ngMessages in AngularJS

How to use ngMessages in AngularJS | JavaScript for Line of Business Applications | Scoop.it

ngMessages is a new feature in AngularJS 1.3 for rending error messages in forms

Forms in AngularJS are a delight to work with since they naturally work off of the basics of how forms work in HTML. The ngModel directive peacefully works with form controls and the state of a form can easily be examined using the name of the form and the name of each input control. But what about displaying error messages? Since there is no set way of displaying error messages in forms, there are many inconsistent ways to do this in AngularJS. While showing and hiding a message is easy using ngIf or ngSwitch, making use of multiple messages across and entire application is where things get messy. Do we really have to use ngIf over 20 times for a form just to show a handful of messages? How can we reuse a template of messages in other parts of the application? Are forms really this complicated?

The new ngMessages module introduced in AngularJS 1.3-beta.8 is designed to render error messages in a reusable and maintainable way. Instead of having to butcher up your template code by placing ngIf statements everywhere, ngMessages listens on the `model.$error` object and then decides which messages to display based on what is present in the template.

Interested in learning more? let's explore the ngMessages and ngMessage directives in detail.

No comment yet.
Scoop.it!

angular-bind-polymer - Angular Directives that Use Custom Elements

angular-bind-polymer - Angular Directives that Use Custom Elements | JavaScript for Line of Business Applications | Scoop.it

The angular-bind-polymer library is an Angular directive that enables Angular to bind scope variables to custom element attributes. So if my Angular code has an answered variable in the current scope, I can bind it to a Polymer custom element by injecting the angular-bind-polymer library and assigning the bind-polymer attribute to the custom element:

<x-double bind-polymer in="2" out="{{answer}}"></x-double>
<pre ng-bind="answer"></pre>

No comment yet.
Scoop.it!

AngularJs UI-Router

uiRouter is an alternative router for AngularJS v1.0. Instead of configuring a list of routes, you configure states.

We can set multiple named views inside of a state. This feature is a particularly powerful one in ui-router: Inside of a single view, we can define multiple views that we can reference inside of a single template.

Just like in ngRoute, we can either associate an already registered controller with a URL (via a string) or we can create a controller function that operates as the controller for the state.

If there is no template defined (in one of the previous options), then the controller will not be created.


No comment yet.
Scoop.it!

High Performance Web Components

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! The building blocks are well known: HTML templates, custom elements, HTML imports, and shadow DOM. It's fairly easy to build simple examples. But what happens when performance degrades? Join this discussion of the synchronous and asynchronous nature of web components, and how they can impact the rendering of the entire page.

No comment yet.
Scoop.it!

The Web's Declarative, Composable Future.

The Web's Declarative, Composable Future. | JavaScript for Line of Business Applications | Scoop.it

The way that languages in the web platform evolve are in direct response to the pain caused by complexity. Pain is generally a bad thing and so it’s with better patterns and platform primitives that we can ease some of this complexity in the browser. Complexity on its own can take lots of forms, but when we look at the landscape of how developers have been building for the web over the last few years, common patterns can be one the most obvious things worth considering baking in solutions for. Layering the platform as part of the extensible web manifesto has been hugely helpful in making this possible

This year, the platform is getting Web Components, bringing forward a way to make the relationships between markup and behaviour a lot less vague when you’re looking at the HTML. In one word, a future with Web Components is declarative.

No comment yet.
Scoop.it!

Understanding the four layers of JavaScript OOP

Understanding the four layers of JavaScript OOP | JavaScript for Line of Business Applications | Scoop.it

JavaScript OOP is baffling: on one hand, there is a simple core, on the other hand, there are some really weird things going on. I’ve been pondering for a long time how to explain it well and I think the best way to do so is via four layers: single objects, prototype chains, constructors, constructor inheritance. The first two layers are JavaScript’s simple OOP core, layers 3 and 4 are where the complications start.

Scoop.it!

Getting Started with Protractor and Page Objects for AngularJS E2E Testing

Getting Started with Protractor and Page Objects for AngularJS E2E Testing | JavaScript for Line of Business Applications | Scoop.it

When it was announced that Protractor would be replacing the karma runner as THE end to end test framework for AngularJS, I’ll admit, I was a bit sad. While I didn’t have a deep love for the karma runner, it was crazy simple to setup and run, and my initial perusal of the Protractor docs was intimidating. After spending some time with Protractor though, I have come to enjoy using it in the same manner in which I would test a Rails application.

Going through the Protractor docs and getting started can still be a daunting task. My goal is to alleviate some of that by sharing my configuration and setup, as well as using the page object pattern for creating an API through which we’ll interact with our web pages. We’ll also be using the jasmine-given library to help clean up our specs.

No comment yet.
Scoop.it!

Script Node.js from .NET using Edge.js

Script Node.js from .NET using Edge.js | JavaScript for Line of Business Applications | Scoop.it

The Edge.js project existed for a while, but until now it only allowed scripting CLR code from a Node.js process on Windows, MacOS, and Linux. With the latest release, you can also script Node.js code from a CLR process.

You can call .NET functions from Node.js and Node.js functions from .NET. Edge.js takes care of marshalling data between CLR and V8. Edge.js also reconciles threading models of single threaded V8 and multi-threaded CLR, and ensures correct lifetime of objects on V8 and CLR heaps.

The most powerful aspect of the Node.js scripting capability that Edge.js just enabled is that you can tap onto the many thousands of Node.js modules available both in the Node.js runtime as well as on NPM. For example, you can now create a websocket server in Node.js with a message handler in C#, all running within a single CLR process.

No comment yet.
Scoop.it!

wolfpack - SailsJS Model Testing Library

wolfpack - SailsJS Model Testing Library | JavaScript for Line of Business Applications | Scoop.it

Wolfpack helps you test your SailsJS models without the need for a db or lifting your sails app.

Basically, this is a library that instantiates your Sails models so that you can use them in your tests, without worrying about setting up a db, which introduces latency to your tests. By defaults it spies all Model functions with sinonJS, so you can test if the correct parameters are being sent to the model.

No comment yet.
Scoop.it!

Essential JS - Functional JavaScript "the right way

Essential JS - Functional JavaScript "the right way | JavaScript for Line of Business Applications | Scoop.it

Essential.js is a simpler alternative to Underscore.js that gives you a solid base to get started with functional programming in JavaScript "the right way":

No comment yet.
Scoop.it!

More Dynamic Web Pages with AngularJS

More Dynamic Web Pages with AngularJS | JavaScript for Line of Business Applications | Scoop.it

Declarative programming is when you write your code in such a way that it describeswhat you want to do, not how you want to do it. As such, it is left up to the compiler or interpreter to figure out the how. SQL and XSTL are both examples of declarative programming languages.

Imperative programming is telling the machine how to do something, with the end result being what you want to happen. As for examples, just about every programming language, including Visual Basic, Java, and C++, is imperative.

Typically, a language falls squarely into one of the two camps. JavaScript, the language of AngularJS, is a rare breed -- flexible enough to be used either way, so it's often used to present side-by-side comparisons. That being said, most of the examples that I've come across compare declarative programming to its functional equivalent. Functional programming is a form of declarative programming that implements a function-based approach to problem solving. Perhaps the most noteworthy ramification of the black-box approach of functional languages is that they are stateless; that is, the value returned by a function is wholly dependent on its input. Functions in imperative languages allow for the creation and transformation of data so that subsequent function calls may modify a variable.

No comment yet.
Scoop.it!

AngularJS: Factory vs Service vs Provider

AngularJS: Factory vs Service vs Provider | JavaScript for Line of Business Applications | Scoop.it

When you first get started with Angular, you’ll naturally find yourself flooding your controllers and scopes with unnecessary logic. It’s important to realize early on that your controller should be very thin; meaning, most of the business logic and persistent data in your application should be taken care of or stored in a service. I see a few questions a day on Stack Overflow regarding someone trying to have persistent data in his or her controller. That’s just not the purpose of a controller. For memory purposes, controllers are instantiated only when they are needed and discarded when they are not. Because of this, every time you switch a route or reload a page, Angular cleans up the current controller. Services however provide a means for keeping data around for the lifetime of an application while they also can be used across different controllers in a consistent manner.

Angular provides us with three ways to create and register our own service.

1) Factory
2) Service
3) Provider

No comment yet.
Scoop.it!

AngularJS in Patterns (Part 1).

AngularJS in Patterns (Part 1). | JavaScript for Line of Business Applications | Scoop.it

This series of blog posts aims to provide a bit more theoretical overview of some of the AngularJS components in order to show you how the things you are already familiar with (like different Object-Oriented Design Patterns) fit in the picture.

The separation of concerns is achieved by dividing each AngularJS application into separate components, such as:

  • partials
  • controllers
  • directives
  • services
  • filters
Sarath Chandra's curator insight, June 30, 2014 2:24 AM

Best Practices for AngularJS

Scoop.it!

n3-charts: Versatile charts for AngularJS

n3-charts: Versatile charts for AngularJS | JavaScript for Line of Business Applications | Scoop.it

Built on top of D3.js and AngularJS, n3-charts.line-chart directive creates beautiful charts in AngularJS applications. It is simple and interactive.

Jan Hesse's insight:

https://github.com/n3-charts/line-chart

No comment yet.
Scoop.it!

AngularJS with touch of GulpJS

AngularJS with touch of GulpJS | JavaScript for Line of Business Applications | Scoop.it
Step by Step article on how to implement Gulpjs with AngualrJS application as an automated Task Runner for different tasks such as concatenating, minifying JavaScript, CSS and HTML files.
No comment yet.