JavaScript for Line of Business Applications
564.8K views | +77 today
Follow
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...
Scoop.it!

AngularJS: MVC implementation

AngularJS: MVC implementation | JavaScript for Line of Business Applications | Scoop.it

Now that we’ve discussed how AngularJS fits into Web development as a framework for building rich client side Web applications, we’ll move on to the Model-View-Controller (MVC). So, let’s dive right in by examining how the MVC pattern is implemented in AngularJS and how that drives your application development.

more...
No comment yet.
Scoop.it!

Feature-Oriented Active Modeller

FOAM is composed of tools to help you quickly write an app that loads and runs fast, on desktop and mobile.

Our main goal is to do as much as possible with each chunk of code. The fastest, most secure, and least buggy code in your app is the code that isn’t there.

FOAM is a meta-programming framework. It is very declarative and reactive, because that’s a very high-level way of expressing how the app should work.

more...
No comment yet.
Scoop.it!

Smalltalk MVC Translated to JavaScript

Smalltalk MVC Translated to JavaScript | JavaScript for Line of Business Applications | Scoop.it

The original Smalltalk MVC is an elegant way to structure an application. Unfortunately, the JavaScript community takes more inspiration from Dr. Frankenstein than from Smalltalk. The community appears to have done its best to saw off many good parts from MVC and bolt on unnecessary ugly bits to create framework monsters unsuitable for building real-world JavaScript applications.

I hope this article will remove the necessary historical digging to read and understand the implementation of Smalltalk MVC. Also, I hope it inspires better JavaScript frameworks and applications.

more...
No comment yet.
Scoop.it!

MVC way to introduce Sails.js - node.js framework

introduce Sails.js in MVC way, we all know MVC for web development, let looking for Sails.js for Node.js Web application MVC infrastructure and development.
more...
No comment yet.
Scoop.it!

Ruby on Rails MVC is not the same as Ember.js MVC

Ruby on Rails MVC is not the same as Ember.js MVC | JavaScript for Line of Business Applications | Scoop.it

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.

To understand what MVC is in both frameworks I recommend watching Yehuda Katz presentation: A tale of two MVC’s.

Instead of talking about MVC, Yehuda proposes an unified model for GUI programming which is composed by a series of steps and then explains how different frameworks handle each step.

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:

http://blog.abuiles.com/blog/2014/01/31/getting-started-with-ember-and-ruby-on-rails-using-ember-appkit-rails/

http://blog.abuiles.com/blog/2014/02/07/building-an-app-for-my-mom-with-ember-appkit-rails/

http://blog.abuiles.com/blog/2014/02/21/router-routes-and-templates

http://blog.abuiles.com/blog/2014/04/14/handling-errors-in-ember-dot-js-and-ruby-on-rails/

more...
No comment yet.
Scoop.it!

On "The Future of JavaScript MVC Frameworks"

On "The Future of JavaScript MVC Frameworks" | JavaScript for Line of Business Applications | Scoop.it

This entry is a sort of "part 2" to my previous entry React Demystified. Now that I understand React better, I want to take a closer look at the blog post that motivated this quest to begin with, The Future of JavaScript MVC Frameworks. That entry advocates a vision for what MVC's of the future will look like in JavaScript, and is accompanied by some strong benchmark numbers.

The article's overall argument is that the design/architecture of most JavaScript MVC libraries today makes them slow. While they can be optimized to improve performance, a much better approach (according to the article) is to change the design of the MVC library to something that is inherently faster; a design where the optimizations fall out of the design "for free". A design that is fast by default. This is the claim that I want to take a deeper look at and evaluate in detail.

I want to go deeper because the form of the argument -- the idea that a fundamentally different design can render a lot of busy-work obsolete -- is one that resonates with me. But there are a lot of aspects of this that are all mashed together a bit in the article, so I want to break them apart and look at them one by one.

more...
No comment yet.
Scoop.it!

Choosing a JavaScript MVC Framework

Choosing a JavaScript MVC Framework | JavaScript for Line of Business Applications | Scoop.it

So you love the way single-page apps like Gmail and Trello feel, but aren’t sure where to start.  Maybe your JavaScript code has become disorganized enough that you are convinced to try one of the numerous  JavaScript MVC libraries/frameworks on your next project but aren’t sure which one to choose.  I’m writing  a book on single-page apps so I’ve pretty much “read the internet” on the topic.  I’ll attempt to provide some not so obvious insights to help you make your decision.

The frameworks discussed are the ones with the most traction at present AngularJS, Backbone, Ember, and Knockout.  Batman, CANjs, Meteor, and Spine are also mentioned but not covered in-depth.

Each project is examined from several different perspectives including community, leadership, maturity, size, dependencies, interoperability, inspiration, philosophy, and features.

more...
No comment yet.
Scoop.it!

The Future of JavaScript MVC Frameworks

The Future of JavaScript MVC Frameworks | JavaScript for Line of Business Applications | Scoop.it

