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

hackathon-starter: A boilerplate for Node.js web applications

hackathon-starter: A boilerplate for Node.js web applications | JavaScript for Line of Business Applications | Scoop.it

If you have attended any hackathons in the past then you know how much time it takes to get a project started. Decide on an idea, pick a programming language, pick a web framework, pick a CSS framework. A while later, you will have an initial project up on GitHub, and only then can other team members start contributing. Or what about doing something as simple as OAuth 2.0 Authentication? You can spend hours on it if you are not familiar with how OAuth 2.0 works. (As a side-note, over a year ago I had no idea WTF REST or OAuth were, or how to do a simple "Sign in with Facebook". It was a frustrating experience to say the least.)

No comment yet.
Scoop.it!

JavaScript Framework Smackdown - A comparison of 3 popular MV* frameworks

Have you ever worked on a website that displayed data dynamically? Are you tired of putting HTML markup inside Javascript? 

Chances are you’ve looked into using what’s known as an MV* framework. These kind of frameworks aim to help reduce the effort in binding Javascript and JSON data to the user’s screen. 

Learn more about 3 of the most popular frameworks being talked about in the developer community: Knockout (by a Microsoft employee), Angular (by Google), and Ember (by a Rails and jQuery contributor). 

We’ll compare and contrast these frameworks and how they ranked against our criteria in building a client-side heavy application that updates its data in real time.

No comment yet.
Scoop.it!

Advanced QUnit - Front-End JavaScript Unit Testing

Unit testing front-end JavaScript presents its own unique set of challenges. In this session we will look at number of different techniques to tackle these challenges and make our JavaScript unit tests fast and robust. We plan to cover the following subjects: 

* Mocking and spy techniques to avoid dependencies on 
- Functions, methods and constructor functions 
- Time (new Date()) 
- Timers (setTimeout, setInterval) 
- Ajax requests 
- The DOM 
- Events 
* Structuring tests for reuse and readability 
* Testing browser-specific behaviour 
* Leak testing

No comment yet.
Scoop.it!

Ember.js + Firebase = <3

Ember.js + Firebase = <3 | JavaScript for Line of Business Applications | Scoop.it

There are some really exciting technologies emerging these days for building powerful applications on the web. Two of the most interesting to me are Ember.js, a powerful MVC stack for JavaScript, and Firebase, a real-time database.

Both technologies are incredibly powerful and give developers a lot of leverage when building ambitious web apps. But combining them is the real sweet spot.

Today, I’m open sourcing ember-firebase, a stable, thoroughly-tested set of Firebasebindings for Ember.js. The code is available on GitHub.

Let’s talk a little about what it can do.

No comment yet.
Scoop.it!

Binary bitwise operators in JavaScript

Binary bitwise operators in JavaScript | JavaScript for Line of Business Applications | Scoop.it

This blog post describes JavaScript’s binary bitwise operators: bitwise And (&), bitwise Or (|), and bitwise Xor (^).

These operators work with 32-bit integers. That is, they convert their operands to 32-bit integers and produce a result that is a 32-bit integer (encoded as a floating point number, at least externally).

No comment yet.
Scoop.it!

You kids get off my lawn with your Meteor JS

You kids get off my lawn with your Meteor JS | JavaScript for Line of Business Applications | Scoop.it

I have a few friends who swear by Meteor, but after reading over the website I’m still not sold on using it over Sails.js, CompoundJS, or any of the other node frameworks.

I’m not trying to knock Meteor down, but I do want to explain to my friends why it won’t be using it for the time being. I feel that Meteor wants to solve a lot of problems that I don’t care about.

Maybe that’s because instead of making a lot of web apps I’m maintaining a B2B marketing website every day. Maybe I’ll look back on this post a year from now and kick myself. But for now, let’s go over what baffles me about Meteor.

No comment yet.
Scoop.it!

ExtJS Single Page Application Tutorial

Part 1 discusses what an ExtJS MVC Single Page Application looks like and how its code can be structured.

Part 2 presents a high-level overview of the code used to power a Single Page Application. 

Part 3 goes over how the Grid Controller shown in our example application is coded in ExtJS. 

Part 4 goes into the ExtJS representation of the view that is in our example application. We see why we view certain configurations over others and how you can use those configurations to create interfaces of your own. 

Part 5 discusses the form controller that represents the pop-up window in our example ExtJS single page application. 

Part 6 goes more in-detail on how the communication between the edit controller and the grid controller takes place with ExtJS.

No comment yet.
Scoop.it!

