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

{learnhowto:‘tame the JavaScript Monster with #vjetjside’}

9957e638ae6208f660fcd4c0c5b65521?s=47 Justin Early
December 12, 2012

{learnhowto:‘tame the JavaScript Monster with #vjetjside’}

Talk given on 12/12/2012 at Eclipse Day at Google

9957e638ae6208f660fcd4c0c5b65521?s=128

Justin Early

December 12, 2012
Tweet

Other Decks in Programming

Transcript

  1. {learnhowto:‘tame the JavaScript Monster with #vjetjside’} Justin Early, Avantsoft @earlyster

    eclipse.org/vjet/ Friday, December 14, 12
  2. Global Pollution Lack of structure Never upgrade syndrome not able

    to use multiple libraries types in JsDocs are not correct Portability JS errors Friday, December 14, 12
  3. Friday, December 14, 12

  4. Friday, December 14, 12

  5. Friday, December 14, 12

  6. Training Tools Friday, December 14, 12

  7. Training Tools • Automatic Inferencing • VJETDoc - you can

    type all js constructs • vjojs - a js library for defining types • VJET Type libs - HelloWorld and 3rd party JS • VJET Code generation Friday, December 14, 12
  8. Inferencing based on literal Friday, December 14, 12

  9. Inferencing based on assignment Friday, December 14, 12

  10. Inferencing based on known first arguments Friday, December 14, 12

  11. Inference of array types Friday, December 14, 12

  12. Flagging inferred accidental global vars Friday, December 14, 12

  13. VJETDoc for vars Friday, December 14, 12

  14. VJETDoc for DOM types Friday, December 14, 12

  15. VJETDoc for functions Friday, December 14, 12

  16. VJETDoc for functions Friday, December 14, 12

  17. VJETDoc for functions and literals Friday, December 14, 12

  18. VJETDoc for dependencies firstfile.js Friday, December 14, 12

  19. VJETDoc - more • Learn more about VJETDoc here •

    eclipse.org/vjet/ -> Documentation Friday, December 14, 12
  20. vjojs - defining types Text +VJETDoc Friday, December 14, 12

  21. vjojs -kinds of types • Class • Enum • Interface

    • Mixin • Object Literal • Function Friday, December 14, 12
  22. vjojs - side by side with Java Friday, December 14,

    12
  23. vjojs - side by side with Java Friday, December 14,

    12
  24. vjojs - side by side with Java Friday, December 14,

    12
  25. vjojs - side by side with Java Friday, December 14,

    12
  26. vjojs - more info • There is more information about

    vjojs • http://eclipse.org/vjet -> documentation Friday, December 14, 12
  27. VJET creating type libraries using vjojs Friday, December 14, 12

  28. vjojs -for type libraries Friday, December 14, 12

  29. Using Existing Type libraries • DOM + JavaScript apis +

    vjojs - built in • EcmaScript Ed 5 api updates - add on • JSON - add on • HTML Canvas 2D API - add on Friday, December 14, 12
  30. Using Existing Type libraries • You can use type libraries

    in multiple ways: • For JS authoring • For authoring JavaScript with Java Friday, December 14, 12
  31. VJET Mix n Match Code Gen • You can generate

    a Java API from vjojs • You can also generate vjojs code from Java Friday, December 14, 12
  32. Demo Friday, December 14, 12

  33. Tame your JavaScript Monster with VJET • Automatic Inferencing •

    VJETDoc - you can type all js constructs • vjojs - a js library for defining types • VJET Type libs - HelloWorld and 3rd party JS • VJET Code generation Friday, December 14, 12
  34. Thanks • Please visit eclipse.org/vjet/ • Jobs at Avantsoft •

    See how VJET is being extended at Ignite talk later this afternoon • Follow me on twitter @earlyster Friday, December 14, 12