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

Exploiting Ember’s Routing to Avoid Nested Templating

Exploiting Ember’s Routing to Avoid Nested Templating | JavaScript for Line of Business Applications | Scoop.it

By nesting routes, it enables you to easily maintain a parent-child relationship and ember.js pretty explicitly states that when you are creating routes that the child route is expected to be rendered into the parent template via an {{outlet}}. I agree that a fair majority of the time this is a good idea, but what about the cases where you want to display a model in its own template (within whatever parent you are rendering into) without displaying the parent? What if you are nested many levels deep? I feel that often this can lead to unnecessary clutter in your interface.

No comment yet.
Scoop.it!

Introducing Ractive.js: next-generation DOM manipulation

Introducing Ractive.js: next-generation DOM manipulation | JavaScript for Line of Business Applications | Scoop.it
The Guardian's interactive team introduce a new JavaScript tool for manipulating webpages

Developers might point you towards a framework for templateing, such as AngularJS or EmberJS. These frameworks do a lot of the heavy lifting for you, particularly as far as model-view data binding is concerned.

But these frameworks also have a cost - they tend to be fairly large, and once you've finished the 'hello world' tutorials they have steep learning curves. Particularly for smaller projects, it's often a case of using a sledgehammer to crack a nut.

Ractive was initially created to tackle the data binding problem in a more elegant way.

No comment yet.
Scoop.it!

Meet TextUml – A Real-time Application Developed with Signalr and Backbone.js

Meet TextUml – A Real-time Application Developed with Signalr and Backbone.js | JavaScript for Line of Business Applications | Scoop.it

It is still in very early stage and in terms of features it draws uml sequence diagram from your input and you can share the document with multiple users who can participate in collaborative editing.

Behind the scene TextUml is developed with Backbone.js in CoffeeScript, it uses Require.js for modularization, KineticJS for html5 canvas drawing,  Mocha, Chai and Sinon for client side testing. The server side uses all the latest beta of ASP.NET MVC, ASP.NET WebAPI and Signalr. 

No comment yet.
Scoop.it!

A Simple Chat Website Using ASP.NET and AngularJS

A Simple Chat Website Using ASP.NET and AngularJS | JavaScript for Line of Business Applications | Scoop.it

As the title suggests, this is a very basic website that implements global chat, meaning that the users can chat globally with each other by just registering their name. The code uses asp.net web services along with a little jQuery and AngularJS.

The idea that I had in mind before creating this was to utilize the capability of AngularJS to automatically update the DOM whenever its models are updated. The source of this idea is a Google presentation that I saw some time back about AngularJS and Firebase(Video). I thought that maybe we can implement something like this at a very small scale using the Application State of ASP.NET.

No comment yet.
Scoop.it!

Using PhantomJS WebServer

Using PhantomJS WebServer | JavaScript for Line of Business Applications | Scoop.it

The PhantomJS WebServer module lets you create self contained web applications that are easy to deploy to heroku using the PhantomJS build pack.

With phantomjs, you’re not limited to sending plain text back to the client - you can render images of the webpage and send that back (either by reading the file back with the File System Module, or using base 64 to send back an embeddable data-uri).

No comment yet.
Scoop.it!

Knockout.js - Filtering, Sorting, and Paging

Knockout.js - Filtering, Sorting, and Paging | JavaScript for Line of Business Applications | Scoop.it

Knockout.js is fantastic! Maybe I missed it but it appears to be missing flexible filtering, sorting, and pagination of its grids. This is a summary of my attempt at creating this functionality which has been working out amazingly well for my purposes.

Sort options are more simplistic and are also automatically added to the screen. Simply provide each option's name and value for the sort drop down as well as function to allow defining how the records are compared.

This mechanism can easily be adapted for using table headers as the sort triggers. That strategy hasn't crossed my functionality needs at this point.


No comment yet.
Scoop.it!

Handlebars.js – a Behind the Scenes Look

Handlebars.js – a Behind the Scenes Look | JavaScript for Line of Business Applications | Scoop.it

Handlebars has been gaining popularity with its adoption in frameworks like Meteor and Ember.js, but what is really going on behind the scenes of this exciting templating engine?

In this article we will take a deep look through the underlying process Handlebars goes through to compile your templates.

This article expects you to have read my previous introduction to Handlebars and as such assumes you know the basics of creating Handlebar templates.

When using a Handlebars template you probably know that you start by compiling the template's source into a function using Handlebars.compile() and then you use that function to generate the final HTML, passing in values for properties and placeholders.

No comment yet.
Scoop.it!

ECMAScript 6 modules: the future is now

ECMAScript 6 modules: the future is now | JavaScript for Line of Business Applications | Scoop.it

This blog post first explains how modules work in ECMAScript 6, the next version of JavaScript. It then describes tools that allow you to already use them now.

JavaScript does not have built-in support for modules, but the community has created impressive work-arounds. The two most important (and unfortunately incompatible) standards are "CommonJS Modules" and "Asynchronous Module Definition".

The goal for ECMAScript 6 (ES6) modules was to create a format that both users of CJS and of AMD are happy with.

