Slide 1

Slide 1 text

TODOS OS DIREITOS RESERVADOS AdvPL As vantagens de uma linguagem proprietária /Ricardo Mansano Agosto /2020

Slide 2

Slide 2 text

2 As vantagens de uma Linguagem proprietária

Slide 3

Slide 3 text

01 The very beginning 3

Slide 4

Slide 4 text

4 E no princípio Deus (do latim DEVSupremus) criou o Clipper e viu Deus que era bom... Onde tudo começou...

Slide 5

Slide 5 text

5 E no princípio Deus (do latim DEVSupremus) criou o Clipper e viu Deus que era bom... Onde tudo começou... brincadeira...

Slide 6

Slide 6 text

6 Tudo começa da necessidade... A necessidade

Slide 7

Slide 7 text

7 No final dos anos 90 todo software precisava rodar no Windows A necessidade

Slide 8

Slide 8 text

8 A então Microsiga tinha milhões de linhas de código em Clipper E uma dúvida... A necessidade

Slide 9

Slide 9 text

9 A primeira iniciativa foi o porte para o Fivewin. Clipper 5.3 => 5.Win A necessidade

Slide 10

Slide 10 text

10 Por ser uma linguagem de 16 bits, as quedas eram constantes... A necessidade

Slide 11

Slide 11 text

11 Tecnicamente o Delphi era a escolha lógica. Mas financeiramente isso seria muito caro. A necessidade

Slide 12

Slide 12 text

12 Lembram que eu falei que eram MILHÕES DE LINHA DE CÓDIGO... A necessidade

Slide 13

Slide 13 text

02 Thinking outside the box 13 13

Slide 14

Slide 14 text

14 A resposta foi difícil mas incisiva Fora da caixa

Slide 15

Slide 15 text

15 A resposta foi difícil mas incisiva Porque migrar para uma nova linguagem se posso simplesmente criar a minha própria ??? Fora da caixa

Slide 16

Slide 16 text

16 A resposta foi difícil mas incisiva Porque migrar para uma nova linguagem se posso simplesmente criar a minha pŕopria ??? Economizando anos com a re-escrita de fontes e testes de toda uma nova engine... Fora da caixa

Slide 17

Slide 17 text

17 ● Criar o ecossistema Desafios

Slide 18

Slide 18 text

18 ● Criar o ecossistema Desafios Futuro

Slide 19

Slide 19 text

19 ● Criar o ecossistema Desafios Evolução

Slide 20

Slide 20 text

20 ● Criar o ecossistema ● Ambiente Client/Server Desafios

Slide 21

Slide 21 text

21 ● Criar o ecossistema ● Ambiente Client/Server ● Como me comunicar com um SGDB através do ISAM? Desafios DbSkip() x Eof()

Slide 22

Slide 22 text

22 Desafios ● Criar o ecossistema ● Ambiente Client/Server ● Como me comunicar com um SGDB através do ISAM?

Slide 23

Slide 23 text

23 Desafios SB1->( DBAppend( .F. ) ) SB1->B1_DESCR := "PRODUTO 001" SB1->B1_VALOR := 10.00 SB1->( DBCommit() ) X DBEnv [POSTGRES/PROTHEUS12] DBThread [(ID 23381)] [127.0.0.1:5027] IDLE [ ] InTransact [0 s.] Memory [1246288] Running [ROP_UPDATE] RCV [438092]SND [1711952] TCBuild [20181212-20181220] TCVersion [18.2.1.0_RC1] ARCH [64] OS [LINUX] UPDATE SB1990 SET B1_DESCR = ?,B1_VALOR = ? WHERE R_E_C_N_O_ = ? ● Criar o ecossistema ● Ambiente Client/Server ● Como me comunicar com um SGDB através do ISAM?

Slide 24

Slide 24 text

24 Desafios SB1->( DBAppend( .F. ) ) SB1->B1_DESCR := "PRODUTO 001" SB1->B1_VALOR := 10.00 SB1->( DBCommit() ) X DBEnv [POSTGRES/PROTHEUS12] DBThread [(ID 23381)] [127.0.0.1:5027] IDLE [ ] InTransact [0 s.] Memory [1246288] Running [ROP_UPDATE] RCV [438092]SND [1711952] TCBuild [20181212-20181220] TCVersion [18.2.1.0_RC1] ARCH [64] OS [LINUX] UPDATE SB1990 SET B1_DESCR = ?,B1_VALOR = ? WHERE R_E_C_N_O_ = ? ● Criar o ecossistema ● Ambiente Client/Server ● Como me comunicar com um SGDB através do ISAM?

Slide 25

Slide 25 text

25 Desafios ● Criar o ecossistema ● Ambiente Client/Server ● Como me comunicar com um SGDB através do ISAM? ● Interface

Slide 26

Slide 26 text

26 Desafios ● Criar o ecossistema ● Ambiente Client/Server ● Como me comunicar com um SGDB através do ISAM? ● Interface

Slide 27

Slide 27 text

