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!

Reusable UI controls with KnockoutJS

Reusable UI controls with KnockoutJS | JavaScript for Line of Business Applications | Scoop.it

When developing large applications, it’s best practice to use some level of the DRY principle, and attempt to create reusable modules, components, and code wherever possible. Unfortunately, adhering to this principle with KnockoutJS it not as straight-forward as it could be.

The problem.. well it’s not really a problem, it’s just the way KnockoutJS was designed. KnockoutJS is more of a library for doing MVVM, than a framework that has opinions on how you re-use your code. There are a few frameworks out there that attempt to solve this issue, and do it very well.

No comment yet.
Scoop.it!

Todo web app with meteor js

After reading the Discover meteor , I want to create sample web apps with meteor.js. So, I did the todo. Yes, it’s easy and can apply what we learn. I commitstep by step and it’s only 15 commits. So, if you want to learn , how I did it , you can check on the commits.

Why meteor

Meteor is awesome for real time web apps. It’s using DDP (Distributed Data Protocol) for real time. If you are making the real time web app, you should chose the meteor. But if you are making to show large amount of data, not recommend for my point of view.

Learning

Meteor is different with other framework. So, if you want to learn meteor , I recommend the Discover meteor book. After reading the book , you should watch the EventedMind videos.

You can check my code demo at http://learningmeteortodo.meteor.com/ and get the code from github.

No comment yet.
Scoop.it!

Flight Mixins

Flight Mixins | JavaScript for Line of Business Applications | Scoop.it

We started building Flight.js at Twitter back in 2011 as a component-based framework. Two and a half years later, with the whole of twitter.com now running on Flight, how do we feel about Flight and mixins? Are they working for us?

Rather than using the classical talking animals to describe our components, I’ll try to use real-life twitter components, though I’ll be dramatically simplifying for readability.

 

* Precedence

* Inheritance

* Modularity

* Attributes

* Summary

No comment yet.
Scoop.it!

JS: The Right Way

JS: The Right Way | JavaScript for Line of Business Applications | Scoop.it
A quick reference to best practices for writing JavaScript -- links to code patterns and tutorials from around the web

This is a JavaScript guide intended to introduce new developers and help experienced ones to the JavaScript's best practices.

Despite the name, this guide doesn't mean exactly "the right way" to do JavaScript.

We just gather all the stuff from top developers and put here. Since it come from exceptional folks, we could say that it is "the right way", or the best way to do so.

* Getting Started

* JavaScript Code Style

* The Good Parts

* PatternsTesting Tools

* Frameworks

* Reading

* Who to follow

* PaaS Providers

* Helpers

No comment yet.
Scoop.it!

Practical End-to-End Testing with Protractor

Practical End-to-End Testing with Protractor | JavaScript for Line of Business Applications | Scoop.it

One of the reasons AngularJS is so great to work with is that it was developed around the idea that testing is so important that it should be built into the framework. Every check-in of the Angular source is tested before it’s accepted into the core.

Testing is incredibly important, especially in a dynamically typed environment like JavaScript. It gives us the opportunity to catch errors before they happen in production. Testing code allows us to be confident about the production value of our code.

As bugs in our code, or any code, are inevitable, it’s important for us to be able to determine where they are and try to eliminate them before they show up in production. Using testing, we can isolate these pieces of functionality in a test environment where we can understand our app from the inside out.

Testing is essential if we are to understand what is happening in our app.

In this article, we’re examining how to test our application using end-to-end testing. End-to-end testing is black box testing. We are testing that the system works as planned from an end user’s perspective.

An end user doesn’t care if a service works as planned; he or she cares that the functionality of our app works as expected. We can think of it as a way to automate starting the app in our browser and clicking through the workflow of the application.

It would be inefficient for us to click through the application manually, so we’ll script our tests to happen automatically.

No comment yet.
Scoop.it!

Accessors vs Dirty-checking in Javascript Frameworks

Accessors vs Dirty-checking in Javascript Frameworks | JavaScript for Line of Business Applications | Scoop.it

One of the many ways in which EmberJS, AngularJS, and BackboneJS differ is in how they treat their models. AngularJS uses dirty checking on Plain Old Javascript Objects (POJSO); whereas EmberJS and BackboneJS both use accessors (getters and setters) on wrapped objects.

We will be exploring the ways in which these two approaches differ, and the implications these differences have when it comes to choosing which Javascript framework we we should write our single page apps in.

