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

How to use React & Om to make a Single Page Application (SPA)

How to use React & Om to make a Single Page Application (SPA) | JavaScript for Line of Business Applications | Scoop.it

Clojure is a Lisp-based language that compiles and executes on the JVM. WithClojureScript, Clojure can be cross-compiled to JavaScript. Developing a SPA in a language like ClojureScript allows developers to utilize Clojure’s features like static type safety and immutability when working with large or complex applications. The Om project allows a developer using ClojureScript to interface with React in a client-side application. Let’s get started using React and Om to build a SPA.

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

My Way into Clojure: Building a Card Game with Om - Part 1

My Way into Clojure: Building a Card Game with Om - Part 1 | JavaScript for Line of Business Applications | Scoop.it
In order to gain hands-on experiences with functional programming, I wrote an HTML5 card game with Om, a “JavaScript MVC” written in ClojureScript.
This first post starts our journey travelling down the Clojure rabbit hole. I'll share my experiences getting started with Clojure, introduce the language's features and explain why its LISP syntax is a logical consequence of its deep infatuation with simplicity.
Jan Hesse's insight:

http://paulwittmann.github.io/cgnjs-om/

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

Om sweet Om: (high-)functional frontend engineering with ClojureScript and React

Om sweet Om: (high-)functional frontend engineering with ClojureScript and React | JavaScript for Line of Business Applications | Scoop.it

In our experience developing web, iOS, and backend applications, we’ve found that much (if not most) coupling, complexity, and bugs are a direct result of managing changes to application state. With ClojureScript and Om (a ClojureScript interface to React), we’ve finally found an architecture that shoulders most of this burden for us on the web. Two months ago, we rewrote ourwebapp in this architecture, and it’s been a huge boost to our productivity while maintaining snappy runtime performance.

This new codebase weighs in at just under 5k lines of ClojureScript (excluding libraries), about five times smaller than our previous ClojureScript codebase. Of course, size isn’t everything. Every member of our backend team has made significant contributions to the new codebase, which says a lot about its readability and accessibility.

Read on for more details about how we’ve been iterating faster with ClojureScript, React, and Om.

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

mori - A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript.

mori - A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript. | JavaScript for Line of Business Applications | Scoop.it

JavaScript is a powerful and flexible dynamic programming language with a beautiful simple associative model at its core. However this design comes at the cost of ubiquitous mutability. Mori embraces the simple associative model but leaves mutability behind. Mori delivers the following benefits to JavaScript:

  • Efficient immutable data structures - no cloning required
  • Uniform iteration for all types
  • Value based equality

Modern JavaScript engines like V8, JavaScriptCore, and SpiderMonkey deliver the performance needed to implement persistent data structures well.

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

Functional UI programming Session

Functional UI programming Session | JavaScript for Line of Business Applications | Scoop.it

Facebook's React is an interesting approach to UI programming in the browser that does away with manual DOM manipulation all together, and more closely resembles classic UI programming. Combine this approach with the immutable data structures of Clojurescript, and we're really getting somewhere.

In this talk I will explore the path to fully functional UI programming in the browser through React, Clojurescript, Om (React for Clojurescript) and other tools.

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

A slice of React, Clojurescript and Om

A slice of React, Clojurescript and Om | JavaScript for Line of Business Applications | Scoop.it

React has sparked a lot of interest in the Clojure community lately (and perhaps, hopefully the other way around as well), and for good reasons. At the very core, React lets you build up your DOM representation in a functional fashion by composing pure functions and you have a simple building block for everything: React components.

The core idea in Om is to simplify idiomatic state management with Clojurescript’s immutable datastructures, while still getting all the performance (and more), as well as adding some syntactic sugar.

I going to take a piece of the React tutorial and present in first Javascript, then Clojurescript and lastly using Om. Hopefully this will let us discover how plain Clojurescript interacts with React and inform us on some of the design decisions in Om.

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

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

Building an iOS weather app with Angular and ClojureScript

Building an iOS weather app with Angular and ClojureScript | JavaScript for Line of Business Applications | Scoop.it

The Weathertron is written in ClojureScript with Angular.js, backed by a weather forecast and almanac server written in Clojure on the JVM. This post outlines the motivation, benefits, and tradeoffs of this tech stack.

 

WHY NOT PLAIN CLOJURESCRIPT?

The early iterations of our first weather app, WeatherTable, were written in ClojureScript with the C2d ata visualization library to handle all view rendering. C2 (like its namesake, D3.js) uses pure functions to map data to the DOM...

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

Functional programming on frontend with React & ClojureScript

Functional programming on frontend with React & ClojureScript | JavaScript for Line of Business Applications | Scoop.it

I have been working and evaluating popular JavaScript frameworks such as AngularJS, Polymer, Ember and also emerging WebComponents for quite some time. In this blog post I will show advantages of React way of building scalable and well performing web applications with taste of functional programming. In this tutorial we will introduce basics of ClojureScript as well and show how React plays nicely with ClojureScript through one of its wrappers called Reagent. Working app is included as well.

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

From angular.js to om: a walk-through

From angular.js to om: a walk-through | JavaScript for Line of Business Applications | Scoop.it

While very happy with om so far, most of the introductory material out there focuses on complex apps and features, and when starting out, we fell like simple introductions were missing. Hopefully the following can help bridge that gap, assuming a familiarity with the clojure language.

Compared to angular, om does not provide any standard way to structure apps. This is in part due to the fact that om is fairly recent, but also to the fact that the clojure community puts a bigger emphasis on libraries than framework, which do not impose as much on their consumers.

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

Functional UI programming with React.JS and ClojureScript

Functional UI programming with React.JS and ClojureScript | JavaScript for Line of Business Applications | Scoop.it

Various JavaScript toolkits have been offered the past few years to enable the use of functional patterns on the frontend. While these tools promote composable APIs and pure functions to a certain degree, UI programming is still encumbered with stateful M

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

S-exps in your browser

S-exps in your browser | JavaScript for Line of Business Applications | Scoop.it

Contents:

* The front end of the pool
Enter ClojureScript
Exit Om
ClojureScript: the bad
Mori + Sweet.js = Ki
JavaScript loaders
Source map support
Macro support and speed
Sprockets dependencies
Shameless plug

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

Writing AngularJS with ClojureScript and Purnam

Hunting around for details on how to integrate AngularJS with ClojureScript, I did find a few articles, but eventually I came across the library Purnam, and I knew I had a winner. Purnam is a few things wrapped up into one:
* A very nice extra layer for JavaScript interoperability above and beyond what ClojureScript gives you out of the box
* Both a Jasmine and Midje style test framework, with integration into the great Karma test runner
* ClojureScript implementations of AngularJS directives, controllers, services, etcetera which greatly reduce the amount of boilerplate code you would otherwise need
* ClojureScript implementations that make testing of AngularJS directives, controllers, services, etcetera a breeze to set up under the above test framework.
* Fantastic documentation.

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!

Lucuma - A Web Components library for ClojureScript

Lucuma - A Web Components library for ClojureScript | JavaScript for Line of Business Applications | Scoop.it

At its core lucuma helps with creating custom HTML tag elements (Web Component) encapsulating content, style and logic. It is not a fancy MV* framework and aims at being a thin layer building on top of next generation web standards (mainly Custom Elements and Shadow DOM). 

It also makes the extra effort of being flexible and open to existing ClojureScript standards and libraries.

Lucuma is conceptually similar to polymer, x-tags or Polymer.dart.

more...
No comment yet.