SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
asdasd



Wie JavaScript die Welt eroberte


  Christian Heilmann, Mozilla, 5/5/11, Mainz
JavaScript hatte es von
Anfang an nicht leicht...
Da war schonmal der
dämliche Name...
Java ist zu JavaScript...
Warum JavaScript?
Langsames Internet!
Java im Browser war,
nunja...
Also brauchten wir was
Neues...
...eine Sprache die im
Browser läuft
...eine Sprache, die einfach
zu lernen ist.
Eine Sprache die IDE
unabhängig ist.
Zu Anfangs war JavaScript
nur eine Verbesserung.
Formulare - als Rechner
oder zur Validierung.
Fenstersteuerung




window.open();
Erstellung von Inhalten die
nur Sinn machen wenn JS
vorhanden ist.




document.write();
Von Anfang an war JS dazu
da, Probleme mit dem
Interface zu beheben.
Um das zu erledigen,
hatten wir das BOM
(Browser Object Model)
window.frames;
document.forms;
document.links;
document.images;
document.location;
document.history;
Wir fingen auch schon an,
unsere Interfaces per JS zu
“verbessern”.
DHTML - der Wahnsinn
beginnt!
Browser
forking!

ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

function check() {
  if (ns4) {
    // Netscape Navigator 4.0
  }
  if (ie4) {
    // Internet Explorer 4.0
  }
}
DHTML basierte auf keinen
Standard, sondern war ein
Marketingzauberwort.


  DHTML!
Der Standard für
Interaktion mit dem
Dokument wurde erst noch
erstellt.
Dann kamen Browser, die
auch dem Standard
folgten.
Bis dahin hatte JavaScript
aber schon einen
verdammt schlechten Ruf.
Missbrauch von JS für
aggressive Werbung.
Seiten, die JavaScript
benötigen und schwer zu
verwalten sind.
Daher wurde es Zeit, das
wir der Welt erklärten das
es auch anders geht!
Webentwicklung laut Zeldman


Funktionalität    JS
Darstellung      CSS
Struktur         HTML
Unobtrusive JavaScript
DOM Scripting Task Force


                                              Peter-Paul Koch
               Chris Kaminski
                                   Jeremy Keith
Dean Edwards


                     Stuart Langridge
                                              Meinereiner

                                                   Derek Featherstone
Ein paar Bücher...
Während die einen sich um
die Anwendung von JS
kümmerten...
...definierten Andere wie
man die Sprache selbst
verwenden sollte.
JavaScript Entwicklung ist
anders...
                      10%




                90%




   Code schreiben
   Warum macht der Browser was anderes?
Ein grosser Schritt war eine
Debugging Umgebung:
Firebug.
Der nächste Hype!
XML und JS = Sad Panda!
Crossdomain AJAX = is ned.




                 http://www.flickr.com/photos/givingkittensaway/55777042
JSON anstatt XML!
var inseln = [{
  "berge":2,
  "lage":{
     "meer":{
       "dimensionen":{
         "tief":true,
         "weit":true
       }
     }
  },
  "tunnels":"viele",
  "geleise":"viele",
  "verkehr":"Eisenbahn",
  "border":"schöner Strand",
  "name":"Lummerland"
}];
JSON-P erlaubt x-domain!
http://feeds.delicious.com/v2/
       json/codepo8/javascript?
       callback=meineLinks
<script>
function meineLinks(o){
  // ...
}
</script>
<script src="http://feeds.delicious.com/v2/json/
codepo8/javascript?callback=meineLinks">
meineLinks([
 {
     "u":"http://www.meetup.com/javascript-2/events/16773134/",
     "d":"Advanced HTML5 Video with Popcorn.js - The Boston JavaScript Meetup
         Group (Cambridge, MA) - Meetup",
     "t":["JavaScript","Popcorn.js","via:packrati.us","Boston","HTML5"],
     "dt":"2011-03-15T15:04:53Z",
     "n":"RT @F1LT3R: RT @bocoup: Don't miss @rwaldron's talk on #HTML5 video
         and #Popcorn.js tonight at #Boston #JavaScript Meetup:
         http://gul.ly/wd",
     "a":"codepo8"
 },{
     "u":"http://addyosmani.com/blog/essentialjsdesignpatternsupdate1/",
     "d":"Essential JavaScript Design Patterns 1.1 u2013 A Free Updated Book
          For Beginners",
     "t":["javascript","via:packrati.us","jquery","free"],
     "dt":"2011-02-27T21:32:16Z",
     "n":"RT @addyosmani: Essential JavaScript Design Patterns 1.1 u2013 A
          Free Updated Book For Beginners http://bit.ly/hpbnMz #javascript
          #jquery #free",
     "a":"codepo8"
     }
     // ...
])
Dynamische Scripterstellung.
if(navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(
     function(position) {
        var url = 'http://query.yahooapis.com/v1/public/yql?q='+
                  'select%20*%20from%20flickr.places%20where%20lat%3D%22'+
                  position.coords.latitude + '%22%20and%20lon%3D%22'+
                  position.coords.longitude + '%22&format=json&callback=found';
        var s = document.createElement('script');
        s.setAttribute('src',url);
        document.getElementsByTagName('head')[0].appendChild(s)
     },
     function(error){
        alert(typeof msg === 'string' ? msg : "error");
     }
  );
  function found(o){
     console.log(o.query.results.places.place.name);
     // Mayence, Rhineland-Palatinate, Germany
  }
}
Lazy loading und andere
Tricks...
Der echte Durchbruch kam
dann mit Bibliotheken.




                     ...