Pragmatic JavaScript

So you've been toying around with JavaScript. You have a basic feel for the language but don't quiet feel productive, yet. If so, this talk is for you. We'll peel away the abstractions, libraries, and frameworks to uncover the more interesting fundamentals of JavaScript. Specifically, we'll delve into the following: 
* Prototypal inheritance (and alternatives to classical inheritance) 
* Closures 
* Scope versus context and this 
* Public vs privileged vs private variables 
* Modules 
* Promises / Futures 
* Recent improvements from EcmaScript 5 and 6 
* Functional programming strategies 
* Documentation using JSDoc 
* Testing strategies 
* and more!

No comment yet.
Scoop.it!

Automated JavaScript Tests Using Grunt, Phantomjs, and QUnit

Many developers and development shops have embraced testing in their server side code – either using a TDD model, or sometimes just with unit or functional tests created on the fly – but very few developers I talk to test their front end code beyond eyeballing it in a few browsers (or if they’re lucky, with a service like BrowserStack). And even fewer of those use any kind of automation. In this post I’m going to try and help out that majority of you who aren’t testing – or maybe just aren’t automating.

Lately I’ve been converting a number of my jQuery plugins over to Github – something the new jQuery plugin site is requiring – and while doing so I’m refactoring and adding tests with QUnit(created by the same folks that write the jQuery core). I realized pretty quickly that having to go to the browser, hard refresh, and then run the tests again after every change was a time killer, but I didn’t want to write a whole bunch of tests and then go check the results, otherwise I could be tracking down bugs (in my code and the tests) for days. Instead I set up some automated testing using Grunt, PhantomJS, and a couple Grunt plugins. Here’s how.

No comment yet.
Scoop.it!

Containers & Dependency in Ember.js

Ember applications are built around an MVC model that prescribes Models, Views, Controllers, and Routes for managing persistence, DOM, application state, and URLs. In an ambitious enough app, that model may fail to cover the whole problem space. Fear not, for in this presentation you will learn how to use Ember’s container and dependency features to move beyond MVC, as well as learning how they tie Ember internals together.

No comment yet.
Scoop.it!

Using Node.js and Websockets to Build a Chat Service

Using Node.js and Websockets to Build a Chat Service | JavaScript for Line of Business Applications | Scoop.it

Node.js and Websockets are the perfect combination to write very fast, lag free applications which can send data to a huge number of clients. So why don't we start learning about these two topics by building a chat service! We will see how to install Node.js packages, serve a static page to the client with a basic web-server, and configure Socket.io to communicate with the client.

So why use this combo?

There are a lot of platforms which can run a chat application, but by choosing Node.js we don't have to learn a completely different language, it's just JavaScript, but server-side.

Node.js is a platform built on Chrome’s JavaScript runtime to make building applications in JavaScript that run on the server, easy. Node.js uses an event-driven, non-blocking I/O model, which makes it perfect for building real time apps.

No comment yet.
Scoop.it!

Post Series on Building a Test-Driven Grocery List Application

I decided to dedicate this series to building a test-driven application that would allow me to create a Grocery List. I figured it will be a small enough application to not get muddled down in large, complex requirements and several moving parts but still provide a real-life example of a CRUD-based application.

A Grocery List application is also something I have wanted to make for some time. We still, as a household, create a grocery list with pen and paper and take it in hand to the store. Nothing wrong with that, aside from the general user error of a)forgetting the list at home, and the user experience oversight of b) not being able to split up and cover parts of the list as a group. So, I thought it may be handy to have a web-based application that my family could add to, remove from and have available on the one thing we never leave the house without: attitudes. No. smartphones.

 

* Part I – Introduction
* Part II – Feature: Add Item
* Part III – Feature: Mark-Off Item
* Part IV – Feature: List-Item-Controller
* Part V – Feature: List-Controller Refactoring
* Part VI – Back to Passing
* Part VII – Remove Item
* Part VIII – Bug Fixing
* Part IX – Persistence
* Part X – It Lives!

No comment yet.
Scoop.it!

JavaScript Allongé | A strong cup of functions, objects, combinators, and decorators

JavaScript Allongé | A strong cup of functions, objects, combinators, and decorators | JavaScript for Line of Business Applications | Scoop.it

JavaScript Allongé solves two important problems for the ambitious JavaScript programmer. First, JavaScript Allongé gives you the tools to deal with JavaScript bugs, hitches, edge cases, and other potential pitfalls.

