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

ember-component-library-template: Get started building your own custom components for Ember

ember-component-library-template: Get started building your own custom components for Ember | JavaScript for Line of Business Applications | Scoop.it

This template provides you with the basic project structure, build configuration and instructions to build your own custom component libraries for Ember.

With Ember Components now available, we wanted to create a simple template for creating component libraries. Component libraries can be built to wrap non-ember Javascript components, extend the functionality of Ember Views, and provide collections of controls which have some common/shared interaction.

However, if you want to reuse your components between projects, you’ll need to extract your components into a distinct project, and have enough build infrastructure in place so that your library can be built, exported and made accessible by dependent applications. We scoured for an existing minimal template to provide this structure, but could not find it, so we built a barebones version ourselves.

No comment yet.
Scoop.it!

Exploring the Possibilities of Sencha and WebRTC

The need for WebRTC:

Reduce infrastructure requirements

Need for speed & quality

Live streaming & data transfers

Easy Video/Audio chat sessions 


Key Features:

Media Streams

Peer Connection

Data Channels

No comment yet.
Scoop.it!

The-M-Project - Mobile HTML5 JavaScript Framework

The-M-Project - Mobile HTML5 JavaScript Framework | JavaScript for Line of Business Applications | Scoop.it

The-M-Project is a Mobile HTML5 JavaScript Framework that helps you build great mobile apps, easy and fast.

The-M-Project is an open source HTML5 JavaScript framework for creating modern, cross-platform mobile web apps. It provides developers with an MVC-based architecture for structured and convenient application development. The shiny UI is based on jQuery Mobile and the work of the Filament Group.

The main principle behind The-M-Project can be described in one sentence: Develop a mobile application with well-established web technologies – supported by an extensive, intuitive framework – and use the result on any modern mobile platform.

The-M-Project is Open Source Software published under the MIT License. This gives you total flexibility for your development. Build great free and commercial apps with it.

No comment yet.
Scoop.it!

A lower technology style of Angular for the enterprise

A lower technology style of Angular for the enterprise | JavaScript for Line of Business Applications | Scoop.it

I have been playing with a use of Angular that doesn’t follow the recommended Grunt/Bower/NPM best-practice tool-chain. The hypothesis is that many Java enterprises are not ready to go all the way down that road. It could be that developers are more comfortable with Java IDEs and build tools. 

Less JavaScript was one of the goals of the experiment. If we are still having to target Internet Explorer 7 & 8, then we need to worry about overwhelming those browsers. At least we need to regression test enthusiastically every week of a project that is supposed to support it. We also have to ensure that the open source we leverage supports it too. I’ve failed already in that regard by using AngularUI as it doesn’t support IE7. OK, whatever, lets press on with the article.

To meet the “less JavaScript” goal, I’ve tried to do less of the Angular-team recommended Services, Directives, and Modules. Instead I am sticking with a single JavaScript controller with a single list of injectable services. Don’t worry, I’m still doing separation of concerns at development time. I’m also avoiding Jasmine, which is perhaps the most controversial aspect of what I’m showcasing here. Lastly I’m not using Karma (or Protractor) for end to end testing. Instead I’ll be testing in Java, and using WebDriver (and some libraries) as mechanism to test-cover all the HTML, the JavaScript and a subset of the Java back-end itself. See Component Testing below.

I’m using TestNG, but JUnit would be just fine as an alternative to that. It could also as easily be .Net & NUnit or Ruby & RSpec too.

No comment yet.
Scoop.it!

Reactive Web Applications and Meteor JS

Reactive Web Applications and Meteor JS | JavaScript for Line of Business Applications | Scoop.it

The creators of Meteor have solved general problems around real-time subscriptions and cache invalidation among other common problems that developers face. Meteor exposes reactive data sources, so that when data changes somewhere in the system, other components of the system can get updates in real-time.

We have yet to use Meteor as a whole in production at Tagged, but it is very possible that we will in the future. This framework gives developers more time to think about the product they are building and how to improve it, rather than trying to solve obscure problems in data-synchronization and distributed computing.

No comment yet.
Scoop.it!

Classical inheritance in JavaScript ES5

JavaScript’s prototype-based inheritance is interesting and has its uses, but sometimes one just wants to express classical inheritance, familiar from C++ and Java. This need has been recognized by the ECMAScript committee and classes are being discussed for inclusion in the next version of the standard.

