Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.Copyright © 2014, Oracle and/or its affiliates. All ri...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.Copyright © 2014, Oracle and/or its affiliates. All ri...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.Copyright © 2014, Oracle and/or its affiliates. All ri...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•
JavaScript is the assembly language ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•
JavaScript is the assembly language ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
JavaScript is the assembly language of the web.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
An assembly language is a low-level programming langu...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
machine architecture: browser
machine language: JavaS...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Netscape – JavaScript
•
In 1995, JavaScript started a...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
“JavaScript is the assembly language of the web.”
– S...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
“I said 'JS is the x86 of the web' a couple of
years ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
JavaScript is machine language for the browser.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•
JavaScript is the assembly language ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Core Libraries
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Module Systems
Build Tools
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Application Frameworks
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Comparison
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Enterprises on AngularJS
http://blog.backand.com/are-...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Demo
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
New Kid On The Block...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
● Om – ClojureScript interface to React
● Mori – Pers...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
WONTA
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Write Once, Run Anywhere
Write Once, Never Touch Again
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Testing Frameworks
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Module Suites
Data grids, menus, sliders, and other w...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Supporting Tools
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•
JavaScript is the assembly language ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Maybe we should forget about Java altogether?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Transpilers
https://github.com/jashkenas/coffeescript...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Benefits of Transpilers
•
Use a “better” (different, ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Transpilers
•
CoffeeScript
•
TypeScript
•
Dart
•
GWT,...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
CoffeeScript
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
CoffeeScript
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
CoffeeScript
•
Classes, Inheritance, and Super
•
Lexi...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
TypeScript
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
TypeScript
•
Superset of JavaScript
•
Optionally type...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Dart
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Dart
•
Optionally typed
•
Functions
•
Interfaces
•
Mi...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Dart
•
Metadata (annotations)
•
Integration with Angu...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
GWT, Errai, Vaadin
•
Google Web Toolkit
•
Compiler fr...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
DukeScript
•
Framework for creating cross-platform
mo...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
DukeScript
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
DukeScript
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
DukeScript
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Demo
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
JavaScript is the assembly language
for modern web ap...
Upcoming SlideShare
Loading in …5
×

JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScript Landscape - Geertjan Wielenga

1,431 views

Published on

  • Be the first to comment

  • Be the first to like this

JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScript Landscape - Geertjan Wielenga

  1. 1. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Everything a Java EE Developer needs to know about the JavaScript Landscape
  2. 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Geertjan Wielenga @geertjanw Everything a Java EE Developer needs to know about the JavaScript Landscape
  3. 3. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Geertjan Wielenga @geertjanw Everything a Java Developer needs to know about the JavaScript Landscape
  4. 4. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 4
  5. 5. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Program Agenda • JavaScript is the assembly language of the web • Many, many, many libraries, frameworks, and tools – Core libraries – Module systems – Build tools – Application frameworks – Testing frameworks – Component suites – Supporting tools • Maybe we should forget about Java altogether?
  6. 6. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Program Agenda • JavaScript is the assembly language of the web • Many, many, many libraries, frameworks, and tools – Core libraries – Module systems – Build tools – Application frameworks – Testing frameworks – Component suites – Supporting tools • Maybe we should forget about Java altogether?
  7. 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. JavaScript is the assembly language of the web.
  8. 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
  9. 9. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. An assembly language is a low-level programming language for a computer, or other programmable device, in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions. Each assembly language is specific to a particular computer architecture, in contrast to most high-level programming languages, which are generally portable across multiple architectures, but require interpreting or compiling. Wikipedia
  10. 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. machine architecture: browser machine language: JavaScript
  11. 11. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Netscape – JavaScript • In 1995, JavaScript started at Netscape • Java applets were cute – jumped on the bandwagon • License from Sun Microsystems to use “Java” • Uses a vaguely similar syntax • In reality, nothing like Java • Added JavaScript to the browser
  12. 12. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. “JavaScript is the assembly language of the web.” – Scott Hanselman, 2011
  13. 13. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. “I said 'JS is the x86 of the web' a couple of years ago but I can't claim it's original. The point is JS is about as low as we can go. But it also has higher level facilities.” – Brendan Eich (inventor of JavaScript)
  14. 14. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
  15. 15. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. JavaScript is machine language for the browser.
  16. 16. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Program Agenda • JavaScript is the assembly language of the web • Many, many, many libraries, frameworks, and tools – Core libraries – Module systems – Build tools – Application frameworks – Testing frameworks – Component suites – Supporting tools • Maybe we should forget about Java altogether?
  17. 17. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Core Libraries
  18. 18. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Module Systems Build Tools
  19. 19. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Application Frameworks
  20. 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Comparison
  21. 21. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Enterprises on AngularJS http://blog.backand.com/are-enterprises-migrating-to-angularjs ● Google – DoubleClick ● ING – SpectINGular ● IBM – MobileFirst Platform Foundation
  22. 22. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Demo
  23. 23. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. New Kid On The Block...
  24. 24. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
  25. 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. ● Om – ClojureScript interface to React ● Mori – Persistent data structures ● Cortex – Centrally manage data ● Mercury – Module system ● Mithril – Similar framework
  26. 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. WONTA
  27. 27. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Write Once, Run Anywhere Write Once, Never Touch Again
  28. 28. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Testing Frameworks
  29. 29. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Module Suites Data grids, menus, sliders, and other widgets.
  30. 30. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Supporting Tools
  31. 31. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Program Agenda • JavaScript is the assembly language of the web • Many, many, many libraries, frameworks, and tools – Core libraries – Module systems – Build tools – Application frameworks – Testing frameworks – Component suites – Supporting tools • Maybe we should forget about Java altogether?
  32. 32. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Maybe we should forget about Java altogether?
  33. 33. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Transpilers https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS
  34. 34. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Benefits of Transpilers • Use a “better” (different, more familiar) language • Make use of different language features • Integrate with JavaScript landscape • Same language on frontend and backend
  35. 35. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Transpilers • CoffeeScript • TypeScript • Dart • GWT, Errai, Vaadin • DukeScript
  36. 36. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. CoffeeScript
  37. 37. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. CoffeeScript
  38. 38. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. CoffeeScript • Classes, Inheritance, and Super • Lexical Scoping and Variable Safety • String Interpolation • Block Strings and Block Comments • Golden Rule: “It's Just JavaScript”
  39. 39. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. TypeScript
  40. 40. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. TypeScript • Superset of JavaScript • Optionally typed • Declaration files can apply types to existing libraries • Type inference • Modules • Generics • Mixins
  41. 41. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Dart
  42. 42. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Dart • Optionally typed • Functions • Interfaces • Mixins • Libraries • Generics
  43. 43. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Dart • Metadata (annotations) • Integration with AngularJS • Integration with Polymer • Transpiles to JavaScript or the Dart VM • Run in Dartium, special build of Chromium • Maintained by Google
  44. 44. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. GWT, Errai, Vaadin • Google Web Toolkit • Compiler from Java to JavaScript • Tons of other features – Build applications – Facilities for doing REST – UI components • Errai: communications framework on GWT • Vaadin: component framework on GWT
  45. 45. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. DukeScript • Framework for creating cross-platform mobile, desktop and web applications. • Plain Java applications that internally use HTML5 technologies and JavaScript for rendering. • Write clean Java code and leverage the latest developments in modern UI technology.
  46. 46. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. DukeScript
  47. 47. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. DukeScript
  48. 48. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. DukeScript
  49. 49. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Demo
  50. 50. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. JavaScript is the assembly language for modern web applications. The browser is the target platform. Either write JavaScript or write Java and transpile to JavaScript or stick to traditional server-side approach. Choose wisely. Conclusions

×