There are plenty of good directions for how to write JavaScript programs. If you follow them without alteration or deviation, you will be satisfied. Unfortunately, software is a complex thing, full of interactions and side-effects. Two perfectly reasonable pieces of advice when taken separately may conflict with each other when taken together. An approach may seem sound at the outset of a project, but need to be revised when new requirements are discovered.

When you “leave the path” of the directions, you discover their limitations. In order to solve the problems that occur at the edges, in order to adapt and deal with changes, in order to refactor and rewrite as needed, you need to understand the underlying principles of the JavaScript programming language in detail.

You need to understand why the directions work so that you can understand how to modify them to work properly at or beyond their original limitations. That’s where JavaScript Allongé comes in.

Gadgetzz.com's comment, January 28, 2014 7:49 AM
Good post!
Scoop.it!

Single Page Applications using ExtJS

This is the first of a series of tutorial explaining how to create Single Page Applications using ExtJS.

http://www.youtube.com/watch?v=lHtH53bMZZs

http://www.youtube.com/watch?v=o3wJ7IOfBJw

http://www.youtube.com/watch?v=LKa6tAbA6e4

http://www.youtube.com/watch?v=WaKZGPKqoc8

http://www.youtube.com/watch?v=1ymUDLPORfM

 

No comment yet.
Scoop.it!

Knockout.js javascript Series

As technology changing rapidly many JavaScript libraries have become the new trend .Lots of JavaScript libraries are coming to internet to make web faster and user friendly .
So i am going with the time starting series of blogs for Knockout .Below you will find the knockout introduction presentation , i will describe each slide in details in upcoming blog post .


* What is Knockout and Why to use it ?

* Places to Learn ,Run and Test Knokout.js

Jan Hesse's insight:

http://sarveshkushwaha.blogspot.de/2014/01/what-is-knockout-js-and-why-to-use-it.html

http://sarveshkushwaha.blogspot.de/2014/01/places-to-learn-run-and-test-knokoutjs.html

No comment yet.
Scoop.it!

A Guide to Building Your First Ember.js App

A Guide to Building Your First Ember.js App | JavaScript for Line of Business Applications | Scoop.it
In this tutorial, we'll build a simple Ember.js app to catalog your music collection, highlighting the framework's strengths and weaknesses.


As modern web applications do more and more on the client-side (the fact itself that we now refer to them as “web applications” as opposed to “web sites” is quite telling), there has been rising interest in client-side frameworks. There are a lot of players in this field but for applications with lots of functionality and many moving parts, two of them stand out in particular: Angular.js and Ember.js.

We could break down the app’s rudimentary functionality into the following steps:

1. Clicking ‘Add’ adds a new artist to the list, with a name specified by the ‘New Artist’ field (same goes for songs for a given artist)

2. Emptying the ‘New Artist’ field disables the ‘Add’ button (same goes for songs for a given artist)

3. Clicking an artist’s name lists their songs on the right

4. Clicking the stars rates a given song


We have a long way to go to get this working, so let’s start.


No comment yet.
Scoop.it!

Explanation of JavaScript's Single Threaded, Non Blocking I/O, Async Event Driven Model

This post is about how this unexpected behaviour led me into having a refresher of some of the core concepts regarding how JavaScript executes.


I and a colleague at work, were implementing a piece of functionality which basically translates to: "Create a function such that if that function is called with a delay flag being true, have a timeout for a line within the function, if not, then call that line immediately". Something like this...


Ok. Then it is obvious I've got something new to learn here. So I decide to dig more into why this is the case. A couple of researching got me the reason behind this behaviour. And to understand why things tie up this way, I needed to revisit what it meant by JavaScript being single threaded, non blocking I/O and has an asynchronous event queuing model for code execution.

No comment yet.
Scoop.it!

Ember.js with Ruby on Rails

Ruby on Rails MVC Is Not the Same as Ember.js MVC

One of the most confusing parts for people coming from Rails (or any other backend web application framework) it’s that what Ember.js calls MVC is very different to what other frameworks call MVC.

The following are the steps mention by Yehuda and the components in charge of each in both Ruby on Rails and Ember.js...

Jan Hesse's insight:
  1. Ruby on Rails MVC Is Not the Same as Ember.js MVC.
  2. Getting Started With Ember.js and Ruby on Rails: Ember Appkit Rails.
  3. Building an App for my mom with Ember Appkit Rails..
No comment yet.
Scoop.it!

Building An Email List Component With BackboneJS

Building An Email List Component With BackboneJS | JavaScript for Line of Business Applications | Scoop.it