It was surprisingly hard for me to find a good and simple code sample that shows how to cleanly and correctly express inheritance with ES5 (a lot of links discuss how to implement the pre-ES5 tools required for that) and explains why the thing works. Mozilla’s Object.Create reference came close, but not quite there because it still left some open questions.

Hence this short post. Without further ado, the following code defines a parent class named Shapewith a constructor and a method, and a derived class named Circle that has its own method...

Jan Hesse's insight:

precise and correct - this is the most ES6 compatible way

No comment yet.
Scoop.it!

New Rules For JavaScript

I bet you've been writing JS for years and you think you're pretty good at it. I bet you think you know all about how functions create closured scope, and how `this` gets bound, and even how `.prototype` works. Or, rather, you probably don't care because your framework or library takes care of all that for you.

JavaScript is generally considered one of the most misunderstood (and maligned) languages of the modern programming era. And there's good reason for that, because most developers who write JS never actually deeply *know* how the language works. They blame all their WTFs on language bugs, instead of the shortcomings in understanding.

This talk re-visits some of the "tough parts" of the language by declaring "New Rules" (Bill Maher style) for the language. For instance: "new rule: stop using `this` until you really understand how it gets assigned"

This talk is hard-core on coding and expects a solid understanding of the language.

No comment yet.
Scoop.it!

Visual Sedimentation

Visual Sedimentation | JavaScript for Line of Business Applications | Scoop.it

VisualSedimentation.js is a JavaScript library for visualizing streaming data, inspired by the process of physical sedimentation. Visual Sedimentation is built on top of existing toolkits such as D3.js (to manipulate documents based on data), jQuery (to facilitate HTML and Javascript development) and Box2DWeb (for physical world simulation).

No comment yet.
Scoop.it!

Pedestal - Build web apps in Clojure

Pedestal - Build web apps in Clojure | JavaScript for Line of Business Applications | Scoop.it
An open source tool set for building 
web applications in Clojure

 

Pedestal is a collection of interacting libraries that together create a pathway for developing a specific kind of application. It empowers developers to use Clojure to build internet applications requiring real-time collaboration and targeting multiple platforms.

In short: Pedestal provides a better, cohesive way to build rich client web applications in Clojure.

Clojurists looking for a standard way to build internet applications will love Pedestal. Rather than composing art out of found objects, they will now be able to mold a single, consistent form to match their vision.

Pedestal may also appeal to developers who have been nervously approaching a functional language but who haven't yet mustered the courage to ask it out on a date. It provides a sterling example of how to use the Clojure ecosystem to its best advantage, reducing the friction usually associated with a language switch.

No comment yet.
Scoop.it!

10 things you must do as a Sencha ExtJS/Touch Component Developer

10 things you must do as a Sencha ExtJS/Touch Component Developer | JavaScript for Line of Business Applications | Scoop.it

Whether you are an organisation or an individual who develops Sencha ExtJS/Touch components, it is important that the component meets certain standards in order to make it available and usable to others. There are various tangible as well as non-tangible benefits that one likes to get by creating components and offering it to others. However, as a developer, the primary goal is how to make your component available and usable for others. None other benefits can be derived without meeting this primary goal.

In this article, we would highlight the 10 things that a component developer must do to create and publish a usable component. The article would not give you the component ideas – what kind of component shall be developed – but it would assume you have a great component idea that you think would be useful to others and you wonder what are the things that you shall do to deliver it in the right possible way so that it is easier for your use to find, learn about it, try it, and adopt it.

No comment yet.
Scoop.it!

Web Components are the Revolution

Within this talk:

* Web Components?

1. CREATE YOUR OWN HTML ELEMENTS

2. ENCAPSULATE YOUR STYLES

3. REACT WITH LIFECYCLE CALLBACKS

 

* The Specs

1. TEMPLATES - Scaffolding

2. SHADOW DOM - Encapsulation

3. CUSTOM ELEMENTS - Extensions

4. IMPORTS - Packaging

 

* Use 'em, Today!

 1. POLYMER

No comment yet.
Scoop.it!

Coffeescript vs. Javascript

Coffeescript vs. Javascript | JavaScript for Line of Business Applications | Scoop.it
How to Decide which language for your Project

I’ve worked on large projects in both javascript and coffeescript, and guess what?  You can build an application in either one, and your decision of javascript or coffeescript is not going to make or break you.

