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

React / Client side routing – Path component

A promising library for routing was react router component. Composable routes in a way one compose react’s comonents was exactly what I was looking for. Unfortunately I have to give up on it because it was a nodejs component and I needed simple and pure javascript solution. And it was too big for my needs. Finally I decided to create my own routing component. Of course it doesn’t have so many features – for example it lacks server side routing (I use scala and spray for that) or server side component rendering but it solves client side routing (for now without supporting html5 history).

No comment yet.
Scoop.it!

Facebook: MVC Does Not Scale, Use Flux Instead

Facebook: MVC Does Not Scale, Use Flux Instead | JavaScript for Line of Business Applications | Scoop.it

Facebook came to the conclusion that MVC does not scale up for their needs and has decided to use a different pattern instead: Flux.

The complexity of the system went exponential every time they attempted to add a new feature making the code “fragile and unpredictable.” This was becoming a serious problem for developers new to a certain codebase because they were afraid to touch the code lest they might break something. The result was MVC was falling apart for Facebook.

A fix for this problem required to “structure the code in a way that makes it more predictable.” This has been done with Flux and React. Flux is a system architecture that promotes single directional data flow through an application. According to Occhino, React is a JavaScript framework for building “predictable” and “declarative” web user interfaces that has enabled Facebook to move faster in developing web applications.

Jan Hesse's insight:

http://facebook.github.io/react/docs/flux-overview.html

No comment yet.
Scoop.it!

10 Angular Tips from TechEd 2014

10 Angular Tips from TechEd 2014 | JavaScript for Line of Business Applications | Scoop.it

Getting started with AngularJS is smooth sailing. But once you master the basics, you begin to realize there are things you wish you knew before you started. This session shares 10 such tips that go beyond the fundamentals.

I demonstrate how I build end-to-end apps using AngularJS and BreezeJS on the ASP.NET platform. We explore how to manage multiple screens, maintain clean code with popular patterns, implement CRUD, perform robust HTML validation, and use local storage for saving work in progress.

No comment yet.
Scoop.it!

Getting to know Knockout JS

Getting to know Knockout JS | JavaScript for Line of Business Applications | Scoop.it

Let’s take a small html application to demonstrate how KnockoutJS can speed up your development progress.

This isn’t alot of code and it doesn’t look to complex yet. But when your application grows, so will the complexity of your JavaScript code to interact with the user interface.
What I don’t like is the fact that we are constantly calling the view components from within our JavaScript code. Subscribing to a input key down (or any other event) to simply concatenate two values isn’t clean either. I’ve always preferred having my code as clean as possible, without overcomplexing things. In this case however, knockoutjs will enable us to remove complexity throughout the entire application.

No comment yet.
Scoop.it!

An Introduction to Ember.js

An Introduction to Ember.js | JavaScript for Line of Business Applications | Scoop.it

There is an “Ember Way” of doing almost anything when building a web application. The learning curve can be steep at the beginning while you figure out exactly what the “Ember Way” is, but once you’re there, the productivity gains are worth it.

Ember adheres pretty closely to the Model-View-Controller pattern (though few things are purely “MVC” in the classic sense). I’ve heard Ember described as MVC+R, because the router is a big part of the value Ember provides and is pretty integral to the framework. A typical Ember application will have lots of models, views, controllers, and routes – but also components, helpers, and more. There’s a lot to learn, so let’s get started.

No comment yet.
Scoop.it!

"Mostly functional" programming does not work.

"Mostly functional" programming does not work. | JavaScript for Line of Business Applications | Scoop.it

There is a trend in the software industry to sell "mostly functional" programming as the silver bullet for solving problems developers face with concurrency, parallelism (manycore), and, of course, Big Data. Contemporary imperative languages could continue the ongoing trend, embrace closures, and try to limit mutation and other side effects. Unfortunately, just as "mostly secure" does not work, "mostly functional" does not work either. Instead, developers should seriously consider a completely fundamentalist option as well: embrace pure lazy functional programming with all effects explicitly surfaced in the type system using monads.

No comment yet.
Scoop.it!

Lineman | Build awesome web apps, easily.

Lineman | Build awesome web apps, easily. | JavaScript for Line of Business Applications | Scoop.it

