SlideShare uma empresa Scribd logo
1 de 30
Javascript tar hevn



         Pål Fossmo
   @fossmo
   pal.fossmo@bekk.no
De som har begravet Javascript må tenke om igjen.
AGENDA


Hvorfor lære Javascript?

Rammeverk

Nodejs og Windows Azure
Hvorfor lære Javascript?


JavaScript is a prototype-based scripting
language that is dynamic,
weakly typed and has first-class functions. It is a
multi-paradigm language,
supporting object-oriented, imperative, and
functional programming styles.


                          Wikipedia.com
Hvorfor lære Javascript?
Nytt
webprogrammerings
   rammeverk
DATABASE   SERVER   KLIENT




JAVASCRIPT
OVERBEVIST?
RAMMEVERK
Prosessering                      MVC/MVVM



                      Spine.js    “One page”




               JSON        JSON
Gjør deg effektiv!
MVVM:
Model  datastruktur
ViewModel  presentasjon                                Holder orden på endringer
View  viser data                                       i viewmodellen oppdater
                                                        GUI.


               Alle                                   Endringer “trackes” med:
            nettlesere                                ko.observable(<type>)
                                                      Ko.observableArray(<array>)


     Declarative binding
     Bruker “data-bind”
     for å binde til
     modellen                                                    Utvidbar
     Bindinger:
     visible, text, html, css
     , style, attr, template
     click, event, submit,
     enable, disable, valu                       Observable
                                Knockoutjs.com
     e, checked, options,                        (Silverlight)
     selectionOptions, uni
     queName
TODO
Opprett modellen

                                                      TODO

 function Task(description, minutes) {
     var self = this;
     self.description = ko.observable(description);
     self.minutes = ko.observable(minutes);
  };
Opprett modellen

function TasksViewModel() {
   var self = this;
                                                                      TODO

      self.tasks = ko.observableArray([
        new Task("Forstå hvordan knockoutjs fungerer.", "25"),
        new Task("Spise lunsj", "60")
      ]);

   self.totalMinutes = ko.computed(function(){
     var total = 0;
     $.each(self.tasks(), function(){ total +=
parseInt(this.minutes()) })
     return total;
   });

      self.removeTask = function(task) { self.tasks.remove(task) };
 };
Opprett HTML

                                                             TODO


 <div data-bind="foreach: tasks" class="tasks">
   <div data-bind="text: description" class="text"></div>

   <div data-bind="text: minutes" class="number"></div>

   <div class="tools">
    <a href="#" data-bind="click: $parent.removeTask"></a>

</div>
Legg til binding

                                      TODO




<script type=“text/javascript”>
  ko.applyBindings(tasksViewModel);
</script>
DEMO
En “gammel” og gjennomprøvd teknologi er ofte det beste!
 NODE.JS har tatt den “gamle” teknologine til et nytt miljø
Nodejs og Azure                                    node.js




Why bother with node at all? (…) It uses a
very fast JavaScript engine called V8, but
more importantly its I/O is asynchronous
and event-driven which contrasts with
typical synchronous code.



                       Scott Hanselman,
             Microsoft Principal Program Manager
Nodejs.org
                                           NPM
     I/O asyncronous
                                     (search.npmjs.org)




  Community                             Express.js




   Microsoft
(Node.js Developer                   Windows Azure
     Center)



                       IISNode
Tomasz Janczuk
                       Microsoft
     Process                          Integrert med IIS
    managment                        sitt konfigurasjons
                                            system


Side-om-side med
      andre                          process.env.PORT
  applikasjoner     IISNODE

                                        Oppdatere
   Skalering over
                                      automatisk når
    flere kjerner
                                     skript filer endres
DEMO
Oppsummering
        Javascript
     gjennom alle lag!   Knockout.js

          Windows 8        Effektiv


             TV



IISNode                                Cloud9

                                       Azure
TAKK FOR MEG!


Pål Fossmo, BEKK

   @fossmo
   pal.fossmo@bekk.no

Mais conteúdo relacionado

Semelhante a Javascript tar hevn

内部MySQL培训.2.高级应用
内部MySQL培训.2.高级应用内部MySQL培训.2.高级应用
内部MySQL培训.2.高级应用Lixun Peng
 
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...Kenneth de Brucq
 
