Slide 1

Slide 1 text

@knolleary Low-Code for the Node.js Developer Low-Code for the Node.js Developer July 2020 Nick O’Leary, @knolleary Open Source Developer Node-RED Project Lead

Slide 2

Slide 2 text

@knolleary Low-Code for the Node.js Developer 1st Generation Machine Code 0100 0011 0110 0110 1010 1110 1001 0011 1010 1110 1001 0011 0100 0011 0110 0110 0110 0110 1010 1110 1001 0011 0100 0011 1110 1001 0011 0100 0011 0110 0110 1010 0100 0011 0110 0110 1010 1110 1001 0011

Slide 3

Slide 3 text

@knolleary Low-Code for the Node.js Developer 2nd Generation Assembly Languages MOV AL, 1h ; Load AL with immediate value 1 MOV CL, 2h ; Load CL with immediate value 2 MOV DL, 3h ; Load DL with immediate value 3 MOV EAX, [EBX] ; Move the 4 bytes in memory at the address contained in EBX MOV [ESI+EAX], CL ; Move the contents of CL into the byte at address ESI+EA MOV DS, DX ; Move the contents of DX into segment register DS

Slide 4

Slide 4 text

@knolleary Low-Code for the Node.js Developer 3rd Generation Fortran, COBOL, ALGOL, C, Java, Python, JavaScript, Go, Ruby, C++, C#, Swift if (parsedArgs.define) { var defs = parsedArgs.define; try { while (defs.length > 0) { var def = defs.shift(); var match = /^(([^=]+)=(.+)|@(.*))$/.exec(def); if (match) { if (!match[4]) { var val = match[3];

Slide 5

Slide 5 text

@knolleary Low-Code for the Node.js Developer 4th Generation Non-procedural languages Domain specific

Slide 6

Slide 6 text

@knolleary Low-Code for the Node.js Developer Increasing Abstraction

Slide 7

Slide 7 text

@knolleary Low-Code for the Node.js Developer Low-Code Programming

Slide 8

Slide 8 text

@knolleary Low-Code for the Node.js Developer

Slide 9

Slide 9 text

@knolleary Low-Code for the Node.js Developer Abstraction in Node

Slide 10

Slide 10 text

@knolleary Low-Code for the Node.js Developer

Slide 11

Slide 11 text

@knolleary Low-Code for the Node.js Developer .js

Slide 12

Slide 12 text

@knolleary Low-Code for the Node.js Developer .js .html

Slide 13

Slide 13 text

@knolleary Low-Code for the Node.js Developer .js .html .json

Slide 14

Slide 14 text

@knolleary Low-Code for the Node.js Developer

Slide 15

Slide 15 text

@knolleary Low-Code for the Node.js Developer

Slide 16

Slide 16 text

@knolleary Low-Code for the Node.js Developer

Slide 17

Slide 17 text

@knolleary Low-Code for the Node.js Developer

Slide 18

Slide 18 text

@knolleary Low-Code for the Node.js Developer

Slide 19

Slide 19 text

@knolleary Low-Code for the Node.js Developer

Slide 20

Slide 20 text

@knolleary Low-Code for the Node.js Developer

Slide 21

Slide 21 text

@knolleary Low-Code for the Node.js Developer

Slide 22

Slide 22 text

@knolleary Low-Code for the Node.js Developer Edit dialog template Help text

Slide 23

Slide 23 text

@knolleary Low-Code for the Node.js Developer Node definition Appearance Properties Custom behaviour

Slide 24

Slide 24 text

@knolleary Low-Code for the Node.js Developer Make it intuitive

Slide 25

Slide 25 text

@knolleary Low-Code for the Node.js Developer Make it intuitive

Slide 26

Slide 26 text

@knolleary Low-Code for the Node.js Developer Make it intuitive

Slide 27

Slide 27 text

@knolleary Low-Code for the Node.js Developer Make it intuitive

Slide 28

Slide 28 text

@knolleary Low-Code for the Node.js Developer Make it intuitive

Slide 29

Slide 29 text

@knolleary Low-Code for the Node.js Developer Have sensible defaults

Slide 30

Slide 30 text

@knolleary Low-Code for the Node.js Developer Have sensible defaults

Slide 31

Slide 31 text

@knolleary Low-Code for the Node.js Developer Have sensible defaults

Slide 32

Slide 32 text

@knolleary Low-Code for the Node.js Developer Choose what can be controlled dynamically

Slide 33

Slide 33 text

@knolleary Low-Code for the Node.js Developer Choose what can be controlled dynamically

Slide 34

Slide 34 text

@knolleary Low-Code for the Node.js Developer Choose what can be controlled dynamically

Slide 35

Slide 35 text

@knolleary Low-Code for the Node.js Developer Be forgiving

Slide 36

Slide 36 text

@knolleary Low-Code for the Node.js Developer Handle errors with grace

Slide 37

Slide 37 text

@knolleary Low-Code for the Node.js Developer Handle errors with grace Attempting to resume normally after an uncaught exception can be similar to pulling out the power cord when upgrading a computer. Nine out of ten times, nothing happens. But the tenth time, the system becomes corrupted.

Slide 38

Slide 38 text

@knolleary Low-Code for the Node.js Developer Be consistent

Slide 39

Slide 39 text

@knolleary Low-Code for the Node.js Developer Have empathy for your users Make it intuitive Have sensible defaults Choose what can be controlled dynamically Be forgiving Handle errors with grace Be consistent

Slide 40

Slide 40 text

@knolleary Low-Code for the Node.js Developer Node-RED Community https://nodered.org/slack https://discourse.nodered.org https://twitch.tv/knolleary - Mondays@8PM (GMT+1)

Slide 41

Slide 41 text

@knolleary Low-Code for the Node.js Developer Low-Code for the Node.js Developer July 2020 Nick O’Leary, @knolleary Open Source Developer Node-RED Project Lead