JavaScript for Li...
Follow
Find
240.0K views | +494 today
Scoop.it!

Build first, decide later - Introducing, Primus a real-time server abstraction.

Build first, decide later - Introducing, Primus a real-time server abstraction. | JavaScript for Line of Business Applications | Scoop.it

You’re about to build your first real-time application and are excited about it. You start researching the different kind of open source frameworks that should make it a breeze for you, but you’re overwhelmed by the possibilities.

Should you choose SockJS, Engine.IO or maybe just use pure WebSockets. It’s a hard decision to make as you know you’ll be locked in with that framework as you’re building your application on top of that API. But do you really need to be locked in?

Jan Hesse's insight:

Abstraction for Engine.IO, Socket.IO,WebSockets, Browserchannel and SockJS. 

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

Using Knockout.js to Control Cascading Selects

Using Knockout.js to Control Cascading Selects | JavaScript for Line of Business Applications | Scoop.it

This article provides the source code to enable you to easily configure a web page containing multiple SELECT controls used to filter a collection of records (usually displayed in a grid or table).  In the example, we use a collection of ficticious residential addresses representing homes for rent.  The page will allow the user to filter this list by state, city, zip code, # of bedrooms and residence type.

The page relies on the data binding provided by Knockout.js library.  This binding causes a change in a user's selection to be immediately reflected in the options available in the other controls.  For example, if the user selects Philadelphia in the City control, then the Zip Code control will only display zips that are in Philadelphia, and so on.

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

Random Number Guessing Game using HTML5, CSS3 and JavaScript (knockoutjs)

Random Number Guessing Game using HTML5, CSS3 and JavaScript (knockoutjs) | JavaScript for Line of Business Applications | Scoop.it

This article provides the source code to enable you to easily configure a web page containing multiple SELECT controls used to filter a collection of records (usually displayed in a grid or table).  In the example, we use a collection of ficticious residential addresses representing homes for rent.  The page will allow the user to filter this list by state, city, zip code, # of bedrooms and residence type.

The page relies on the data binding provided by Knockout.js library.  This binding causes a change in a user's selection to be immediately reflected in the options available in the other controls.  

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

Implementing pagination with MongoDB, Express.js & Slush

Implementing pagination with MongoDB, Express.js & Slush | JavaScript for Line of Business Applications | Scoop.it

MongoDB accepts and provides access to data in the Javascript Object notation (JSON) format. This makes MongoDB a perfect fit when dealing with javascript based REST services. In this post, we will take a look at Pagination using MongoDB. We will scaffold a simple Express/Mongojs application using slush-mongo. Then we will use skip() and limit() to fetch the required records from a set of data.

Pagination is one of the simplest ways to increase UX when dealing with average to huge data sets. We split the entire data into x records per page and the we will have (total records/x) pages and then we show a pagination with the number of page. As the user clicks on the page number, we seek and fetch the set of records for that particular view only.

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

Ducktyping SailsJS Core for Background Tasks via Kue

Ducktyping SailsJS Core for Background Tasks via Kue | JavaScript for Line of Business Applications | Scoop.it

My application needed to do some long running tasks, and I didn’t to block the current request/response and wait for them to finish. My application is built ontop of the SailsJS library which meant that I could use one of the many express.js libraries that add support for background tasks.

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

Minimal AMD loader

AMD simplifies modularizing JavaScript applications but as it is not a browser built-in mechanism a loader library is still needed to bootstrap the process. Fortunately it is possible to write a loader that supports plugins in less than 850 characters of optimized code.

The loader implemented here:

  1. works in any modern browser without using any ES6 features like Promises,
  2. exposes basic AMD functions: define and require,
  3. is designed to be as small as possible after compression with Uglify.js while still being readable,
  4. can be extended by defining new loader plugins,
  5. does not preserve compatibility with require.js.
more...
No comment yet.
Scoop.it!

Firefox OS Contact App Using Vanilla JavaScript

Firefox OS Contact App Using Vanilla JavaScript | JavaScript for Line of Business Applications | Scoop.it

This tutorial is about creating Firefox OS contact viewer app in vanilla JavaScript (without using any library or framework). We will be creating app using some best JavaScript practices which could be applied to SPA (Single Page Application), and Phonegap apps as well. We will also make use of Web Components to develop a custom element which will help us in layout and its animations. You will find this tutorial useful if you write JavaScript. The only thing that’s specific to Firefox OS will be the use of Contact WebAPI.

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

Using ReactJS and KendoUI Together

Using ReactJS and KendoUI Together | JavaScript for Line of Business Applications | Scoop.it