No comment yet.
Scoop.it!

Rails + AngularJS - A generic approach

Rails + AngularJS - A generic approach | JavaScript for Line of Business Applications | Scoop.it

One of the best things I found with the mix Rails+AngularJS is that you can have many small AngularJS applications in your project. In my case one thing is very important to me is that AngularJS doesn’t manipulates DOM, all you want to do in your view is html and some new elements, in html too, but reading a template, you can understand what’s happened all the time.

I’ll show an example to explain how AngularJS works and how you can improve some parts of your Rails application in a very easy way.

No comment yet.
Scoop.it!

Inheritance with Ember.js components

Inheritance with Ember.js components | JavaScript for Line of Business Applications | Scoop.it
How to use Ember.js components in general and how to re-use them through inheritance to extend certain behaviour without repeating yourself.

One of the nicest things about Ember.js are components. It’s very easy to create reusable, self-contained components. But reusable doesn’t just mean to reuse the component throughout an application, it also means to extend such a component. Due to Ember’s inheritance model it’s pretty straight forward to extend an existing component to inherit behaviour and add new logic. 

No comment yet.
Scoop.it!

SegregatedDOM

SegregatedDOM | JavaScript for Line of Business Applications | Scoop.it

Single-page web applications often turn into jQuery soup, where application logic, DOM manipulation, and server access are all mixed together. This mixing of concerns makes such applications harder to understand and test than they ought to be. Segregated DOM is a modularization tactic that separates all manipulation of the DOM into dedicated JavaScript objects.


The principal benefit of doing this is to make it easier to reason about each class by keeping it focused on a single task. When I'm working on the Filter DOM class, I concentrate on how to do the DOM manipulations on the HTML elements. When I work on the controller I can ignore the details of the HTML structure, css class names, and the like.

In more abstract pattern terms, these DOM objects act as Gateways, a passage between two BoundedContexts (the application and the HTML DOM). Like any gateway the DOM object has an interface that speaks the vocabulary of its client (the application) and an implementation that translates this into the barbaric (HTML DOM) land beyond.


Goran Peoski's curator insight, February 3, 2014 2:17 AM

add your insight. ..

Scoop.it!

Getting Started With Gulp.js

Gulp.js is a build system/task automator written for nodejs. It’s useful for simplifying and speeding up your build process, automating tasks for you such as compiling code, minification, and concatenation.

Gulp differs from Grunt through the use of streams and a code-over-configuration approach. Through the use of streams, it allows you to write very simple scripts in a very similar way that you would to the front end using a library like jQuery while being very efficient and only writing files to the disk when you’re ready.

It’s also very easy to pick up and get running with only 6 methods to worry about. Only some minimal knowledge of the command line and npm is needed and then anyone comfortable writing javascript will get alon g nicely.

No comment yet.
Scoop.it!

Asynchronous Control Flow with jQuery.Deferred

Asynchronous Control Flow with jQuery.Deferred | JavaScript for Line of Business Applications | Scoop.it
How to adapt callback structures to callback queues using deferred objects (promises).

Zumba® Tech is a big fan of javascript promises; they free our code from callback hell by allowing us to use a more elegant and abstract structure. With promises, asynchronous control flow becomes intuitive (first a and b, then c) and fun. Today, I’ll show you how to adapt a third party library that uses callbacks to a promise interface.

No comment yet.
Scoop.it!

Meteor: Working with Accounts

Meteor: Working with Accounts | JavaScript for Line of Business Applications | Scoop.it

The support for Accounts in the Meteor platform has left me incredibly impressed. Various accounts packages allow for the addition of account handling on the backend and on the user interface with minimal effort. Adding in support for popular authentication methods (such as Google, Facebook, Twitter, etc.) consists of adding a new accounts package.

To demonstrate, I’m going to take the simple chat application that I built in the Meteor Introduction post and extend it to use accounts instead of using a simple text input to specify the message user.

No comment yet.
Scoop.it!

Kendo UI the whole package

Kendo UI is an amazing framework that does a lot more than just make your website pretty. I have decided to do a series of posts on using the entire package to put together a complete blog site using Kendo UI, Twitter Bootstrap, and Everlive.

To get started lets just look at what each piece of the pie is and how they will be used to work together and how they will help us reach our final goal.