No comment yet.
Scoop.it!

Profile-Guided JavaScript Optimization

Profile-Guided JavaScript Optimization | JavaScript for Line of Business Applications | Scoop.it

Profile-guided optimization (PGO) is a known compiler technique to produce an optimized code. The generated code is biased towards the common data set which will be fed to the code. It is definitely possible to apply the same technique to web applications written in JavaScript.

A key to a successful PGO is a set of representative data. It could be a sample which is obtained during the test run. However, we need to ensure that the data really resembles, to a certain extent, the actual real-world distribution. For example, a JSON parser should be tested with a set of valid (albeit synthetic) stringified objects, and not just a stream of random characters.

No comment yet.
Scoop.it!

Unit testing JavaScript with Promises and Jasmine

Unit testing JavaScript with Promises and Jasmine | JavaScript for Line of Business Applications | Scoop.it

Promises are a nice solution to write readable asynchronous code in JavaScript. If you understand Spanish, I highly recommend this great talk on Promises by Enrique Amodeo.

But, is the code with promises easy to unit test? It's not very difficult, you have to take into account the calls are asynchronous even if the production code executes instantly.

 

Nirmalya Ghosh's comment, July 27, 2013 6:42 AM
Thanks for sharing this lovely piece of content.
Scoop.it!

Prime Numbers, Factorial, and Fibonacci Series with JavaScript Array

Prime Numbers, Factorial, and Fibonacci Series with JavaScript Array | JavaScript for Line of Business Applications | Scoop.it

Instead of using loops, JavaScript Array object is quite powerful to create sequences. What about some more complex series and not just a list of consecutive numbers or letters? Fortunately, we still have other Array’s functions such filter, map, every, and reduce at our disposal. Those can be used to generate a list of prime numbers, compute the factorial, and produce the Fibonacci series.

No comment yet.
Scoop.it!

Ember.js Routing and Rendering Simplified

Ember.js Routing and Rendering Simplified | JavaScript for Line of Business Applications | Scoop.it

In this Ember.js tutorial, I want to do something that shows off WHY you’d do this in Ember, rather than with Turbolinks and a sprinkling of JavaScript. At the end of the tutorial, you’ll understand enough about Ember to do something useful with it.

The traditional approach is to augment static pages, but using a client side framework like Ember or Angular allows this work to happen quickly, while creating a maintainable code base. To demonstrate how ember.js handles routing and rendering views, we’re going to create a user profile editor.

No comment yet.
Scoop.it!

Bone.io - Realtime HTML5 Framework

Bone.io - Realtime HTML5 Framework | JavaScript for Line of Business Applications | Scoop.it

Bone.io allows you to build realtime HTML5 apps using websockets to deliver hot data to the browser. This enables you to easily construct rich, highly responsive user interfaces.

In a lot of ways, Bone.io can be viewed as a much improved version of Backbone.js. Backbone, Angular and other older frameworks rely primarily on AJAX and model bindings to get data to the DOM. The problem with this approach is that AJAX has no method for handling bi-directional communication. In the world of modern data-driven HTML5 applications, Bone.io strives to pickup where these other frameworks have left off.

No comment yet.
Scoop.it!

Keeping Ember.js Breadcrumbs Updated

Keeping Ember.js Breadcrumbs Updated | JavaScript for Line of Business Applications | Scoop.it

The product that I am helping develop for my employer “requires” that we show the user the current path. There are plenty of articles around the web that show how to implement breadcrumbs in ember.js, however I don’t think that anyone has ever tackled the problem that changing the current model within the controller never fires the “currentPathDidChange” event in the parent application.

No comment yet.
Scoop.it!

A Simple, Comprehensive Overview of Javascript

A Simple, Comprehensive Overview of Javascript | JavaScript for Line of Business Applications | Scoop.it

This isn’t a reference guide, programming tutorial or detailed overview. It’s a Javascript refresher, assuming you know another programming language and puts all the information in one place (just ctrl+f to find!). Javascript has nothing to do with Java, isdynamically typed and has C-like syntax.

No comment yet.
Scoop.it!

Angular.js - Sharing data between controllers

Angular.js - Sharing data between controllers | JavaScript for Line of Business Applications | Scoop.it

A lot of times my friends ask me - "How do we share data between controllers in Angular.js?"

Since services in Angular.js are injectable singletons, they seem like a good choice for sharing mutable data. But nothing is worth anything without some code. So here goes...

Geofrey van Hecke's curator insight, July 30, 2013 3:23 AM

add your insight...

 

Scoop.it!

Open Web Platform Daily Digest

Open Web Platform Daily Digest | JavaScript for Line of Business Applications | Scoop.it
This daily digest provides daily content about W3C, HTML, CSS, JavaScript, the Web APIs, web browsers (including their dev tools), web development, open source, and more
No comment yet.
Scoop.it!

Notes on Web Components + ARIA

Notes on Web Components + ARIA | JavaScript for Line of Business Applications | Scoop.it
How does use of the shadow DOM content affect ARIA use?