“Write less, achieve more!”
Der nächste grosse Schritt
war die Geschwindigkeit
von JavaScript zu
verbessern.
Wir fingen an JavaScript
Architektur Ideen und
Patterns anzuwenden.
Test-Driven-Development
kam auch zum Zuge.
Browser = schnelle
Platformen, die Standards
befolgen.
Was macht die JavaScript
Welt?
Andere Probleme lösen!
Polyfills
HTML5 und Konsorten sind
genial um Web
Applikationen zu erstellen.
Dummerweise muss man
auch an die alten Browser
denken.
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-
browser-Polyfills
JavaScript löst Probleme
mit den Web!
Der Hype der nie ankam?
Websockets für long-polling
Das nächste Ziel - der Server!
Der Erfolg von JavaScript
besteht darin, das Leute
Probleme finden, lösen und
mit Anderen teilen.
Daher ist es wichtig, am
Ball zu bleiben und an den
richtigen Stellen nach
informationen zu suchen!
JavaScript ist und bleibt die
schnellste Sprache, die das
Web als Medium voran
treibt.
Und es macht ne Menge
Spass an der Evolution
teilzunehmen anstatt sie
ersetzen zu wollen!
Also, viel Spass heute!
DANKE!

Chris Heilmann
@codepo8
http://wait-till-i.com

Más contenido relacionado

Destacado

6mesh - IPv6 freifunk mesh networks
6mesh - IPv6 freifunk mesh networks6mesh - IPv6 freifunk mesh networks
6mesh - IPv6 freifunk mesh networksMario B.
 
Aufbau und Monetarisierung von Online Communities
Aufbau und Monetarisierung von Online CommunitiesAufbau und Monetarisierung von Online Communities
Aufbau und Monetarisierung von Online CommunitiesNico Zorn
 
PM_CB.e_Wie gelingt Kommunikation im digitalen Zeitalter
PM_CB.e_Wie gelingt Kommunikation im digitalen ZeitalterPM_CB.e_Wie gelingt Kommunikation im digitalen Zeitalter
PM_CB.e_Wie gelingt Kommunikation im digitalen ZeitalterElisabeth Kurkowski
 
Social Media - (schon wieder) ein E-Mail Killer?
Social Media - (schon wieder) ein E-Mail Killer?Social Media - (schon wieder) ein E-Mail Killer?
Social Media - (schon wieder) ein E-Mail Killer?Nico Zorn
 
Fsg gpa.djp kv herbst 2010 13112010
Fsg gpa.djp kv herbst 2010 13112010Fsg gpa.djp kv herbst 2010 13112010
Fsg gpa.djp kv herbst 2010 13112010Werner Drizhal
 
Eki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_webEki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_webWerner Drizhal
 
Jahresbericht der Stadtbücherei Steinfurt 2015
Jahresbericht der Stadtbücherei Steinfurt 2015Jahresbericht der Stadtbücherei Steinfurt 2015
Jahresbericht der Stadtbücherei Steinfurt 2015Cornelia Eissing
 
El reino animal
El reino  animalEl reino  animal
El reino animal1600279192
 
Beispiele Berechnung Mindessicherung
Beispiele Berechnung MindessicherungBeispiele Berechnung Mindessicherung
Beispiele Berechnung MindessicherungWerner Drizhal
 
4.5 Website
4.5 Website4.5 Website
4.5 Websitejszpaich
 
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.Stephan Schmidt
 
El reino animal
El reino  animalEl reino  animal
El reino animal1600279192
 
Real-Time-Branding - Marken im Echtzeitweb
Real-Time-Branding - Marken im EchtzeitwebReal-Time-Branding - Marken im Echtzeitweb
Real-Time-Branding - Marken im EchtzeitwebNico Zorn
 

Destacado (20)

6mesh - IPv6 freifunk mesh networks
6mesh - IPv6 freifunk mesh networks6mesh - IPv6 freifunk mesh networks
6mesh - IPv6 freifunk mesh networks
 
Aufbau und Monetarisierung von Online Communities
Aufbau und Monetarisierung von Online CommunitiesAufbau und Monetarisierung von Online Communities
Aufbau und Monetarisierung von Online Communities
 
Bmlvs profi heer
Bmlvs profi heerBmlvs profi heer
Bmlvs profi heer
 
PM_CB.e_Wie gelingt Kommunikation im digitalen Zeitalter
PM_CB.e_Wie gelingt Kommunikation im digitalen ZeitalterPM_CB.e_Wie gelingt Kommunikation im digitalen Zeitalter
PM_CB.e_Wie gelingt Kommunikation im digitalen Zeitalter
 