Now we have all seen the standard contact form on a site and I think they are good to have. So in this installment I will show you how to put together a contact form and wire it up using Kendo UI's MVVM. Along the way I will show you how to use the Kendo UI Validator's. 

The big star of the show will be hooking your form data up to Everlive content item and saving the data to your cloud storage and then sending you an email from your site. Now I would normally not push data from a contact form into a database, but for this tutorial we will do it just cause we can.

 

No comment yet.
Scoop.it!

Create your own real-time forum with Meteor

Create your own real-time forum with Meteor | JavaScript for Line of Business Applications | Scoop.it

Meteor is one of a new breed of JavaScript frameworks changing the way we build web apps. Tom Coleman and Sacha Greif explain how to get started in building a simple forum.

Launched in April 2011, Meteor is a JavaScript framework that's part of a wave of tools ushering in a new way of developing web apps. You know the kind: you keep hearing about them and promise yourself you'll check them out, yet never find the time to actually dive in.

Luckily we're here to help you out. So follow along, and in less than 30 minutes you'll have Meteor up and running, will be playing around with its impressive real-time capabilities, and will finally know what all the fuss is about.

No comment yet.
Scoop.it!

Durandal: Quick Start

Durandal: Quick Start | JavaScript for Line of Business Applications | Scoop.it

Durandal is a lightweight JavaScript framework designed to make building Single Page Applications (SPAs) simple and elegant. It has strong support for MVC, MVP and MVVM so that no matter what type of front end architecture you prefer, Durandal can handle the task.

With RequireJS as its base and a thin layer of conventions, Durandal can provide amazing productivity while helping you to maintain SOLID coding practices. Pair that with out-of-the-box support for rich UI composition, modal dialogs, eventing/messaging, widgets, transitions, routing and more....and there's no doubt you'll be able to build whatever apps you can imagine.

No comment yet.
Scoop.it!

Static Web Apps - A Field Guide

Static Web Apps - A Field Guide | JavaScript for Line of Business Applications | Scoop.it

Static Web Applications run independently of the need for server-side dynamic processing. Static web architecture eases common web development headaches without introducing additional complexity. This guide will introduce you to the world of static web applications and offer solutions to common challenges encountered while building them.

Why?

* Broad Appeal
* Rapid Development
* Simple Scalability
* Day One Modularity
* Increased Flexibility


No comment yet.
Scoop.it!

JavaScript UI Testing with Zombie.js

JavaScript UI Testing with Zombie.js | JavaScript for Line of Business Applications | Scoop.it

Unit tests can be great to verify your source code, but there are times when integration tests provide a more useful report on the stability of your application.  Yes, integration tests (most likely) require more setup than unit tests, and yes, they will (again, most likely) test things outside of the code you wrote.  But they also come with a huge upside in that they test what your customers will use — the end product stack.  And including integration tests in your continuous integration builds can track how that experience functions over time.  Successful integration tests provide you with a real sense that your application performs correctly from end to end.

Although there are many possible integrations to test within an application, I’d like to focus on testing at the UI layer.  Within the Node.js environment, there are (of course) many options available to you.  One of the more popular tools to assist in UI testing is PhantomJS.  PhantomJS is not, however, a test tool but instead a headless WebKit, and requires a testing framework which may need additional configuration.  In some cases this might be necessary, but in other cases, a simpler solution is all that’s required.  Zombie.js provides that with very minimal setup and an intuitive interface for your UI testing needs.

No comment yet.
Scoop.it!

A Practical Guide to AngularJS Directives

A Practical Guide to AngularJS Directives | JavaScript for Line of Business Applications | Scoop.it

Directives are the most important components of any AngularJS application. Although AngularJS ships with wide range of directives, you will often need to create application specific directives. This tutorial will give an overview of custom directives and explain how to use them in real world Angular projects. At the end of the tutorial, I will guide you through the creation of a simple note taking app with the help of Angular directives.

Jan Hesse's insight:

follow up:

http://www.sitepoint.com/practical-guide-angularjs-directives-part-two/

No comment yet.
Scoop.it!

Ember.js - An Application Framework For The Future

Ember.js is a JavaScript framework which you can use to build ambitious web applications. Ember.js employs a strict MVC patterns to your web application development, and it utilises this pattern at great strengths in order to let you build web applications that is free from clutter and with a clear and understandable separation of concerns between the layers in your application.

This talk will demonstrate how you can build Ember.js applications while keeping your code organised so that you can continue to push the envelope on whats possible to achieve on the web, even as your application grows in both size and usage.