A typical email app has several distinct areas of the application’s screen. There is a list of categories or labels, a list of email to show for a given mail box, a search or filter box, and an individual email view, for example. Each of these – and likely additional areas of functionality on the screen – can be composed in to small workflow objects as components of the larger email work flow.

The classic example of Gmail illustrates all of these basic components, and many more...

No comment yet.
Scoop.it!

JavaScriptOO.com, to find what meets your JavaScript needs

JavaScriptOO.com, to find what meets your JavaScript needs | JavaScript for Line of Business Applications | Scoop.it

We all know the major players in JavaScript projects. MV* frameworks like AngularJS, Backbone, and Ember.js are inspiring a whole new breed of client applications. Utility libraries like underscore and lodash simplify constructs once reserved for academic exercise. And of course, the monolithic namespace jQuery is everywhere. The large teams and growing communities behind these projects (a little corporate backing never hurts) are moving forward and providing very solid platforms for developers to build upon. However, they are merely a precursor for the renaissance that is happening in the world of JavaScript right now.

Jan Hesse's insight:

http://JavaScriptOO.com

No comment yet.
Scoop.it!

Ember.js is driving me crazy

For the past few months I've been working on a project with a fairly complex interactive web interface. This required me to venture into the wild and unpredictable jungle of Javascript development. I was totally unprepared for what I would find. Soon after starting the project it became clear that just using JQuery would not be sufficient for my project. I needed a higher level Javascript framework. After a doing a little research I settled on Ember.js.

Ember was definitely a big improvement over straight JQuery, and allowed me to get some fairly complex UI behavior working very quickly. But recently I've run into some problems...

No comment yet.
Scoop.it!

QUnit or Jasmine?

* Jasmine - a BDD framework that's clearly influenced by RSpec, and

* QUnit - a more traditional test framework from the jQuery project.

 

I compared them on three criteria:

1. Speed of setup. I tend to avoid testing tools that take me more than hour to get up and running.

2. Simplicity. Test frameworks don't need to be complicated; they just need to let me specify how my code should behave and keep out of my way. All things being equal, I'll choose an xUnit style testing framework to an RSpec style framework. If you're thinking "but I prefer BDD!" don't forget that the "B" in BDD is just language, and you can use that language in any framework you like.

3. Support for Continuous Integration. If you can't run your test suite automatically then sooner or later you'll forget to run it manually, and at some point ship a broken app to your users. Running tests in your CI build also enables you to automate continuous deployment, which is always a giggle.

No comment yet.
Scoop.it!

Integrating the Client and the Server with TypeScript

Integrating the Client and the Server with TypeScript | JavaScript for Line of Business Applications | Scoop.it

Peter walks through a simple Web page that retrieves and updates data on the server to summarize his best practices for creating the client-side portion of an ASP.NET application.

No comment yet.
Scoop.it!

Processing Forms in AngularJS

Processing Forms in AngularJS | JavaScript for Line of Business Applications | Scoop.it

Following up with the strategy outlined at our previous article about Decoupling the Drupal frontend with AngularJS, we implemented an AngularJS form that validated user input and submitted the data to an external service.

In this article, we'll walk through an example of this code and see how it works.

First, we must bootstrap AngularJS in the header of our HTML. We do that by adding a directive to the <html> tag which will define the name of our AngularJS module...

No comment yet.
Scoop.it!

BDD in JavaScript: CucumberJS

BDD in JavaScript: CucumberJS | JavaScript for Line of Business Applications | Scoop.it

CucumberJS is a JavaScript port of the popular BDD tool Cucumber (which itself was a rewrite of RSpec). It allows you to define Feature Specs in a Domain-Specific-Language (DSL) - called Gherkin - and run your specs using a command line tool which will report the passing and/or failing of scenarios and the steps they are comprised of.

It is important to note that Cucumber itself does not provide a default assertion library. It is a testing framework providing a command line tool that consumes defined Features and validates Scenarios by running Steps that are written in JavaScript. It is the developers choice to include the desired assertion library used in order to make those steps pass or fail. It is my intent to clarify the process by example through a single Feature with multiple Scenarios in this post.

If you had followed along in the previous TDD Series, you will find the specs defined in that series similar to Gherkin. In fact, I will be re-hashing a feature spec from that series to demonstrate working through your first cuke (aka, passing feature spec).

Jan Hesse's insight:

follow up:

http://custardbelly.com/blog/blog-posts/2014/01/22/cucumberjs-world/index.html

No comment yet.