meetup scalacamp curitiba, fevereiro de 2017, parte i

26
ScalaCamp Meetup parte I

Upload: mauricio-fernandes-de-castro

Post on 22-Jan-2018

55 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

ScalaCampMeetup parte I

Page 2: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Agradecimentos

GBG Curitiba

Atitude Empreendedora

Centro Europeu

Unistart

Page 3: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Não Há uma linguagem

melhor que a outra.Mas pode haver uma combinação (equipe + linguagem)

mais competitiva.

Page 4: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Roteiro

• Parte I: Instalação e “Alô Mundo”

• Instale ferramentas | Porquês

• Teste a instalação | Porquês

• Crie e execute “Alô Mundo”

• Exercícios

Page 5: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Inovação

• Inovação de produto

• Inovação de processo

Page 6: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Ferramentas• https://www.jetbrains.com/idea/

• http://www.oracle.com/technetwork/pt

/java/javase/downloads/index.html

• http://scalacamp.com.br

Page 7: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Porquê #1: JVM

• 21 anos em constante

evolução.

• #1 TIOBE (Fev 2017), #1

desde 2004 se considerarmos

somente OO.

• Grande número de bibliotecas

de código aberto.

Page 8: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Orientação a Objeto (OO)Porquê #2

• Encapsulamento.

• Reformulação (refactoring).

• Domain Driven Design.

Page 9: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Tipos EstáticosPorquê #3

• Velocidade x Consistência

Page 10: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Tipos Estáticos

• Consistência x Complexidade

Page 11: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Exercício

• Enquanto a instalação não termina: https://scalafiddle.io/

Page 12: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

ExpressõesPorquê #4

• Usando o REPL

Page 13: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Tratamento de nulosPorquê #5

• Option[T]

Page 14: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

“Pattern Matching” Porquê #6

• Option[T] tem duas subclasses: Some e None

Page 15: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Paradigma funcional Porquê #7

• Scala = OO + funcional (multiparadigma)

Page 16: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

“You are not alone” Porquê #8 -> Porquê #1

• Scala Build Tool - SBT

Page 17: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Alô MundoO mais simples possível

Page 18: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I
Page 19: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Alô MundoAlgo a mais

Page 20: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I
Page 21: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Alô MundoArgumentos, controle de nulos, coleções

Page 22: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I
Page 23: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Alô Mundo WebCom Spring Boot

Page 24: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I
Page 25: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I
Page 26: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Muito [email protected]

Maurício Fernandes de Castro

Apresentado durante a primeira reunião ScalaCamp, Curitiba, 2017

mvpsustentavel.com.br

Visite também:

scalacamp.com.br