In the following tests, we have measured the performance of several web application platforms, full-stack frameworks, and micro-frameworks.
Backbone.Marionette is a composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications.
It is a collection of common design and implementation patterns found in the applications that we have been building with Backbone, and includes pieces inspired by composite application architectures, event-driven architectures, messaging architectures, and more.
The Unframework
cujo is an architectural framework for next generation JavaScript applications. It encourages highly modular development, declarative application assembly, and embraces the asynchronous nature of JavaScript and its fusion of object-oriented and functional programming styles.
cujo’s extensible architecture and use of industry standards allows it to work seamlessly with your current application framework — and adapt easily to your next.
You focus on the business logic of your application components. cujo loads and assembles your components and then wires them all together.
Structure
The Terrific module structure helps you to organize your project in a very natural way. It reduces the complexity by splitting your code up in little pieces. Maintainability
Maintainability
A new feature? Need to change an existing one? Terrific makes it perfectly clear where to put your hands on – without having to worry about breaking your site. Reusability
Reusability
Modules are like Legos. Use them in your grid in every combination you can think of. Use them once, twice or as many times you like – even on the same page.
The premise was to take the seven top JavaScript frameworks/libraries for single-page and rich JavaScript applications — AngularJS, Backbone, Batman, CanJS, Ember, Meteor, Knockout, Spine — get the creators of all of them in one location, and compare the technologies head to head.
Bridge is a new RPC framework for building modular services and scalable cross-language applications.
Simple
No configuration files or IDLs. Exposed functions are immediately accessible without compiling or code generation. Quick to learn, easy to use.
Bidirectional client-server & server-server communication
Bridge was designed for both client-server and server-server interactivity, with bidirectional communication to any client front-end applications (browser, mobile, desktop) and any server applications using WebSocket and TCP connections. Secure communication with clients and external services
Efficient binary data serialization
Using messagepack for binary serialization, you can efficiently transmit files and data structures.
Derby includes a powerful data synchronization engine called Racer. While it works differently, Racer is to Derby somewhat like ActiveRecord is to Rails. Racer automatically syncs data between browsers, servers, and a database. Models subscribe to changes on specific objects and queries, enabling granular control of data propagation without defining channels. Racer supports offline usage and conflict resolution out of the box, which greatly simplifies writing multi-user applications. Derby makes it simple to write applications that load as fast as a search engine, are as interactive as a document editor, and work offline.
Vert.x is the framework for the next generation of asynchronous, effortlessly scalable, concurrent applications.
Vert.x is an event driven application framework that runs on the JVM - a run-time with real concurrency and unrivalled performance. Vert.x then exposes the API in Ruby, Java, Groovy and JavaScript. So you choose what language you want to use. (Scala, Clojure and Python support is on the roadmap too).
We also bundle a host of goodies out-of-the-box including a distributed event bus, Web Sockets, SockJS, a MongoDB persistor and many other features so you can write real applications from the set-off.
Some of the key highlights include:
- Polyglot. Write your application components in JavaScript, Ruby, Groovy or Java. It’s up to you. Or mix and match several programming languages in a single application.
- Super simple concurrency model. Vert.x allows you to write all your code as single threaded, freeing you from the hassle of multi-threaded programming. (No more synchronized, volatile or explicit locking).
- Unlike other popular event driven frameworks, Vert.x takes advantage of the JVM and scales seamlessly over available cores without having to manually fork multiple servers and handle inter process communication between them.
- Vert.x has a super simple, asynchronous programming model for writing truly scalable non-blocking applications.
Vert.x includes a distributed event bus that spans the client and server side so your applications components can communicate incredibly easily. The event bus even penetrates into in-browser JavaScript allowing you to create effortless so-called real-time web applications.
Vert.x provides real power and simplicity, without being simplistic. No more sprawling xml configuration files.
Vert.x is a community project sponsored by VMware.
Future applications will largely be running on mobile and embedded devices. These demand a platform that can scale with 10s, 100s or even millions of concurrent connections, and allow developers to write scalable, performant applications for them incredibly easily, in whatever language they prefer.
We believe Vert.x is that platform.
Mobile frameworks for web developers
Trigger.io - cross-platform app framework The simplest way for web developers to build native iOS, Android and web apps using a single HTML5 codebase.
Trestle - Powerful Cloud Services For Your Mobile Apps Use Trestle’s RESTful APIs to power your applications Simple integration with both mobile and server apps
Parse - The Mobile App Platform for Developers Add a powerful and scalable backend in minutes.