Expect less slides and more live coding from this talk!

No comment yet.
Scoop.it!

Hiding Implementation Details with ECMAScript 6 WeakMaps

WeakMaps are a new feature in ECMAScript 6 that, among many other things, gives us a new technique to hide private implementation data and methods from consumers of the public API we choose to expose.

WeakMaps are used instead of normal Maps or the combination of instance IDs and a plain object so that we neither hold onto references and leak memory nor need to introduce manual object lifetime management.

The WeakMap privates pattern is the best choice when you really need to hide private implementation details from public API consumers.

Jan Hesse's insight:

follow-up:

http://www.nczonline.net/blog/2014/01/21/private-instance-members-with-weakmaps-in-javascript/

No comment yet.
Scoop.it!

Ember.js Testing

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

Now that we can write JavaScript tests for our application, how do we execute them? Most developers start out using the browser directly, but because I wanted something I could execute headless from the command line in a CI environment with a rich ecosystem full of plugins, I looked to Karma.

What I liked about Karma is that it only wants to be your test runner. It doesn’t care what JavaScript test framework you use or what client side MVC framework you use. It’s simple to get started with and writing tests that execute against your production Ember.js application is just a few lines of configuration.

 

* Configure the Test Runner
* Unit Testing the Computed Property
* Add the Karma-Ember-Preprocessor and Configure It
* Integration Testing the Data-Bound Template
* Should I Write Unit or Integration Tests?
* Conclusion

No comment yet.
Scoop.it!

An introduction to Kendo UI JavaScript framework

* Highlight the main features that Kendo UI Web framework has to offer
* Show how it is possible to extend the framework with custom features
* Learn from Kendo UI code how to write better JavaScript code

No comment yet.
Scoop.it!

A Dive Into Plain JavaScript

A Dive Into Plain JavaScript | JavaScript for Line of Business Applications | Scoop.it

While libraries like jQuery help to forget most of the browser inconsistencies, you really become familiar with them once you start using plain JavaScript for everything. To avoid writing JavaScript that’s full of browser hacks and complex methods, I recommend using feature detection to only target the more modern browsers. This doesn’t mean that browsers like IE7 don’t see anything at all, it just means that they get a more basic experience without JavaScript enhancements.


Let’s start looking how the most basic and often needed functionalities work in plain JavaScript, compared to jQuery. For each example, I’m going to provide both the jQuery and plain JavaScript approach.


With jQuery, adding, removing and checking if an element has certain classes is really simple. It’s a bit more complex with plain JavaScript, but not too much so.

No comment yet.
Scoop.it!

Gulp is the new black.

Gulp is the new black. | JavaScript for Line of Business Applications | Scoop.it

There are many things I like about Grunt, and many of them are still true.

I like that Grunt gives you the choice of being a Config file or just straight up JS (write your own functions using Node Modules).

I like that it had it's own API to do things and forced plugins to be written in a common way (much like jQuery) - this made it easy to A : Use plugins quickly; and B : Write plugins.

I like that it garnered a quick following and is now used by a lot of Open Source projects. This in no doubt helped spawn a metric-shitton of plugins.

But there was room for more. There's always room for more.

 

gulp.src takes a glob (a list of files) and then you just pipe them through plugins. This is the thing with Gulp, it's all about Streams. Just think of it like the chaining you do with jQuery.

I like Gulp a lot, it feels like discovering Grunt all over again. I like the way its code over configuration; don't get me wrong, I love the simplicity of Gruntfiles and I think it gives opportunities to those who wouldn't normally write their own scripts to assist with automation to dive in. I am also aware that with Grunt you can choose to have code over configuration.

Grunt and Gulp can co-exist to serve different groups of people, for now though, im sitting with Gulp. I can't wait to start doing more with it.

No comment yet.
Scoop.it!

AngluarJS–Part 10, Intermezzo

AngluarJS–Part 10, Intermezzo | JavaScript for Line of Business Applications | Scoop.it

This is a series of posts about AngularJS and our experiences with it while migrating the client of a complex enterprise application from Silverlight to HTML5/CSS/JavaScript using AngularJS as a framework. 

I got some feedback from readers that they didn’t like that I never introduces how to implement a RESTful API which can then be consumed by an Angular application. I though that I should change this and have decided to publish this post where I show how a simple REST API can be implemented.

No comment yet.