Much of that excitement is due to the fact that React views the UI differently that what we're used to. You don't mutate the DOM directly - instead React components render to a virtual DOM. This virtual DOM diffs your new changes and computes the minimum number of steps to update the actual DOM, which is then effectively "patched" only with what changed. 

However, every web UI library/framework I've worked with up to this point mutates the DOM directly. If I want to take advantage of existing UI widgets from other libraries, while still using React, can I do so?

The answer is yes.

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

Node Webkit powered Dashboard application

Node Webkit powered Dashboard application | JavaScript for Line of Business Applications | Scoop.it

In this post, we will be building a full fledged desktop application using node webkit and web technologies. We are going to build a dashboard app called myDashboard. The app will show the Weather report, Google Map, Flickr images and a Calendar.


Contents

  • Prerequisites
  • Getting Started
  • Begin Development
  • Continue Development
  • Distributing the application
more...
No comment yet.
Scoop.it!

Learn AbsurdJS: Building a to-do list app

Learn AbsurdJS: Building a to-do list app | JavaScript for Line of Business Applications | Scoop.it

However, there is something fundamentally different. The framework can convert JavaScript (or JSON) to valid CSS and HTML. Moreover, when we talk about client-side development, we know that we have to write a lot of CSS and HTML. AbsurdJS gives us the power to write in one language - JavaScript. As we will see in the next sections, we will write everything into JavaScript files. Including the CSS styling.

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

Creating Chrome Apps using Sencha ExtJS 5

Creating Chrome Apps using Sencha ExtJS 5 | JavaScript for Line of Business Applications | Scoop.it

This article is a quick (and, not so exhaustive) way to create a sample Chrome App using Sencha ExtJS.

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

Inheritance and composition with Polymer

Inheritance and composition with Polymer | JavaScript for Line of Business Applications | Scoop.it

One of the biggest things that come with web components, is the fact that you can extend existing elements. And since your own custom elements are also just HTML elements, you can extend them as well as native elements. From a surface point of view there's no differents between native elements and custom elements.

Let's take a look at how we can extend existing elements with Polymer. To extend an existing element, Polymer again comes with a nice declarative way via HTML.

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

A pragmatic guide to Backbone.js apps

A pragmatic guide to Backbone.js apps | JavaScript for Line of Business Applications | Scoop.it

A ranty, opinionated series of easily digestible tidbits

If you’re currently working on a Backbone app, the best way to read this is to stop at each point and think whether you’re doing any of those things I’m telling you not to. If you are, and you’re doing it all over the place, then a single item will have a huge impact if you act on it. And don’t be stupid, do act on it, otherwise you may as well not read it.

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

Node Webkit - Build Desktop Apps with Node and Web Technologies

Node Webkit - Build Desktop Apps with Node and Web Technologies | JavaScript for Line of Business Applications | Scoop.it

In this post, we will see how to build cross OS desktop apps using Node js and Web technologies. We will take a look at building and running a simple node webkit app and then expand on it by adding different features like platform services, node modules etc.


Contents

  • What is node webkit
  • Setting up node webkit
  • Hello node webkit
  • Run the application
  • Some more config options
  • Adding Native features
  • Using Node Modules
  • Distribute the App
  • App Security
more...
No comment yet.
Scoop.it!

jQuery-ko based "Component" definitions (pushing forward MVVM)

jQuery-ko based "Component" definitions (pushing forward MVVM) | JavaScript for Line of Business Applications | Scoop.it

Component definition is a javascript function which when called with new word instantiates a javascript object (theviewModel) and also defines and inserts the ko-synchronized view (html) into the document (web page).

But not only this, Component definitions must be able to be used (instantiated) alone or nested in otherComponent definitions. In this way we will always end up with one Component definition per page, but which will make use (probably) of a lot of other nested Component definitions.

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

Flexbox Based Responsive Equal Height Blocks With JavaScript Fallback

Flexbox Based Responsive Equal Height Blocks With JavaScript Fallback | JavaScript for Line of Business Applications | Scoop.it

Flexbox is an efficient and flexible way to manage probably all types of layouts. It provides almost no time gap between initially wrong and correctly laid out layout look. In JavaScript solution case it takes time to download the document, then to download the corresponding JS file, and, if there are any, download images in the blocks. Flexbox is instant and JavaScript takes seconds. Even so, this JavaScript case is perfect for people who use older browsers that do not support Flexbox.

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

Grunt & Gulp – an overview

Grunt & Gulp – an overview | JavaScript for Line of Business Applications | Scoop.it

Most often people associate both Grunt & Gulp with building systems but they are not restrict to that and both can form part of the of a front end dev’s day to day development process being able to run tests & reload html when altered, etc