Lineman is a command-line utility that is hyper-focused on helping web developers build first-class JavaScript web applications. Lineman provides a thin wrapper around a number of client-side productivity tools (primarily Express, Grunt, and Testem), with the goal of helping developers focus on writing awesome web apps instead of worrying about workflow configuration.

Lineman's mission is to make fat-client JavaScript web applications as easy to build as traditional server-side HTML web applications. We accomplish this by establishing a narrow set of conventions and curating default configurations for your application's build tasks to make the developer's experience both predictable and convenient. Once you've scaled Lineman's gentle learning curve, you'll be able to ramp-up quickly on any project that uses Lineman.

No comment yet.
Scoop.it!

Fenix Web Server - Because simple stuff shouldn't need Apache, IIS, or NGINX.

Fenix Web Server - Because simple stuff shouldn't need Apache, IIS, or NGINX. | JavaScript for Line of Business Applications | Scoop.it

Fenix is free desktop software that provides simple web serving capabilities with a great workflow. Named after the mythological phoenix creature, developers can fire up and kill web servers as often as necessary. It’s simple by design, focusing primarily on static web content like HTML, CSS, and JavaScript. A handy installer makes it easy to get started with the software. Most importantly, it’s visual. The most complex configuration in Fenix is a matter of filling in a form, not editing XML/config files.

Fenix features the ability to share local sites immediately, securely, andtemporarily. With one click, SSH tunneling will proxy your local server to a privately assigned (HTTPS) URL. There’s even a copy link that can be sent to collaborators. Presto! Your laptop is now a public web server. Possibly even a few if you share multiple sites at once.

No comment yet.
Scoop.it!

Angular, Backbone, or Ember: Which is Best for your Build?

Angular, Backbone, or Ember: Which is Best for your Build? | JavaScript for Line of Business Applications | Scoop.it

In order to choose which framework is right for your build, we’ve asked four important questions of each framework:


  • What is X?
  • What doesX do better than competing frameworks?
  • Where does X fall short?
  • What type of applications are built with X?
No comment yet.
Scoop.it!

Building Desktop Apps with Ember and Node-Webkit

Building Desktop Apps with Ember and Node-Webkit | JavaScript for Line of Business Applications | Scoop.it

The desktop app was written using the same technologies that power our Web IDE — namely, Ember.js and HTML5. This not only allowed us to reuse code from our Web IDE, but also to have one code-base that works on both Windows and Mac.

Yesterday, at Ember’s monthly meetup in San Francisco, we shared some of the insights we gained from building our desktop application with Ember.js and Node-webkit.

No comment yet.
Scoop.it!

Creating A Metrics Dashboard With Ember.js, Bootstrap, and Rails

Creating A Metrics Dashboard With Ember.js, Bootstrap, and Rails | JavaScript for Line of Business Applications | Scoop.it

Today we’re going to assemble the first pieces of this app by creating a Rails server, an Ember.js App and some basic Bootstrap styling.

We want to be able to expose all of our stats from various internal and third party services with a consistent API so this server will primarily handle authentication and data transformation. This server could just as easily be written in Node.js or any language/framework, but for now we’ll stick with Rails.

Jan Hesse's insight:

Part 1: https://medium.com/p/b11cf922408d

Part 2: https://medium.com/p/82dc33390fdf

Part 3: https://medium.com/p/2f9140df5690

No comment yet.
Scoop.it!

Building an Ember App with Rails

Building an Ember App with Rails | JavaScript for Line of Business Applications | Scoop.it

This series will take us through building and structuring an application with an Ember front-end built with ember-cli and a Ruby on Rails backend. We'll discuss project structure, testing, and deployment to Heroku.

During the course of this series I am going to re-build the Boston Ember website.


  • Getting setup with our tools
  • Setting up our project
  • a typical Qunit test suite with some JSHint tests 
  • Navigation
Jan Hesse's insight:

http://reefpoints.dockyard.com/2014/05/08/building-an-ember-app-with-rails-part-2.html

http://reefpoints.dockyard.com/2014/05/09/building-an-ember-app-with-rails-part-3.html

No comment yet.
Scoop.it!

Dependency injection in Ember.js - First steps

Dependency injection in Ember.js - First steps | JavaScript for Line of Business Applications | Scoop.it