27 Desafios ● Criar o ecossistema ● Ambiente Client/Server ● Como me comunicar com um SGDB através do ISAM? ● Interface ● Ambiente de desenvolvimento

Slide 28

Slide 28 text

28 Desafios ● Criar o ecossistema ● Ambiente Client/Server ● Como me comunicar com um SGDB através do ISAM? ● Interface ● Ambiente de desenvolvimento ● E misturando tudo isso...

Slide 29

Slide 29 text

29 Desafios ● Criar o ecossistema ● Ambiente Client/Server ● Como me comunicar com um SGDB através do ISAM? ● Interface ● Ambiente de desenvolvimento ● E misturando tudo isso… ● Nascia em 1997 o Protheus 5.07

Slide 30

Slide 30 text

03 Always looking forward 30

Slide 31

Slide 31 text

31 Evolução contínua Próximos passos...

Slide 32

Slide 32 text

32 Estendendo o ecossistema para novos SO’s Evolução contínua

Slide 33

Slide 33 text

33 Estendendo o ecossistema para novos SO’s ● Mantendo a compatibilidade ● Garantindo esforço zero aos nossos Dev’s ● e principalmente aos nossos clientes Evolução contínua

Slide 34

Slide 34 text

34 Estendendo o ecossistema para novos SO’s ● Mantendo a compatibilidade ● Garantindo esforço zero aos nossos Dev’s ● e principalmente aos nossos clientes Evolução contínua

Slide 35

Slide 35 text

35 Estendendo o ecossistema para novos SO’s ● Mantendo a compatibilidade ● Garantindo esforço zero aos nossos Dev’s ● e principalmente aos nossos clientes Evolução contínua

Slide 36

Slide 36 text

36 Estendendo o ecossistema para novos SO’s ● Mantendo a compatibilidade ● Garantindo esforço zero aos nossos Dev’s ● e principalmente aos nossos clientes Evolução contínua nossos Dev’s desenvolvem para multiplataforma...

Slide 37

Slide 37 text

37 Mobile Evolução contínua

Slide 38

Slide 38 text

38 Mobile Evolução contínua nossos Dev’s desenvolvem para dispositivos móveis...

Slide 39

Slide 39 text

39 Navegadores Evolução contínua

Slide 40

Slide 40 text

40 Evolução contínua Navegadores

Slide 41

Slide 41 text

41 Evolução contínua nossos Dev’s desenvolvem para o mundo Web... Navegadores

Slide 42

Slide 42 text

42 Aplicação nativa Evolução contínua Armv7 / Armv8

Slide 43

Slide 43 text

43 Evolução contínua Aplicação nativa

Slide 44

Slide 44 text

44 Evolução contínua nossos Dev’s passarão a desenvolver para o ARM... Aplicação nativa

Slide 45

Slide 45 text

45 Evolução contínua Navegadores

Slide 46

Slide 46 text

46 Evolução contínua Navegadores

Slide 47

Slide 47 text

47 Evolução contínua Arquitetura

Slide 48

Slide 48 text

48 Evolução contínua Arquitetura

Slide 49

Slide 49 text

49 Evolução contínua Integração ● Aplicativos

Slide 50

Slide 50 text

50 Evolução contínua Integração ● Aplicativos ● Periféricos

Slide 51

Slide 51 text

51 Evolução contínua Controlando as mudanças

Slide 52

Slide 52 text

52 Evolução contínua Controlando as mudanças ● Estendendo novos protocolos ● Criando novas funções conforme a necessidade ● Agregando novas ferramentas ● Decidindo por novos a caminhos sem perder o foco no legado WebSocket SSL HTTPs

Slide 53

Slide 53 text

53 Evolução contínua Controlando as mudanças ● Estendendo novos protocolos ● Criando novas funções conforme a necessidade ● Agregando novas ferramentas ● Decidindo por novos a caminhos sem perder o foco no legado

Slide 54

Slide 54 text

54 Evolução contínua AdvPL x JS Controlando as mudanças ● Estendendo novos protocolos ● Criando novas funções conforme a necessidade ● Agregando novas ferramentas ● Decidindo por novos a caminhos sem perder o foco no legado

Slide 55

Slide 55 text

55 Evolução contínua Controlando as mudanças ● Estendendo novos protocolos ● Criando novas funções conforme a necessidade ● Agregando novas ferramentas ● Decidindo por novos a caminhos sem perder o foco no legado

Slide 56

Slide 56 text

56 Evolução contínua Controlando as mudanças ● Estendendo novos protocolos ● Criando novas funções conforme a necessidade ● Agregando novas ferramentas ● Decidindo por novos a caminhos sem perder o foco no legado

Slide 57

Slide 57 text

totvs.com @totvs /totvs company/totvs totvs.store @totvs ● Tecnologia + Conhecimento são nosso DNA. ● O sucesso do cliente é o nosso sucesso. ● Valorizamos gente boa que é boa gente. OBRIGADO RICARDO MANSANO Tecnologia [email protected] #SOMOSTOTVERS