Similarities
  • Both use Node.js to provide their functionality
  • Installed via NPM & need both a global and project specific install
  • Have a plugin eco-system
  • Their configuration files are valid JavaScript
  • Configuration consists of “Tasks”
more...
No comment yet.
Scoop.it!

Tutorial: Easy authentication for Sails.js apps

Tutorial: Easy authentication for Sails.js apps | JavaScript for Line of Business Applications | Scoop.it
Learn how to quickly setup Twitter, Facebook or local authentication for your Sails.js app using Passport.js and sails-generate-auth.
more...
No comment yet.
Scoop.it!

Should you use Geddy for Node.js?

Should you use Geddy for Node.js? | JavaScript for Line of Business Applications | Scoop.it

Geddy is a web framework for node.js that is reminiscent of rails. I chose to learn Geddy because I am already very comfortable with ruby on rails, as well as node.js.

I chose to follow the tutorial on their website. It was very straightforward, and only took a few hours. If you get choose to do the same and get stuck, take a peek at my finished tutorial.

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

Fount - Dependency Injection for Node.js

Fount - Dependency Injection for Node.js | JavaScript for Line of Business Applications | Scoop.it

My opinion on dependency injection (DI) for Node for years has been that it was unnecessary.

We can require this once during our service initialization and then require the same module to get the same instance anywhere it's needed. There are even simple ways to modify this pattern to make dependencies easy to stub or mock when testing.

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

Project Kotlin - statically typed, targeting the JVM and JavaScript

Project Kotlin - statically typed,  targeting the JVM and JavaScript | JavaScript for Line of Business Applications | Scoop.it

1. Concise

Drastically reduce the amount of boilerplate code you need to write.
2. Expressive

Write code to express intent as opposed to surfacing implementation details.

3. Safe

Avoid having to work with pesky null reference exception checks.
4. Versatile

Suitable for any type of application. Even for sharing code between JVM/JS.
5. Interoperable

Leverage existing frameworks and libraries of the JVM with 100% Java Interoperability.
6. Tooling

Command Line Compiler or First Class IDE Support. Freedom to choose.

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

Why Web Components Aren't Ready for Production... Yet

Why Web Components Aren't Ready for Production... Yet | JavaScript for Line of Business Applications | Scoop.it

We finally have a stable, unprefixed, unflagged version of Web components to try out. But that doesn’t mean that they’re ready to use in your production applications — because for most applications, they’re not.

In this article you’ll see why that is. We’ll discuss the current issues with using web components in production, and what needs to be done to solve them.

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

Test Driven Development and CI using JavaScript [Part I]

Test Driven Development and CI using JavaScript [Part I] | JavaScript for Line of Business Applications | Scoop.it

In this tutorial, we will learn how to apply TDD (Test-Driven Development) using JavaScript code. This is the first part of a set of tutorials that includes TDD and CI (Continuous Integration) using JavaScript as the main language.

Part II of this two part tutorial will discuss Behavioral Driven Testing and Software Testing – how to use BDD to test your JavaScipt code.

Jan Hesse's insight:

http://blog.loadimpact.com/2014/04/29/test-driven-development-and-ci-using-javascript-part-ii/

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

Authentication in a Backbone application with node.js on the server

One way to implement authentication/authorization in single page Backbone application, with node.js/express on the server.

Features
  • Authentication in single page
  • Login user
  • Persistent login with cookies
  • Sighnup
  • Logout
  • User roles - public, user, admin
  • Determinig which routes are viewable based on the user's role
  • Basic web forms

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

Web Reflection: A W3C Custom Elements Alternative

Web Reflection: A W3C Custom Elements Alternative | JavaScript for Line of Business Applications | Scoop.it

Let me introduce you my W3C Custom Elements Polyfill, and these are few features:

  • less than 2KB minified and gzipped without extra dependencies, you serve this file, you have it!
  • a wide range of old to modern mobile devices support ... iOS 5 and Android 2 are only few of them, IE9 for Windows Phone 7 made it too together with webOS 2!
  • focus on one task ... and while this sounds obvious, I don't think to use Custom Elements we need a proper, partial, cross browser fix for both MutationObservers and WeakMap ... but good news is, if you have already a patch for MutationObservers these will be used instead of old Mutation events API: it's a win-win!
more...
No comment yet.
Scoop.it!

Your first Node.js package

Your first Node.js package | JavaScript for Line of Business Applications | Scoop.it

It might be worth saving yourself some time and doing a couple of searches for the package you are looking for.

As of this writing there are ~86k packages in npm and there is a good chance someone has done something similar to what you are building.

This is a very basic workflow and after you do it a couple of times it becomes engrained in your muscle memory!

more...
No comment yet.