meetup scalacamp curitiba, fevereiro de 2017, parte i
TRANSCRIPT
![Page 1: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/1.jpg)
ScalaCampMeetup parte I
![Page 2: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/2.jpg)
Agradecimentos
GBG Curitiba
Atitude Empreendedora
Centro Europeu
Unistart
![Page 3: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/5.jpg)
Inovação
• Inovação de produto
• Inovação de processo
![Page 6: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/8.jpg)
Orientação a Objeto (OO)Porquê #2
• Encapsulamento.
• Reformulação (refactoring).
• Domain Driven Design.
![Page 9: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/9.jpg)
Tipos EstáticosPorquê #3
• Velocidade x Consistência
![Page 10: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/10.jpg)
Tipos Estáticos
• Consistência x Complexidade
![Page 12: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/12.jpg)
ExpressõesPorquê #4
• Usando o REPL
![Page 13: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/13.jpg)
Tratamento de nulosPorquê #5
• Option[T]
![Page 14: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/14.jpg)
“Pattern Matching” Porquê #6
• Option[T] tem duas subclasses: Some e None
![Page 15: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/15.jpg)
Paradigma funcional Porquê #7
• Scala = OO + funcional (multiparadigma)
![Page 16: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/16.jpg)
“You are not alone” Porquê #8 -> Porquê #1
• Scala Build Tool - SBT
![Page 17: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/17.jpg)
Alô MundoO mais simples possível
![Page 18: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/18.jpg)
![Page 19: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/19.jpg)
Alô MundoAlgo a mais
![Page 20: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/20.jpg)
![Page 21: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/21.jpg)
Alô MundoArgumentos, controle de nulos, coleções
![Page 22: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/22.jpg)
![Page 23: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/23.jpg)
Alô Mundo WebCom Spring Boot
![Page 24: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/24.jpg)
![Page 25: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/25.jpg)
![Page 26: Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I](https://reader031.vdocuments.net/reader031/viewer/2022022001/58ad61251a28ab9e428b4cd1/html5/thumbnails/26.jpg)
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