More Related Content
Similar to apresentacao_scala (20)
apresentacao_scala
- 3. Confidencial © UNEAR 2014
O que é Scala?
• Linguagem criada em 2001 por Martin Odersky na
Escola Politécnica de Lousana;
• Roda na JVM;
• Compatível com as bibliotecas Java;
• Tem sido adotado por grandes empresas.
- 4. Confidencial © UNEAR 2014
Por que utilizar Scala?
• Linguagem híbrida;
• Independente do SO;
• Suporta as bibliotecas Java;
• Código mais limpo e conciso do que em C# ou Java;
• Open-Source;
• Fácil de entender;
- 7. Confidencial © UNEAR 2014
Migração C# para Scala
• Apenas alguns componentes;
• Performance;
• Escalabilidade;
• Produtividade;
• Redução de custos;
- 9. Confidencial © UNEAR 2014
Diferenças nos modificadores
C# Scala
•Private por padrão.
•Não são virtual por padrão -
não podem ser ser
substítuidos em classes
derivadas. (override)
•Public por padrão.
•Virtual por padrão - qualquer
método pode ser substituído
em classes derivadas.
- 10. Confidencial © UNEAR 2014
Declaração de variáveis
• <identificador> <var/val> <nomeAtributo:tipo> =
<valor>
- 11. Confidencial © UNEAR 2014
Uso de valores imutáveis
• Auxilia na implementação sem efeitos
colaterais;
• Evita problemas de concorrência;
- 12. Confidencial © UNEAR 2014
Declaração de funções
• def <nomeFuncao> : <Tipo Retorno> = {}
• def <nomeFuncao> = {}
- 14. Confidencial © UNEAR 2014
Interfaces
• Traits:
– Especifíca a assinatura dos métodos;
– Diferentemente do Java, Scala permite que os métodos sejam
parcialmente implementados;
– Não suportam construtores.
- 18. Confidencial © UNEAR 2014
Play Framework
• Framework desenvolvimento Web;
• Possui suporte nativo para Json;
• Fácil de escalar
• Criação de novos projetos
– activator new <nome_projeto>
- 19. Confidencial © UNEAR 2014
Build
• SBT:
– Criação dos binários do projeto;
• Precisam da JVM para serem executados;
– universal:PackageBin
- 20. Confidencial © UNEAR 2014
Frameworks
• Persistência de dados:
– Slick, Anorm, Scalike
• Testes:
– ScalaTest
• MongoDB:
– Casbah
• …
• Todo o ecossistema Java
- 21. Confidencial © UNEAR 2014
Play Framework
• Framework desenvolvimento Web;
• Possui suporte nativo para Json;
• Fácil de escalar
• Criação de novos projetos
– activator new <nome_projeto>
- 22. Confidencial © UNEAR 2014
IDEs
• IntelliJ
– Necessário a instalação do plugin Scala
• ScalaIDE
– Baseada no Eclipse
• Sublime, Netbeans, Notepad++...
- 23. Confidencial © UNEAR 2014
Links Úteis
• http://www.scala-lang.org/
• http://www.tutorialspoint.com/scala/
• https://twitter.github.io/scala_school/
• https://www.playframework.com/
- 24. Confidencial © UNEAR 2014
Referências
• http://www.scala-lang.org/
• http://www.scala-sbt.org
• https://www.playframework.com/
• https://msdn.microsoft.com/en-s/library/ms123401.aspx