If you are working on a project by yourself, then I would pick whichever language you prefer working in.  It’s totally subjective, but you are going to be more productive coding in a language that you like coding in vs. one that you hate coding in.

Now, for the tricky part.  What if you’re working on a team?

No comment yet.
Scoop.it!

ExtJS 4 MVC Application Architecture

Post with online demo about ExtJS 4 MVC application architecture.

The missing code to Senchas Docs!

No comment yet.
Scoop.it!

AngularJS with TypeScript and Windows Azure Mobile Services

AngularJS with TypeScript and Windows Azure Mobile Services | JavaScript for Line of Business Applications | Scoop.it
In the coming two weeks I will do a series of talks at various conferences in Austria and Germany. I will speak about AngularJS, TypeScript, and Windows Azure Mobile Services. In this blog post I publish the slides and the sample code.

 

Sample 1: The Basics
Sample 2: TypeScript Modules vs. AngularJS Modules
Sample 3: AngularJS Scopes
Sample 4: Dependency Injection
Sample 5: Accessing Backend Services
Accessing Azure Table Storage with AngularJS and TypeScript
Unit Test with HTTP Mocking
HTML View + TypeScript Controller

No comment yet.
Scoop.it!

AngularJs web app with Google Cloud Storage backend service

AngularJs web app with Google Cloud Storage backend service | JavaScript for Line of Business Applications | Scoop.it

The purpose of this web application is to collect user unit test result and do simple exploratory analysis and display them into tables. This app use AngularJs single page web application framework. App data is persisted in Google Cloud Storage (GCS) service. GCS service is similar to Amazon AWS S3 service and used same REST XML API format.

This web application has two parts. The first part is data collection. It is essentially running a qunit test and result are put to GCS service. The GCS bucket ydn-test-report-2 accept anonymous write request from selected origins.

The second part is angular js app, which query and fetch unit test results from GCS and display the results.

Angular JS application has four primary modules, 1) Controller 2) Directive 3) Filter and 4) Services. Each of them are essentially a singleton instance providing function that angular understand.

No comment yet.
Scoop.it!

Create a Custom Select Box using Ember.Component

This tutorial steps over an useful example of creating a custom select box that can look as custom as your designer would like. I’ve often been asked to customize the browsers components by designers, especially the dropdown/select element. A friend, ultmast, gave me a simple solution which meets both my interest of not entirely re-inventing the wheel (select box behaviors) and also showing a completely customized select element. Simply set the select box’s opacity to zero and position the invisble select box directly over the element that has custom design using css, images or whatever. Then when user click to select the invisible select box behavior takes over, only one binding from the invisible element to the custom element is the selected option (choice).

No comment yet.
Scoop.it!

tupai.js — Minimal and Flexible JavaScript MVC Framework.

tupai.js — Minimal and Flexible JavaScript MVC Framework. | JavaScript for Line of Business Applications | Scoop.it
tupai.js is a minimal and flexible JavaScript MVC framework.
providing a robust set of features for building single and multi-pages.
No comment yet.
Scoop.it!

Revisiting JavaScript Objects

One of the main focuses of ES5, has been to improve the JavaScript's object structure and manipulation. The features it introduced do make lot of sense, especially if you're working with large and complex applications.

We've been little reluctant to adopt ES5 features, especially due to browser compatibility issues. We rarely see production code that make use of these features. However, all modern browsers (ie. IE9, FF4, Opera 12 & Chrome) do have JavaScript engines that implement the ES5 standard. Also, ES5 features can be used in Node.js based projects without any issue. So I think it would be a worthwhile exercise to revisit the ES5 object features and see how they can be used in real-life scenarios.

 

* Data and Accessor Properties
* Property Descriptor
* Tamper-proof Objects
* Inheritance
* Cloning Objects

No comment yet.
Scoop.it!

Promises in AngularJS, Explained as a Cartoon

Promises in AngularJS, Explained as a Cartoon | JavaScript for Line of Business Applications | Scoop.it
One morning, a father says to his son: "Go and get the weather forecast, son!"

Every Sunday morning, a father asks his son to go and find out the weather forecast for the afternoon, by using his super-strong telescope to look across the horizon from the tallest hill by their house. The son promises his dad he will go and get the weather forecast. He creates a promise with his dad at the door when he leaves.

At that point, the dad decides if the weather tomorrow is good, he'll prepare a fishing trip for tomorrow. If it's bad he won't. Also, if the son is unable to get a forecast, he'll stay in as well.