Webster Transcript
Webster TranscriptWebster Transcript
Webster Transcript
 
Social Media - (schon wieder) ein E-Mail Killer?
Social Media - (schon wieder) ein E-Mail Killer?Social Media - (schon wieder) ein E-Mail Killer?
Social Media - (schon wieder) ein E-Mail Killer?
 
Fsg gpa.djp kv herbst 2010 13112010
Fsg gpa.djp kv herbst 2010 13112010Fsg gpa.djp kv herbst 2010 13112010
Fsg gpa.djp kv herbst 2010 13112010
 
Eki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_webEki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_web
 
GMDSS
GMDSSGMDSS
GMDSS
 
Anti diskbv090909
Anti diskbv090909Anti diskbv090909
Anti diskbv090909
 
Jahresbericht der Stadtbücherei Steinfurt 2015
Jahresbericht der Stadtbücherei Steinfurt 2015Jahresbericht der Stadtbücherei Steinfurt 2015
Jahresbericht der Stadtbücherei Steinfurt 2015
 
El reino animal
El reino  animalEl reino  animal
El reino animal
 
Eve bedoya
Eve bedoyaEve bedoya
Eve bedoya
 
Beispiele Berechnung Mindessicherung
Beispiele Berechnung MindessicherungBeispiele Berechnung Mindessicherung
Beispiele Berechnung Mindessicherung
 
4.5 Website
4.5 Website4.5 Website
4.5 Website
 
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
 
El reino animal
El reino  animalEl reino  animal
El reino animal
 
Programm Meg Ak
Programm Meg AkProgramm Meg Ak
Programm Meg Ak
 
Surf Chile
Surf ChileSurf Chile
Surf Chile
 
Real-Time-Branding - Marken im Echtzeitweb
Real-Time-Branding - Marken im EchtzeitwebReal-Time-Branding - Marken im Echtzeitweb
Real-Time-Branding - Marken im Echtzeitweb
 

Similar a Christian heilmann wie javascript die welt eroberte

HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: SecurityMayflower GmbH
 
Testgetriebene Entwicklung mit JavaScript - JAX 2011
Testgetriebene Entwicklung mit JavaScript - JAX 2011Testgetriebene Entwicklung mit JavaScript - JAX 2011
Testgetriebene Entwicklung mit JavaScript - JAX 2011Sebastian Sanitz
 
Backend-Services mit Rust
Backend-Services mit RustBackend-Services mit Rust
Backend-Services mit RustJens Siebert
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
 
Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010Sebastian Sanitz
 
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, OehmichenJFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, OehmichenOdilo Oehmichen
 
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, OehmichenJFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, OehmichenPatrick Baumgartner
 
Eine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFishEine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFishArnulf Christl
 
Web Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier BrowserWeb Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier BrowserSebastian Bauer
 
JsUnconf 2014
JsUnconf 2014JsUnconf 2014
JsUnconf 2014emrox
 
Emanzipiertes JavaScript und das Coming Out der Flash Community
Emanzipiertes JavaScript und das Coming Out der Flash CommunityEmanzipiertes JavaScript und das Coming Out der Flash Community
Emanzipiertes JavaScript und das Coming Out der Flash CommunityChristian Heilmann
 

Similar a Christian heilmann wie javascript die welt eroberte (20)

Node.js für Webapplikationen
Node.js für WebapplikationenNode.js für Webapplikationen
Node.js für Webapplikationen
 
Node.js Security
Node.js SecurityNode.js Security
Node.js Security
 
Node.js
Node.jsNode.js
Node.js
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Testgetriebene Entwicklung mit JavaScript - JAX 2011
Testgetriebene Entwicklung mit JavaScript - JAX 2011Testgetriebene Entwicklung mit JavaScript - JAX 2011
Testgetriebene Entwicklung mit JavaScript - JAX 2011
 
Backend-Services mit Rust
Backend-Services mit RustBackend-Services mit Rust
Backend-Services mit Rust
 
Enterprise JS
Enterprise JS Enterprise JS
Enterprise JS
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010
 
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, OehmichenJFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
 
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, OehmichenJFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
 
Eine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFishEine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFish
 
Web Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier BrowserWeb Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier Browser
 
JsUnconf 2014
JsUnconf 2014JsUnconf 2014
JsUnconf 2014
 
Hdc2012 cordova-präsi
Hdc2012 cordova-präsiHdc2012 cordova-präsi
Hdc2012 cordova-präsi
 
Emanzipiertes JavaScript und das Coming Out der Flash Community
Emanzipiertes JavaScript und das Coming Out der Flash CommunityEmanzipiertes JavaScript und das Coming Out der Flash Community
Emanzipiertes JavaScript und das Coming Out der Flash Community
 

Más de Christian Heilmann

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloChristian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteChristian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteChristian Heilmann
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandChristian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerChristian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?Christian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachChristian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsChristian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansChristian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Christian Heilmann
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlChristian Heilmann
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Christian Heilmann
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)Christian Heilmann
 

Más de Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 

Christian heilmann wie javascript die welt eroberte