We've known this for some time over here in the ClojureScript corner of the world - all of our collections are immutable and modeled directly on the original Clojure versions written in Java. Modern JavaScript engines have now been tuned to the point that it's no longer uncommon to see collection performance within 2.5X of the Java Virtual Machine.

Wait, wait, wait. What does the performance of persistent data structures have to do with the future of JavaScript MVCs?

A whole lot.

more...
No comment yet.
Scoop.it!

Mojo.js - Modular Isomorphic MV+ JavaScript Framework

Mojo.js - Modular Isomorphic MV+ JavaScript Framework | JavaScript for Line of Business Applications | Scoop.it

Mojo.js (alpha) is a JavaScript framework for building Single Page Applications, or static websites in Node.js. It's inspired by Angular.js, Derby.js, Knockout.js, Meteor.js, Ember.js, jQuery, Backbone.js, and many other JavaScript, and non-JavaScript frameworks. Much of the design was inspired by Backbone.js, and Node.js. The core is small, while third-party modules allow you to customize Mojo depending on your requirements. Mojo was built initially to phase out old code, and itself - hence the modularity. The philosophy behind Mojo is to allow you to build on top of your old code base, and slowly strangle out your old application until you have a new, highly maintainable application.

more...
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.
more...
No comment yet.
Scoop.it!

Scaling Isomorphic Javascript Code

Scaling Isomorphic Javascript Code | JavaScript for Line of Business Applications | Scoop.it

Design patterns are the bread and butter of application development. They encapsulate and outline the concerns of the application and the environment of the in which it exists. Between the browser and the server these concerns can vary widely:
* Is the view ephemeral (e.g. on the server) or long-lived (e.g. in the browser)?
* Is the view reusable across different use-cases or scenarios?
* Should the view be annotated with application-specific tags or markup?
* Where should the bulk of the business logic reside? (in the model? in the controller?)
* How is the application state persisted or accessed?
Lets explore some of the existing patterns and how they answer these questions:
* Model-View-Controller
* Model2
* Model-View Presenter and Model-View-ViewModel
* Modern Javascript Implementations
* Real-time Implications
* tl;dr? Introducing Resource-View-Presenter
* Conclusion

more...
No comment yet.
Scoop.it!

Developing, Architecting and Testing Web Applications with MVC5, Web API 2, KnockoutJS, Ninject and NUnit

Developing, Architecting and Testing Web Applications with MVC5, Web API 2, KnockoutJS, Ninject and NUnit | JavaScript for Line of Business Applications | Scoop.it

The goal of this article is to walk through a sample Customer Maintenance web application that implements the latest technology from the Microsoft stack, including the latest beta versions of Microsoft .NET 4.5.1, Visual Studio Express 2013, MVC5, WebAPI 2 and Entity Framework 6. 

Throughout this article various design patterns and techniques will be implemented to help foster a loosely coupleddesign that promotes the Separation of Concerns (SoC) through the various layers of an n-tier web application. Overall the implementation of this sample application is a variation of my previous Code Project article MVC Techniques with jQuery, JSON, Knockout, and C#. 

more...
No comment yet.
Scoop.it!

Comparison of Architecture presentation patterns MVP(SC),MVP(PV),PM,MVVM and MVC

Comparison of Architecture presentation patterns MVP(SC),MVP(PV),PM,MVVM and MVC | JavaScript for Line of Business Applications | Scoop.it

This article will compare four important architecture presentation patterns i.e. MVP(SC),MVP(PV),PM,MVVM and MVC. Many developers are confused around what is the difference between these patterns and when should we use what. This article will first kick start with a background and explain different types of presentation patterns. We will then move ahead discussing about the state , logic and synchronization issues. Finally we will go in detail of each pattern and conclude how they differ from each other.

more...
No comment yet.
Scoop.it!

Javascript MVC Frameworks: Your Choice is Your Future

Javascript MVC Frameworks: Your Choice is Your Future | JavaScript for Line of Business Applications | Scoop.it

Not surprisingly, given the popularity of the MVC pattern, there are a number of adherent JS frameworks to choose from. Angular JSEmber, andBackbone are among the most popular, and will be the focus of this article.

Your choice here can drastically affect your team’s ability to meet deadlines and maintain your project in the future. Each of these frameworks will give you a set of tools for writing code that follows the separation of concerns ideology. For the most part, they each have thriving online communities that offer support and tutorials to developers.

more...
No comment yet.
Scoop.it!

Model View Controller (MVC)

Model View Controller (MVC) | JavaScript for Line of Business Applications | Scoop.it
Model View Controller MVC is a software architecture pattern, used to implement user interfaces: it is therefore a popular choice for architecting web apps.

In general, it separates out the application logic into three separate parts, promoting modularity and ease of collaboration and reuse. It also makes applications more flexible and welcoming to iterations.

more...
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

more...
No comment yet.
Scoop.it!

Why you might not need MVC with React.js

Why you might not need MVC with React.js | JavaScript for Line of Business Applications | Scoop.it

I will question the usefulness of MVC (MVC as in todays MV* implementations in JS frontend frameworks), the most established design pattern in frontend development. Let me make it clear that it is not my intention to invalidate MVC in general. Rather, I think it's importance as a design pattern for very interactive web applications is overstated.

