ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Backto
the future
<
ES. next
with
> @ggrgur
Grgur Grisogono
Architect
Dev Lead @
@ggrgur
Back to the Future with ES.next
?
?
?
Live
Work
Fun! (and work)
Agenda
ES.next ergonomics
(no code)
Front-End Dev Work?ow
ES.next
ES2015
ES2016
¡­
ECMAScript 5
Object.create()
Date.now()
JSON.parse()
JSON.stringify()
parseInt(x,10) Array.isArray()
Object.keys()
Array.prototype.indexOf()
Array.prototype.forEach()
Array.prototype.map()
Array.prototype.reduce()
Date.prototype.toISOString()
(2009)
ES2015
Lean Software Development
Lean Software Development
Experience
Communication/Feedback
Small, frequent updates
Repeat
ES2015
const, let
arrow functions
class system
module system
promises
ES2015
generators
destructuring
template literals
symbols
iterators
ES2015
maps
weak maps
sets
weak sets
proxies
ES2015
Upgrades to
arrays, objects,
strings,¡­
ES2016
ES2016
Better class system
Decorators
async/await
bind operator
¡­
So What?
Cool factor?
Easier transition?
UX
Interaction
Design
Information
Architecture
Content
Strategy
User Interface Typography
Usability
Visual Design
Functionality
UX
Build Debug
Develop
Create
Visualize
Upgrade
Maintain
Test
DX
Benchmark
Pro?le
lst off
org $E00
errcode = 0
get8bit = $E74C
buffer = $1000 ;7
tracks long
bufferend = buffer+
$7E00
rw18 = $D000 ;both
versions!
slot = $FD
track = $FE
lastrack = $FF
*---------------------
----------------------
------
*
* CALL RT - moves rw18
routines to their
homes in aux mem
*
* CALL RT+3,<5.25"
slot>,<BbundID>,<start
track>,<end track>
* ,<3.5"
slot>,<block offset>
*
jmp move
* Get source
information:
start jsr get8bit
stx slot525
jsr get8bit
stx BbundID
jsr get8bit
stx track
jsr get8bit
inx
stx ENDtrack
* Destination
information
jsr get8bit
stx slot35
jsr $DEBE ;get16bit
jsr $DD67
jsr $E752
sty Boffset
sta Boffset+1
* From now on we are
using aux zpage and
$D000
lda track
sta $C009
sta track
jsr recal525
loop lda track
pha
jsr read525
bcs :plarts
pla
sta track
jsr write35
bcs :rts
lda track
eor ENDtrack
bne loop
Assembler
lst off
org $E00
errcode = 0
get8bit = $E74C
buffer = $1000 ;7
tracks long
bufferend = buffer+
$7E00
rw18 = $D000 ;both
versions!
slot = $FD
track = $FE
lastrack = $FF
*---------------------
----------------------
------
*
* CALL RT - moves rw18
routines to their
homes in aux mem
*
* CALL RT+3,<5.25"
slot>,<BbundID>,<start
track>,<end track>
* ,<3.5"
slot>,<block offset>
*
jmp move
* Get source
information:
start jsr get8bit
stx slot525
jsr get8bit
stx BbundID
jsr get8bit
stx track
jsr get8bit
inx
stx ENDtrack
* Destination
information
jsr get8bit
stx slot35
jsr $DEBE ;get16bit
jsr $DD67
jsr $E752
sty Boffset
sta Boffset+1
* From now on we are
using aux zpage and
$D000
lda track
sta $C009
sta track
jsr recal525
loop lda track
pha
jsr read525
bcs :plarts
pla
sta track
jsr write35
bcs :rts
lda track
eor ENDtrack
bne loop
Assembler
Syntactic Sugar
Developer Experience
Back to the Future with ES.next
Destructuring
Back to the Future with ES.next
?DANGER
Syntactic Sugar
Back to the Future with ES.next
Arrow Function
debugger?
Back to the Future with ES.next
When
Should I Start Using
ES.next?
NOW!
Back to the Future with ES.next
TypeScript
CoffeeScript
ES.next
DEV
FA 01 D3 00 3C
WebAss?
No
Is ES.next the silver bullet?
Back to the Future with ES.next
Back to the Future with ES.next
Backto
the future
<
ES. next
with
> @ggrgur

More Related Content

Back to the Future with ES.next