Dependency injection (DI) is a less-known, yet powerful feature of the framework we know and love called Ember.js. It works through the container and is comprised of two parts: registration andinjection.

The framework itself uses it so that the objects instantiated through the container have the dependencies correctly initialized on them (for the theoretical programmers out there, the Ember DI system is thus probably considered a construction-time DI). The API methods are exposed to application developers for them to register and inject their own objects.

In this first blog post, I’ll introduce the main concepts. In a couple of further blog posts I intend to dig deeper, give examples of what it can be used for and show a few gotchas.

No comment yet.
Scoop.it!

Jest + jQuery for testing a vanilla “app”

Jest + jQuery for testing a vanilla “app” | JavaScript for Line of Business Applications | Scoop.it

Jest is a new javascript testing tool announced today. I thought I'd take it out for a spin testing the UI of a simple vanilla JS app - no CommonJS modules, no fancy stuff. Just old school JavaScript. Granted, it's probably not what the tool was optimized to do, but it totally worked.

The thing about Jest is that it mocks everything. Which is priceless for unit testing. But it also means you need to declare when you don't want something mocked. 

No comment yet.
Scoop.it!

Jest | Painless JavaScript Unit Testing

Jest | Painless JavaScript Unit Testing | JavaScript for Line of Business Applications | Scoop.it

In order to write an effective unit test, you want to be able to isolate a unit of code and test only that unit – nothing else. It is fairly common and good practice to consider a module such a unit, and this is where Jest excels. Jest makes isolating a module from its dependencies extremely easy by automatically generating mocks for each of the module's depenedencies and providing those mocks (rather than the real dependency modules) by default.

Jan Hesse's insight:

http://www.infoq.com/news/2014/06/facebook-jest

No comment yet.
Scoop.it!

Building SharePoint 2013 Web Parts using AngularJS and KnockoutJS

Building SharePoint 2013 Web Parts using AngularJS and KnockoutJS | JavaScript for Line of Business Applications | Scoop.it
This article shows how you can use client side JavaScript libraries like AngularJS and KnockoutJS to build SharePoint 2013 WebParts.

In this article, we will learn how to make use of JavaScript libraries to fetch data from SharePoint List and bind that data to some controls using SharePoint Web parts. For this demonstration, we will make use of AngularJS and KnockoutJS JavaScript libraries.

Using these libraries in SharePoint development can make a big difference as we will see shortly. We will use these libraries with SharePoint Web parts using our very favorite tool – Microsoft Visual Studio. I am using Visual Studio 2013 for these demonstrations.

No comment yet.
Scoop.it!

Using EmberJS dependency injection

Using EmberJS dependency injection | JavaScript for Line of Business Applications | Scoop.it

I’ve got a quite small personnal project using EmberJS with an API.
I’m using this project mostly as a sandbox of things to try out. So it probably won’t ever be public.

One of the things I’m trying to achieve with this project is completely decouple the API and the EmberJS app.
They are two different apps, running on two different hosts. And the EmberJS app has no access to any data except through the API.
One of the difficulties this posed was to manage user authentication.

Very basically, when authenticating, we’re creating a new instance of the Session model.
It’s data are stored in localStorage for retrieval after reloading the page.

This means I have a SessionStore object, which does the retrieval from localStorage and signs the user in if we already have a valid API token.

No comment yet.
Scoop.it!

Node.js Handbook - Testing Essentials

Node.js Handbook - Testing Essentials | JavaScript for Line of Business Applications | Scoop.it

This post will explain the tools needed to overcome the challenges of testing with Node.js. Together, they form an essential testing suite that will cover almost any project. The setup isn’t the most complex or feature-rich, but you could say that’s on purpose. If that sounds counter-intuitive… read on.

  • A Testing Framework (Mocha, Vows, Intern)
  • An Assertion Library (Chai, Assert)
  • Stubs (Sinon)
  • Module Control (Mockery, Rewire)
No comment yet.
Scoop.it!

Functional JavaScript

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

Obviously there is a sizable group of developers that use functional paradigms in JavaScript day in and day out. I would say there is a much larger group of JavaScript developers that just don't really understand what that means.

