“Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of...

Preview:

Citation preview

“Batteries included” Advantages of an ���

End-to-end JavaScript Stack

Juergen Fesslmeier

@chinshr

{Biz} Web Apps

{Biz} Web Apps

{Biz} Web Apps Structured Data

Business Rules

Easy Deployment

Security

Browsers

{Biz} Web Apps

{Biz} Web Apps

PHP Apache

Eclipse

Symfony

Varnish

MySQL

Zend

Aptana

Tomcat

JSP

JUnit

Java Hibernate

Spring GWT Oracle

Acegi

IIS

SQL Server

C# C++

Silverlight

Visual

.NET

Rails

JSP

django

Ruby

mongoDB nginx

postGre CouchDB

nodeJS ExtJS

HTTP

JSON

REST

ATOM SSL

Flex

Ice Cream Sandwich

Gingerbread

iOS 6

HTC

Device Fragmentation

Source: http://opensignalmaps.com/reports/fragmentation.php !

Client Library

Server Library

Database

{Biz} Web Apps

How to create a business web app

HTTP

> JS.isReadyForBusiness()

JS.isReadyForBusiness()

Since 1995

JS.isReadyForBusiness()

Since 1995

Popular

http://www.communityjs.org/

JS.isReadyForBusiness()

Since 1995

Popular

Tools & Frameworks

JSLint JSHint JavaScriptLintJSON JSON-Schema JSONQuery JSON-RPCJSDoc ScriptDocJSON ViewJSMin Packer YUI Compressor Dojo ShrinksafeYUI Test QUnit Jasmine Mocha SeleniumNPM / CPMRequireJS (r.js)PhantomJS . . . .

JS.isReadyForBusiness()

Since 1995

Popular

Tools & Frameworks

Engine Wars

http://codehenge.net/blog/2012/06/javascript-engine-benchmarks-2012-edition/

SunSpider Benchmarks 0.9.1

JS.isReadyForBusiness()

http://codehenge.net/blog/2012/06/javascript-engine-benchmarks-2012-edition/

http://schalk-neethling.com/2011/08/javascript-performance-test-results-with-sunspider/

SunSpider Benchmarks 0.9.1 SunSpider Benchmarks 0.9.1

JS.isReadyForBusiness()

Since 1995

Popular

Tools & Frameworks

Engine Wars

Server Side

NetScape Enterprise Server 2 Microsoft JScript, IIS ... Aptana Jaxer CouchDB Narwhal & Jack ServerJS/CommonJS Node.js v8cgi GPSEE Helma NG/Ringo JS Wakanda …

JS.isReadyForBusiness()

Since 1995

Popular

Tools & Frameworks

Engine Wars

Server Side

Pros and Pros

"JavaScript is a toy for kids"

"JavaScript is not typed" "JavaScript is not OO" "It's a Scripting language"

"JavaScript is not reliable" "Closures? Come on!"

"Give me a break with your JavaScript"

JS.isReadyForBusiness()

• Since 1995

• Popular

• Tools & Frameworks

• JS Engine Wars

• Pros and Pros

"JavaScript is a toy for kids"

"JavaScript is not typed" "JavaScript is not OO" "It's a Scripting language"

"JavaScript is not reliable" "Closures? Come on!"

"Give me a break with your JavaScript"

"JavaScript is slow"

"WT

F is

thi

s se

mi-c

olon

inse

rtio

n?"

"It's a Scripting language" "Give me a break with your JavaScript"

"JavaScript is not typed"

"JavaScript is not OO"

"JavaScript is slow"

"WTF is this sem

i-colon insertion?" "It's a Scripting language" "Give me a break with your JavaScript"

JS.isReadyForBusiness() "JavaScript is a toy for kids"

"JavaScript is not typed" "JavaScript is not OO" "It's a Scripting language"

"JavaScript is not reliable" "Closures? Come on!"

"Give me a break with your JavaScript"

"JavaScript is slow"

"WT

F is

thi

s se

mi-c

olon

inse

rtio

n?"

"It's a Scripting language" "Give me a break with your JavaScript"

"JavaScript is not typed"

"JavaScript is not OO"

"JavaScript is slow"

"WTF is this sem

i-colon insertion?" "It's a Scripting language" "Give me a break with your JavaScript"

Just Learn JavaScript!

"end-to-end" JS.isReadyForBusiness()

> JS.isReadyForBusiness() true

JS.everywhere()

Client Library

Server Library

Database

HTTP ON REST

The right tools

Business  Web  

Applica/on  

The right tools

Demo

wakanda.org

Juergen Fesslmeier

@chinshr

Recommended