Ikke test Puppet-koden din
Ikke test Puppet-koden dinIkke test Puppet-koden din
Ikke test Puppet-koden dinJan Ivar Beddari
 
Presentation Mapreduce Bjornnordlund
Presentation Mapreduce BjornnordlundPresentation Mapreduce Bjornnordlund
Presentation Mapreduce BjornnordlundBjørn Nordlund
 
Responsiv design og Bootstrap 3
Responsiv design og Bootstrap 3Responsiv design og Bootstrap 3
Responsiv design og Bootstrap 3Morten Bergset
 
Enkelhet, testbarhet og skalerbarhet med grid bakgrunn
Enkelhet, testbarhet og skalerbarhet med grid   bakgrunnEnkelhet, testbarhet og skalerbarhet med grid   bakgrunn
Enkelhet, testbarhet og skalerbarhet med grid bakgrunnTormod Varhaugvik
 
11 erfaringer ditt prosjekt ikke behøver å gjenta
11 erfaringer ditt prosjekt ikke behøver å gjenta11 erfaringer ditt prosjekt ikke behøver å gjenta
11 erfaringer ditt prosjekt ikke behøver å gjentailmyggo
 
Slik kan du prototype enkelt med node red
Slik kan du prototype enkelt med node redSlik kan du prototype enkelt med node red
Slik kan du prototype enkelt med node redSimen Sommerfeldt
 
Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?mudnaes
 
Driftbarhet - Steg mot smidig drift, JavaZone 2010
Driftbarhet - Steg mot smidig drift, JavaZone 2010Driftbarhet - Steg mot smidig drift, JavaZone 2010
Driftbarhet - Steg mot smidig drift, JavaZone 2010ilmyggo
 
Firefox os og web som mobil plattform
Firefox os og web som mobil plattformFirefox os og web som mobil plattform
Firefox os og web som mobil plattformHåvard Wigtil
 
Firefox os og web som mobil plattform
Firefox os og web som mobil plattformFirefox os og web som mobil plattform
Firefox os og web som mobil plattformHåvard Wigtil
 
Firefox OS - og web som mobil plattform
Firefox OS - og web som mobil plattformFirefox OS - og web som mobil plattform
Firefox OS - og web som mobil plattformHåvard Wigtil
 
Introduksjon til Spring Boot
Introduksjon til Spring BootIntroduksjon til Spring Boot
Introduksjon til Spring BootHenrik Schwarz
 
Bygg applikasjonen din testbar
Bygg applikasjonen din testbarBygg applikasjonen din testbar
Bygg applikasjonen din testbarjanniche
 
JavaZone 2006 - Gode grep når prosjektet blir stort
JavaZone 2006 -  Gode grep når prosjektet blir stortJavaZone 2006 -  Gode grep når prosjektet blir stort
JavaZone 2006 - Gode grep når prosjektet blir stortEirik Torske
 
Medlemsmøte i PHP Norge: Flex 2 og PHP
Medlemsmøte i PHP Norge: Flex 2 og PHPMedlemsmøte i PHP Norge: Flex 2 og PHP
Medlemsmøte i PHP Norge: Flex 2 og PHPKnut Urdalen
 

Semelhante a Javascript tar hevn (20)

内部MySQL培训.2.高级应用
内部MySQL培训.2.高级应用内部MySQL培训.2.高级应用
内部MySQL培训.2.高级应用
 
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...
 
Ikke test Puppet-koden din
Ikke test Puppet-koden dinIkke test Puppet-koden din
Ikke test Puppet-koden din
 
Presentation Mapreduce Bjornnordlund
Presentation Mapreduce BjornnordlundPresentation Mapreduce Bjornnordlund
Presentation Mapreduce Bjornnordlund
 
Responsiv design og Bootstrap 3
Responsiv design og Bootstrap 3Responsiv design og Bootstrap 3
Responsiv design og Bootstrap 3
 
Enkelhet, testbarhet og skalerbarhet med grid bakgrunn
Enkelhet, testbarhet og skalerbarhet med grid   bakgrunnEnkelhet, testbarhet og skalerbarhet med grid   bakgrunn
Enkelhet, testbarhet og skalerbarhet med grid bakgrunn
 
