“batteries included” advantages of an end-to-end ... · “batteries included” advantages of...

26
Batteries includedAdvantages of an End-to-end JavaScript Stack Juergen Fesslmeier @chinshr

Upload: others

Post on 01-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

“Batteries included” Advantages of an ���

End-to-end JavaScript Stack

Juergen Fesslmeier

@chinshr

Page 2: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

{Biz} Web Apps

Page 3: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

{Biz} Web Apps

Page 4: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

{Biz} Web Apps Structured Data

Business Rules

Easy Deployment

Security

Browsers

Page 5: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

{Biz} Web Apps

Page 6: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

{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

Page 7: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

Device Fragmentation

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

Page 8: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

Client Library

Server Library

Database

{Biz} Web Apps

How to create a business web app

HTTP

Page 9: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

> JS.isReadyForBusiness()

Page 10: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

JS.isReadyForBusiness()

Since 1995

Page 11: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

JS.isReadyForBusiness()

Since 1995

Popular

http://www.communityjs.org/

Page 12: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

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

Page 13: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

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

Page 14: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

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

Page 15: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

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 …

Page 16: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

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"

Page 17: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

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"

Page 18: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

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"

Page 19: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

Just Learn JavaScript!

Page 20: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

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

Page 21: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

> JS.isReadyForBusiness() true

Page 22: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

JS.everywhere()

Client Library

Server Library

Database

HTTP ON REST

Page 23: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

The right tools

Page 24: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

Business  Web  

Applica/on  

The right tools

Page 25: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

Demo

Page 26: “Batteries included” Advantages of an End-to-end ... · “Batteries included” Advantages of an ! End-to-end JavaScript Stack" Juergen Fesslmeier" @chinshr" {Biz} Web Apps {Biz}

wakanda.org

Juergen Fesslmeier

@chinshr