After 30mins or so, the son comes back. Different things happen from week-to-week...

No comment yet.
Scoop.it!

emberFire - EmberJS bindings for Firebase

emberFire - EmberJS bindings for Firebase | JavaScript for Line of Business Applications | Scoop.it

EmberFire is an experimental, officially supported EmberJS binding for Firebase. EmberFire lets you bind Firebase data as models in EmberJS, and will automatically synchronize changes to and from Firebase.


By freeing developers from the constraints of the backend, Firebase unlocks a whole new category of sophisticated, client-side JavaScript applications. Now, with first-class support for Ember.js, those developers can continue pushing the boundaries of what’s possible in the browser by leaning on the strong architectural features of Ember that lead your app towards clean separation of concerns instead of messy spaghetti. (Let’s also not forget terrific support for URLs out of the box.) Ember’s always been about building ambitious web applications, and this collaboration with Firebase only strengthens that idea.

Jan Hesse's insight:

Announcement: https://www.firebase.com/blog/2013-10-22-firebase-bindings-for-ember.html

No comment yet.
Scoop.it!

dc.js - Dimensional Charting Javascript Library with crossfilter support

dc.js - Dimensional Charting Javascript Library  with crossfilter support | JavaScript for Line of Business Applications | Scoop.it

dc.js is a javascript charting library with native crossfilter support and allowing highly efficient exploration on large multi-dimensional dataset (inspired by crossfilter's demo). It leverages d3 engine to render charts in css friendly svg format. Charts rendered using dc.js are naturally data driven and reactive therefore providing instant feedback on user's interaction. The main objective of this project is to provide an easy yet powerful javascript library which can be utilized to perform data visualization and analysis in browser as well as on mobile device.

Jan Hesse's insight:

http://dc-js.github.io/dc.js/

No comment yet.
Scoop.it!

Structuring jQuery with Backbone.js

One of the difficulties in building large jQuery applications is keeping code organized. It is very easy to get lost in a Christmas tree of doom-a deeply nested list of callback functions that seems to hold every single feature and interaction. The truth is that jQuery does not provide any guidance on organization or structure for code.

The good news is that you don't have to choose exclusively between jQuery and well-structured code that SPA libraries and frameworks help you to write. You can combine the simplicity and interactivity of jQuery-based applications with the building blocks of good structure from Backbone.js to create highly interactive pages that also have good code organization and structure.


 

From jQuery to Backbone.js: A Migration
It's tempting to jump straight in to Backbone.js at this point, but that would be a disservice to most developers. Starting from scratch is easy. The real challenge lies in taking existing code and migrating it to something else.
Taking a migration approach to Backbone.js does two things:
* Shows that Backbone.js can be added to existing projects, without an all-or-nothing re-write
* Shows the similarities and differences between writing jQuery on its own and using Backbone.js to structure jQuery

 

The Add form that was built with plain jQuery code will be migrated to Backbone.js, one step at a time. Before that can happen, though, you'll need to configure Backbone.js in your project.


No comment yet.
Scoop.it!

Barbarian Meets Knockout: Knockout.js Computed Observables

Barbarian Meets Knockout: Knockout.js Computed Observables | JavaScript for Line of Business Applications | Scoop.it

Hi everyone! Time to continue learning knockout.js! This time I will write about computed observables, a special kind of Knockout.js Observables that allow you to calculate values in the client from other properties of your view model with one nifty special feature: A computed observable will listen for changes in the observables it depends of and recalculate its value when these observables change.

Computed observables, in their most common incarnation, are read-only calculated properties. They are created by using the ko.computed function and passing in a function that expresses how to calculate the desired value. Any observable used to calculate this value, will be recorded as a dependency of the computed, and, if changed, will trigger the recalculation of the value of the computed. The example below illustrates how to create a computed observable...

No comment yet.
Scoop.it!

Living in the ES6 Future Today

Presentation of what upcoming JavaScript Standard "Harmony" will bring for developers and what shims you can use in the meantime.
* classes

* for ... of

* rest parameters

* arrow functions

* iterators

* generators

* destructuring

* unicode support

* block-scoped variables

* WeakMaps

* proxies

* spread operator

* and more

No comment yet.
Scoop.it!

Leveling Up in Angular

Leveling Up in Angular | JavaScript for Line of Business Applications | Scoop.it

Nice Presentation and Introduction to all AngularJS components.

No comment yet.