11 erfaringer ditt prosjekt ikke behøver å gjenta
11 erfaringer ditt prosjekt ikke behøver å gjenta11 erfaringer ditt prosjekt ikke behøver å gjenta
11 erfaringer ditt prosjekt ikke behøver å gjenta
 
Slik kan du prototype enkelt med node red
Slik kan du prototype enkelt med node redSlik kan du prototype enkelt med node red
Slik kan du prototype enkelt med node red
 
2011 09-13 j query workshop
2011 09-13 j query workshop2011 09-13 j query workshop
2011 09-13 j query workshop
 
SCVMM SCOM 181198
SCVMM SCOM 181198SCVMM SCOM 181198
SCVMM SCOM 181198
 
Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?
 
Driftbarhet - Steg mot smidig drift, JavaZone 2010
Driftbarhet - Steg mot smidig drift, JavaZone 2010Driftbarhet - Steg mot smidig drift, JavaZone 2010
Driftbarhet - Steg mot smidig drift, JavaZone 2010
 
Firefox os og web som mobil plattform
Firefox os og web som mobil plattformFirefox os og web som mobil plattform
Firefox os og web som mobil plattform
 
Firefox os og web som mobil plattform
Firefox os og web som mobil plattformFirefox os og web som mobil plattform
Firefox os og web som mobil plattform
 
Firefox OS - og web som mobil plattform
Firefox OS - og web som mobil plattformFirefox OS - og web som mobil plattform
Firefox OS - og web som mobil plattform
 
Introduksjon til Spring Boot
Introduksjon til Spring BootIntroduksjon til Spring Boot
Introduksjon til Spring Boot
 
Bygg applikasjonen din testbar
Bygg applikasjonen din testbarBygg applikasjonen din testbar
Bygg applikasjonen din testbar
 
Soa Runtime
Soa RuntimeSoa Runtime
Soa Runtime
 
JavaZone 2006 - Gode grep når prosjektet blir stort
JavaZone 2006 -  Gode grep når prosjektet blir stortJavaZone 2006 -  Gode grep når prosjektet blir stort
JavaZone 2006 - Gode grep når prosjektet blir stort
 
Medlemsmøte i PHP Norge: Flex 2 og PHP
Medlemsmøte i PHP Norge: Flex 2 og PHPMedlemsmøte i PHP Norge: Flex 2 og PHP
Medlemsmøte i PHP Norge: Flex 2 og PHP
 

Javascript tar hevn

  • 1. Javascript tar hevn Pål Fossmo @fossmo pal.fossmo@bekk.no
  • 2. De som har begravet Javascript må tenke om igjen.
  • 4. Hvorfor lære Javascript? JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles. Wikipedia.com
  • 5.
  • 7.
  • 9.
  • 10. DATABASE SERVER KLIENT JAVASCRIPT
  • 11.
  • 12.
  • 15. Prosessering MVC/MVVM Spine.js “One page” JSON JSON
  • 16. Gjør deg effektiv! MVVM: Model  datastruktur ViewModel  presentasjon Holder orden på endringer View  viser data i viewmodellen oppdater GUI. Alle Endringer “trackes” med: nettlesere ko.observable(<type>) Ko.observableArray(<array>) Declarative binding Bruker “data-bind” for å binde til modellen Utvidbar Bindinger: visible, text, html, css , style, attr, template click, event, submit, enable, disable, valu Observable Knockoutjs.com e, checked, options, (Silverlight) selectionOptions, uni queName
  • 17. TODO
  • 18.
  • 19. Opprett modellen TODO function Task(description, minutes) { var self = this; self.description = ko.observable(description); self.minutes = ko.observable(minutes); };
  • 20. Opprett modellen function TasksViewModel() { var self = this; TODO self.tasks = ko.observableArray([ new Task("Forstå hvordan knockoutjs fungerer.", "25"), new Task("Spise lunsj", "60") ]); self.totalMinutes = ko.computed(function(){ var total = 0; $.each(self.tasks(), function(){ total += parseInt(this.minutes()) }) return total; }); self.removeTask = function(task) { self.tasks.remove(task) }; };
  • 21. Opprett HTML TODO <div data-bind="foreach: tasks" class="tasks"> <div data-bind="text: description" class="text"></div> <div data-bind="text: minutes" class="number"></div> <div class="tools"> <a href="#" data-bind="click: $parent.removeTask"></a> </div>
  • 22. Legg til binding TODO <script type=“text/javascript”> ko.applyBindings(tasksViewModel); </script>
  • 23. DEMO
  • 24. En “gammel” og gjennomprøvd teknologi er ofte det beste! NODE.JS har tatt den “gamle” teknologine til et nytt miljø
  • 25. Nodejs og Azure node.js Why bother with node at all? (…) It uses a very fast JavaScript engine called V8, but more importantly its I/O is asynchronous and event-driven which contrasts with typical synchronous code. Scott Hanselman, Microsoft Principal Program Manager
  • 26. Nodejs.org NPM I/O asyncronous (search.npmjs.org) Community Express.js Microsoft (Node.js Developer Windows Azure Center) IISNode
  • 27. Tomasz Janczuk Microsoft Process Integrert med IIS managment sitt konfigurasjons system Side-om-side med andre process.env.PORT applikasjoner IISNODE Oppdatere Skalering over automatisk når flere kjerner skript filer endres
  • 28. DEMO
  • 29. Oppsummering Javascript gjennom alle lag! Knockout.js Windows 8 Effektiv TV IISNode Cloud9 Azure
  • 30. TAKK FOR MEG! Pål Fossmo, BEKK @fossmo pal.fossmo@bekk.no