A potential sticking point about web components from an accessibility standpoint is that the HTML inserted into a document using web components is included in the Shadow DOMnot the regular HTML DOM. I wanted to check how this affects the use of ARIA roles, states and properties.

No comment yet.
Scoop.it!

watchlater Javascript channel full of tutorials

watchlater Javascript channel full of tutorials | JavaScript for Line of Business Applications | Scoop.it

A lot of collected introductory videos (46 until now) on the general topic of javaScript. Includes Frameworks like Node.js, Angular.js, Ember.js, Sails.js, Share.js, Store.js

No comment yet.
Scoop.it!

Tearing apart our biggest Javascript application: Morgenpost's Flugrouten Radar

Tearing apart our biggest Javascript application: Morgenpost's Flugrouten Radar | JavaScript for Line of Business Applications | Scoop.it

Given the level of complexity of some behaviors and the need to use a lot of external libraries, our obvious choice has been Backbone: this allowed us fine-grained tweaking (DOM manipulation, response parsing, etc.) while keeping our code well organized. Underscore comes along with it, of course.

At Kreuzwerker we are big fans of Brunch when it comes to organize and build our Javascript applications. This project was no exception, and for the first time we integrated the build process in the automatic deployment process (using Capistrano, another XW favorite) with ease.

We picked SCSS for the stylesheets. We base our class-naming conventions on SMACSS and, as the application needed to be embedded in 3rd party pages as well, we adopted a name-spacing convention in order to reduce the chance of classes clashing. We also used a minimalistic build of Bootstrap providing the grid and the scaffolding style for a couple of plugins.

For our templates we relied on Handlebars. If you’re accustomed to Mustache templates, the transition is easy. Furthermore, Brunch has a module for it allowing automatic pre- compilation and minification of all your templates. But the key feature, and life saver, is the support for helpers. We needed massive data formatting for dates, number, locales (more  on that in the next paragraph), as well as finding labels via ids in specific configuration files, and Handlebars’ helpers were just the right tool for it.

Internationalization was needed, but we didn’t want to clutter the API with it, so we opted for i18next. If you have been working with any i18n implementation, this is pretty much it. The cool thing is, they provide helpers for Handlebars on their website ready to be used in your templates. Piece of cake.

Regarding maps we gave Leaflet a try and we’ve been impressed by it. We used to work with OpenLayers, but sometimes it’s just too big for the task. Leaflet is very easy to use and customize. It’s well documented and a lot of tutorials are available online. The perfect companion to Leaflet has been Mapbox. They offer customizable maps, tiles and single image services. Furthermore, it’s very cheap. Your customer will love that.

Raphaël provided the vector graphics needed for the 3D map. dc.js came handy for plotting data out of our big dataset.

Last but not least, Moment.js saved our day when it came to deal with dates. Dealing with dates is often underestimated, but when you need to format, convert and process dates, moment is the winner:

No comment yet.
Scoop.it!

Creating Reusable Markup with The HTML Template Element

Creating Reusable Markup with The HTML Template Element | JavaScript for Line of Business Applications | Scoop.it
Learn how to use HTML templates in order to make your clien-side applications more maintainable.
No comment yet.
Scoop.it!

A plugin based architecture for AngularJS apps

A plugin based architecture for AngularJS apps | JavaScript for Line of Business Applications | Scoop.it

I’ve found a lot of examples of evolvable architectures in AngularJS and the module system allows me to create isolated components easily. But in all examples you need code changes to include new components or functionality and new deployments of the entire application to your production server.

What I’m going to outline here is an initial idea of how a plugin based application can be developed in pure HTML5 and javascript. In the hope somebody finds it interesting or have some comments to share on the idea.

No comment yet.
Scoop.it!

LEAN and MEAN (Mongodb ExpressJS AngularJS NodeJS) on CloudBees, OpenShift, Heroku and AppFog

We will be deploying the application to AppFog, CloudBees, OpenShift, Mongolab, MongoHQ and Heroku.  All PAAS clouds have great support for Node.js.

Scoop.it!

How to Implement a Tree in Ember.js

How to Implement a Tree in Ember.js | JavaScript for Line of Business Applications | Scoop.it
This post is for developers. Representing data structures such as trees is really simple with Ember.js. I'll show you how to do it in about 50 lines of code. We will use the experimental {{control}} Handlebars helper.

Via Saleh Souzanchi
No comment yet.
Scoop.it!

Authentication in Single Page Applications with Angular.js

Authentication in Single Page Applications with Angular.js | JavaScript for Line of Business Applications | Scoop.it

Since only the initial load of the app is a full page load, and subsequent communication with the server is entirely done via XHRs I need a slightly different model from the traditional one. One option I tried out was to have a traditional login page which, on success, redirects to a secured URL which loads the actual application. This has the added benefit that the client side code and view templates used for pages intended for logged in users are not accessible to anyone not logged in. However, in many cases this is not much of a concern as long as the communication against the resource API is properly secured. Preventing anyone from getting or modifying sensitive data is a server-side issue, and should therefore be properly handled there. I wanted a seamless user experience with no full page reloads beyond the initial page load, so I decided to play around a little and see if I could come up with an alternative.

No comment yet.