Futuro do Subjuntivo - Quando vós programardes JavaScript

572696200604e59baa59ee90d61f7d02?s=47 Jaydson Gomes
September 14, 2015

Futuro do Subjuntivo - Quando vós programardes JavaScript

Quando eu falar sobre JavaScript, vós entendereis o que quero dizer.
Quando tu aprenderes mais sobre JavaScript, serás recompensado.
Quando nós estudarmos sobre o futuro do JavaScript, melhores desenvolvedores nos tornaremos.
Quando vós programardes JavaScript, uma nova aplicação nascerá.
Quando eles souberem sobre as novas features do JavaScript, abismados ficarão.

Palestra apresentada na Webbr Setembro/2015 e no FrontEnd Carioca Setembro/2015.

572696200604e59baa59ee90d61f7d02?s=128

Jaydson Gomes

September 14, 2015
Tweet

Transcript

  1. Futuro do Subjuntivo Quando vós programardes JavaScript

  2. Jaydson Gomes @jaydson

  3. https://twitter.com/julian_duque/status/633450471643041792

  4. https://twitter.com/codepo8/status/638670886745321472

  5. Front-end Developer Tools

  6. JavaScript é Foda

  7. “You don’t break the web, you don’t get to clean

    the slate and start over. Anybody who tries is going to fail” Brendan Eich
  8. String .contains( )

  9. None
  10. Criar uma library para tratar requisições.

  11. None
  12. Request( )

  13. None
  14. Xrequest( )

  15. None
  16. 68% 71% 63% 71% 53% 21% ES6 support

  17. None
  18. let/const, tpl strings, new methods Modules, classes, arrow functions promises,

    symbols, iterators, generators, Async Functions junior x pleno x senior x ES6/ES7 developer x features
  19. Block Scope

  20. None
  21. None
  22. None
  23. Template Strings

  24. None
  25. None
  26. String .repeat ( n )

  27. None
  28. String .Includes ( txt, start )

  29. None
  30. String .startsWith ( txt, start )

  31. None
  32. Math.acosh(x) Math.asinh(x) Math.atanh(x) Math.cbrt(x) Math.clz32(x) Math.cosh(x) Math.expm1(x) Math.fround(x) Math.log1p(x) Math.log10(x)

    Math.log2(x) Math.sign(x) Math.sinh(x) Math.tanh(x) Math.trunc(x) Math.hypot(...values) Math.imul(x, y)
  33. None
  34. Arrow => Functions

  35. Arrow Function: Single parameter

  36. arrow function: n parameters

  37. arrow function: parameterless

  38. arrow function: with a body

  39. Classical this issue

  40. Fixing this issue ES5

  41. Fixing this issue ES6

  42. Classes

  43. None
  44. None
  45. Modules

  46. Creating modules // baz.js let baz = 'baz'; export default

    baz; // app.js import baz from “baz”;
  47. Creating modules // foo.js import baz from "./baz"; console.log('From module

    baz >>> ', baz); let foo = 'foo'; export default foo; export let bar = 'bar'; // foo.js import { bar } from “foo”;
  48. Es7 Async functions

  49. Old friend Ajax

  50. Not so new friend, Promises

  51. Fetch API

  52. Parallel execution

  53. New powerful friend, generators

  54. The new awesome beast, async functions

  55. None
  56. None
  57. Parallel operations with async:

  58. Parallel operations with async + fetch (Oh my god this

    is great!):
  59. https://github.com/jaydson/es7-async

  60. Node.js 4.0 https://nodejs.org/en/blog/release/v4.0.0/

  61. V8 v4.5

  62. let const Typed array Collections Classes Generators Binary/ Octal Promises

    String methods Symbol Template strings Arrow functions
  63. Node.js 4.0 in progress

  64. Node.js 4.0 in action

  65. Node.js 4.0 in action

  66. https://babeljs.io/

  67. http://www.slideshare.net/cheilmann/can- we-make-es6-the-baseline-of-the-modern- web-braziljs-2105

  68. Futuro

  69. Web Assembly http://jaydson.org/webassembly-e-o-futuro-da-web/

  70. ES2016, es2017, es2018...

  71. obrigado! http://jaydson.org @jaydson