Notas do Editor

  1. En mannerpågolfbanenå spiller golf med en kompis. Han står der klartilåslå, da hanser et langtbegravelsesfølgesomgårforbipåveien. Han stoppemidtislaget, tar avsegcapsen, lukkerøyneneogbøyersegibønn. Golfkompisensier: “Detteernoeavdetmestrørendejeghar sett ihele mitt liv. Du ervirkelig en snillmann”.Mannensier da: “Jadetskulle bare mangle, vi var gift i 35 år.”
  2. ----- Meeting Notes (14.02.12 22:10) -----Alle kan javascript, eller alle kan copy and paste javascript fra nettet.
  3. 3 førstepunktene får c# programmerertilåfrysepåryggen?Andre rangsprogrammeringsspråkSikkerhetsproblemLappesammen HTMLJavascriptharvokstoppJqueryJSONHTML5Node.jsWindows 8
  4. Hvahar XAML værtuten C#/VB?  detsammegjelder for HTML ogJavascriptHTML5 handler omjavascriptMed HTML5 får du:CanvasWebGL  real-time 3D I HTML5 canvasGeolokasjonPersistent storage
  5. Harpotensialettilårevolusjonerer web utviklingenHvis du ikkeerkjent med node js, såerdet et nytt web programmeringsrammeverk. DeterjavascriptpåserveresidenDen nyekuletingensomhartatt over for Ruby On RailsAsynk mot response-request drevetMicrosoft, Google, Apple og Mozilla krigeromåfå den raskestejavascriptmotorenJavascriptmotorerermyeraskere en for noenårsidenDeter en enormtstormengde med Javascriptutviklere der utesombidrar med rammeverk (detfinnes et community rundtNode.js)Det popper opp mange rammeverk somblirbyggetopppåtoppenavnodejs
  6. Treav de ledendedokumentdatabasenebrukejavascriptog JSONJSON er en måteå serialize javascriptobjekter,ogdettebrukesinneidatabaseneFor åhenteut data, bruker man javascripti map/reduce funksjoner
  7. Når NASA begynteåsendeastronauterutiverdensrommet, oppdaget de at kulepennerikkefungertei der detikkevargravitasjon. For åfådettetilbrukte de fleremillionerpååutvikle en pen somkunneskrivei null gravitasjon, opp-ned, under vannogpånestenalleoverflater, inkludert glass ogiekstremetemeraturer.Russerenebrukte en blyant.----- Meeting Notes (21.02.12 16:03) -----Er dette godt og gammelt?Støttet for all fremtid.Slide som illus. alle lag med javascriptTa med mobil&quot;One page&quot; --&gt; forklar det bedreHva er Node.js?IISNode --&gt; kjører dette på azureFordelere med NODEIISHva kjører hvor i applikasjonen?
  8. NodeJSer en spennendeplattformsomharblittmerogmerpopulærHost på AzureWindows Azure Storage Queues, Tables and Blob storage
  9. ----- Meeting Notes (14.02.12 22:10) -----Alle kan javascript, eller alle kan copy and paste javascript fra nettet.