Slide 1

Slide 1 text

Professional JavaScript Development (An Introduction for .NET Developers) Mail: [email protected] Twitter: @jbandi

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Most of the people writing in JavaScript are not programmers. They lack the training and discipline to write good programs. - Douglas Crockford, 2001 JavaScript in the browser is the single largest development platform. - Third-party JavaScript, Manning 2013 A very large group of developers still thinks of JavaScript as a joke. - Davy Brion, 2011 We strongly suggest to adopt JavaScript as a first class language. - ThoughtWorks Technology Radar, 2011

Slide 5

Slide 5 text

Two Worlds?

Slide 6

Slide 6 text

Any application that can be written in JavaScript, will eventually be written in JavaScript. - Atwood’s Law, 2007 We are slaves to JavaScript because people have simply started to accept its weirdness and flaws, much like a Stockholm Syndrome phenomenon. - Chris Richardson, 2013

Slide 7

Slide 7 text

Write Code Build Test Deploy Language IDE Toolset compile package Test-Frameworks dependency management Libraries / Frameworks MSTest

Slide 8

Slide 8 text

The Language

Slide 9

Slide 9 text

The Bad Parts

Slide 10

Slide 10 text

• Object • Class • Method • Constructor • Namespaces • Inheritance Language Constructs • Object • Function ...everything else can be implemented

Slide 11

Slide 11 text

Closures

Slide 12

Slide 12 text

Toolset

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Bower

Slide 15

Slide 15 text

Dependency Management

Slide 16

Slide 16 text

Building

Slide 17

Slide 17 text

Testing

Slide 18

Slide 18 text

Frameworks

Slide 19

Slide 19 text

First Generation Frameworks

Slide 20

Slide 20 text

• Client-­‐Side  MVC   • Applica1on  Structure   • Data-­‐Binding A “Second Generation” of JavaScript Frameworks

Slide 21

Slide 21 text

A “Third Generation” of JavaScript Frameworks Goal:  Complete  Client-­‐Side   Applica1on  Development   Frameworks

Slide 22

Slide 22 text

Write Code Build Test Deploy Language IDE Toolset compile package Test-Frameworks dependency management Libraries / Frameworks Bower

Slide 23

Slide 23 text

To Node or not to Node? Pure .NET Buildchain vs. Two dedicated Buildchains (Runtime vs. Buildtime?) .NET Build Integration

Slide 24

Slide 24 text

Questions Interessiert an einem JavaScript Bootcamp? Agenda: Tag 1: - JavaScript: Sprachkonstrukte und Patterns - jQuery als quasi Standard für browserseitige Programmierung - JavaScript Toolchain: Building, Linting, Testing (z.B. mit Grunt, Bower, Karma) ! Tag 2: - Client-Side MVC und Single Page Applications mit AngularJS - Architektur: JavaScript/AngularJS als Frontend & RESTful Services als Backend - Integration in Java oder .NET Projekte ! Kontakt: [email protected] Code Examples: https://github.com/jbandi/JavaScriptExamples