This post here is ballsy, since MVC is baked into the heads of frontend people. It's ubiquitous. It's the biggest consensus amongst devs I've ever seen, and MVC is widely considered "best practice". Basically, people don't question MVC anymore. However, I personally think the concept doesn't apply optimally to complex web apps (I might be wrong though).

Jan Hesse's insight:

Flux is mentioned here for solving communication between components:

https://github.com/facebook/react/tree/master/examples/todomvc-flux

more...
No comment yet.
Scoop.it!

Intercooler.JS - The Javascript-optional AJAX library

Intercooler.JS - The Javascript-optional AJAX library | JavaScript for Line of Business Applications | Scoop.it

Intercooler is a Partial View Controller framework that allows you to add AJAX to your application with declarative HTML5-style bindings and REST-ful URLs, giving web applications a richer UX with a minimum of code.

Rather than expecting JSON responses it expects fragments of HTML (i.e. Partial Views), which are then loaded into the DOM directly.

* Scaleable

* Declarative

* Automatic Dependency Detection

* Framework Agnostic

* Bootstrap Friendly

* Open

more...
No comment yet.
Scoop.it!

jide.js - Modern Javascript and HTML5 based UI control toolkit

jide.js - Modern Javascript and HTML5 based UI control toolkit | JavaScript for Line of Business Applications | Scoop.it

jide.js is an open source, MIT licensed, Javascript toolkit for developing rich, modern web applications. It features various powerful UI controls and is built around the concept of properties and data binding and enables highly efficient programming.

jide.js uses the AMD format and can be used with any AMD compatible loader such as require.js but also supports Browserify. Don't worry if you don't know what that means, we've prepared a short introduction for you.

jide.js is currently in beta state. This means that it is neither feature complete nor without bugs and that its APIs can change when necessary.

more...
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.


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

add your insight. ..

Scoop.it!

A Beginner's Guide for Creating Single Page Applications using Backbone.js and Marionette.js

A Beginner's Guide for Creating Single Page Applications using Backbone.js and Marionette.js | JavaScript for Line of Business Applications | Scoop.it

Backbone.js is a lightweight framework that let us create single page applications in a structured manner. It is based on the Model-View-Controller (MVC) pattern. It is best suited for creating single page applications using a RESTful service for persisting the data. 

Marionette.js is a composite application library built on top of backbone.js and it allows us to build large scale javascript single page application. Backbone.js does not enforce the use of strict MVC pattern but backbone marionette enforces the use of strict MVC pattern. marionette also provides us View classes that we can create and extend simple view, collection views and composite views. It also gives us the possibility of creating Controller classes and eventing mechanism across the application.

more...
No comment yet.
Scoop.it!

ASP.NET - Single-Page Applications: Build Modern, Responsive Web Apps with ASP.NET

ASP.NET - Single-Page Applications: Build Modern, Responsive Web Apps with ASP.NET | JavaScript for Line of Business Applications | Scoop.it

Single-Page Applications (SPAs) are Web apps that load a single HTML page and dynamically update that page as the user interacts with the app.

SPAs use AJAX and HTML5 to create fluid and responsive Web apps, without constant page reloads. However, this means much of the work happens on the client side, in JavaScript. For the traditional ASP.NET developer, it can be difficult to make the leap. Luckily, there are many open source JavaScript frameworks that make it easier to create SPAs.

In this article, I’ll walk through creating a simple SPA app. Along the way, I’ll introduce some fundamental concepts for building SPAs, including the Model-View-Controller (MVC) and Model-View-ViewModel (MVVM) patterns, data binding and routing.

more...
JonahHayes's comment, November 12, 2013 1:57 AM
Single-Page Applications (SPAs) are Web apps that load a single HTML page and dynamically update that page as the user interacts with the app.
JonahHayes's curator insight, November 12, 2013 1:57 AM

Single-Page Applications (SPAs) are Web apps that load a single HTML page and dynamically update that page as the user interacts with the app.

Scoop.it!

ExtJS 4 MVC Application Architecture

Post with online demo about ExtJS 4 MVC application architecture.

The missing code to Senchas Docs!

more...
No comment yet.
Scoop.it!

Monocle - Amazing MVC Applications.

Monocle - Amazing MVC Applications. | JavaScript for Line of Business Applications | Scoop.it
A framework for developers who want to design, build and share cross device applications.

I can give you a simple and powerful structure to make the most of your web applications. An application consists of three work contexts: Model, View and Controller, developers usually call it the MVC pattern. These three contexts are equally important and each has its full integrity giving responsibility to your application.

more...
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.

Most Javascript frameworks for front end user interfaces used to build single page applications (SPAs) use MV* architectures, and a feature that most of them have in common is the ability for the View to update the Model, and for the Model to update the View.

For this to happen, there needs to be to be a means to “listen” for these changes, and then trigger some code to respond to that change. One call this “Two-way Data Binding”.

more...
No comment yet.