Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Professional JavaScript Development: An Introduction for .NET developers

Jonas Bandi
February 24, 2014

Professional JavaScript Development: An Introduction for .NET developers

Jonas Bandi

February 24, 2014
Tweet

Other Decks in Programming

Transcript

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

    Twitter: @jbandi

    View Slide

  2. View Slide

  3. View Slide

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

    View Slide

  5. Two Worlds?

    View Slide

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

    View Slide

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

    View Slide

  8. The Language

    View Slide

  9. The Bad Parts

    View Slide

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

    View Slide

  11. Closures

    View Slide

  12. Toolset

    View Slide

  13. View Slide

  14. Bower

    View Slide

  15. Dependency
    Management

    View Slide

  16. Building

    View Slide

  17. Testing

    View Slide

  18. Frameworks

    View Slide

  19. First Generation Frameworks

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  23. To Node or not to Node?
    Pure .NET Buildchain
    vs.

    Two dedicated
    Buildchains
    (Runtime vs. Buildtime?)
    .NET Build Integration

    View Slide

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

    View Slide