I believe this is a result of the fact that most languages used for server-side web development have roots in C, which most would agree is not a functional programming language.

This series of blog posts is here to help others learn how to borrow some of the beauty of functional programming languages in the context of JavaScript.

Jan Hesse's insight:
More From This Series:
No comment yet.
Scoop.it!

Shared Rendering with Rendr

Shared Rendering with Rendr | JavaScript for Line of Business Applications | Scoop.it

Rendr boosts the perceived performance of Backbone applications by rendering them in the server-side. This allows us to display the rendered page before JavaScript code is executed in the browser and Backbone kicks in. In other words, it means that, the first time the page gets loaded, the human will get to see the content earlier. After that first load, Backbone will have taken over and handle routing in the client-side. However, the first load is extremely important, and having the ability to render the application on the server before the human gets any content is better than having them wait for Backbone to pull your data, fill your views, and render your templates. Search engine optimization is another reason why you might want to render your views in the server-side as well. That's why server-side rendering is still vital to the web application development process.

No comment yet.
Scoop.it!

Ember delivers rapid improvements at Intercom

Ember delivers rapid improvements at Intercom | JavaScript for Line of Business Applications | Scoop.it

Rewriting core sections of your product with a framework unknown to most of your engineering team sounds crazy. But that’s what we’re doing within Intercom right now.

Eight weeks ago, we began an experiment to determine if Ember.js would allow us to raise the bar in terms of our product capability and development speed. We formed a small team tasked with re-implementing a core and complex section of our application, the user list. The required features included filtering, searching, sorting, selection, messaging, tagging and infinite scrolling.

Based on the success of this project, we now have three teams working with Ember.js and we will be releasing a series of improvements to Intercom over the coming weeks.

No comment yet.
Scoop.it!

KWAND JavaScript Full Stack Web Development for the Next Generation

KWAND JavaScript Full Stack Web Development for the Next Generation | JavaScript for Line of Business Applications | Scoop.it
KWAND JavaScript Full Stack Web Development for the Next Generation of Web and Mobile Applications

Uses Koa · WebSockets · Angular · Node · Dokku like this:


Client:

  • AngularJS
  • AngularUI
  • Socket.IO

Server:

  • Co
  • Koa
  • Jade
  • WS

Storage:

  • MongoDB

Develop:

  • Gulp
  • Stylus
  • LiveReload
  • Nodemon

Test:

  • SuperAgent
  • Mocha
  • Travis

Package:

  • NPM

Deploy:

  • Dokku
  • Heroku
  • Forever


No comment yet.
Scoop.it!

Which JavaScript Test Library Should You Use? QUnit vs Jasmine vs Mocha

Which JavaScript Test Library Should You Use? QUnit vs Jasmine vs Mocha | JavaScript for Line of Business Applications | Scoop.it

Whether you’re writing javaScript for the browser or for nodeJS, the question exists: what unit test library should I use to ensure my javascript code is working as expected?  There are plenty to choose from, and several that are popular.  If you were considering jUnit, Jasmine, or Mocha, then I’ve got some information you might be interested in: the good, the bad, and the ugly.

Arik Grinstein's curator insight, May 16, 2014 9:29 AM

Testing the Tests

Scoop.it!

Building an Ember.js Production Application with Ember CLI

Building an Ember.js Production Application with Ember CLI | JavaScript for Line of Business Applications | Scoop.it

Although Ember CLI is still a work in progress project we used it to develop and deliver an Ember.js production application from scratch. Even at this point I am confident to say that Ember CLI is the best way to develop standalone Ember.js applications.

One of the best things of Ember CLI is the integrated server. It is also one of the first things you will notice when you start using it.

The second thing you will notice is the out of the box support for the history location of the Ember.js router. This means the server handles all URLs correctly and always serves the index.html file unless an asset is requested.

No comment yet.
Scoop.it!

Preserve scrolling position in Ember Apps

Preserve scrolling position in Ember Apps | JavaScript for Line of Business Applications | Scoop.it

If you have a long list of items on a page and a user follows a link then goes back to that list, Ember will re-render the list and the user loses their place. This can be annoying if there is a very long list of items and the user is expected to be switching back and forth between the list and the item.

We can preserve the position by taking advantage of didInsertElement on the list's view.

No comment yet.