Nessa apresentação falei um pouco sobre como foi a migração para Swift 3 do app do VivaReal. Citei algumas das mudanças da nova versão do Swift e como deixar o código mais de acordo com as API Design Guidelines.
A nova versão do Java está cheia de novidades que valem a pena conhecermos. Nesta palestra, conversaremos sobre as novas APIs de Data Hora e Stream, e veremos as principais mudanças que deixaram a linguagem mais fluente, dinâmica e poderosa.
Cloud Services é o ambiente de plataforma disponível no Microsoft Azure que permite a desenvolvedores hospedar aplicações de forma robusta e segura. Nesta apresentação (realizada no Azure Summit Brasil 2014), apresento os principais aspectos deste ambiente.
Java CDI: Usando Java CDI em projetos Jakarta EE ou MicroprofileVictor Osorio
Apresentação das features básicas da Especificação Java CDI através de casos de usos.
Video: https://www.youtube.com/watch?v=iDGgNNLYaO4&t=2412s
Código em:
- https://github.com/vepo/cdi-tutorial
- https://github.com/vepo/cdi-tutorial-java-se
A nova versão do Java está cheia de novidades que valem a pena conhecermos. Nesta palestra, conversaremos sobre as novas APIs de Data Hora e Stream, e veremos as principais mudanças que deixaram a linguagem mais fluente, dinâmica e poderosa.
Cloud Services é o ambiente de plataforma disponível no Microsoft Azure que permite a desenvolvedores hospedar aplicações de forma robusta e segura. Nesta apresentação (realizada no Azure Summit Brasil 2014), apresento os principais aspectos deste ambiente.
Java CDI: Usando Java CDI em projetos Jakarta EE ou MicroprofileVictor Osorio
Apresentação das features básicas da Especificação Java CDI através de casos de usos.
Video: https://www.youtube.com/watch?v=iDGgNNLYaO4&t=2412s
Código em:
- https://github.com/vepo/cdi-tutorial
- https://github.com/vepo/cdi-tutorial-java-se
Palestra sobre novos recursos do C# 6.0 realizada durante o Interopmix 2015 (24/10/2015).
Tópicos apresentados:
- Visual Studio 2015, C# 6.0 e mais...
- Alguns recursos da nova versão do Visual Studio
- Novos recursos do C# 6.0
Visão geral de um conjunto de Web Tools , estado da arte, capazes de prover uma suíte integrada de desenvolvimento e produção de softwares.
Sistema de gerência - use gratuitamente por 45 dias http://try.fogbugz.com
Para treinar sua equipe
http://training.fogcreek.com/index.php?lang=pt
Se gosta de games: www.futweb.com.br e http://futweb.com.br/ole
FutWeb: http://www.youtube.com/watch?v=eGhyXUtEISE
Ole: http://www.youtube.com/watch?v=cxn2LlWSt-o
Para usuários do Unity e do FogBugz
http://www.youtube.com/watch?v=h23XvVOk4cA
Palestra online sobre novos recursos do C# 6.0 realizada para o grupo DotNetBaixada (06/11/2015).
Tópicos apresentados:
- Visual Studio 2015, C# 6.0 e mais...
- Alguns recursos da nova versão do Visual Studio
- Novos recursos do C# 6.0
Conteudo sobre java e suas features por versão (8, 9, 10, 11), SOA X MICROSERVICES, versionamento de contrato, Protocolo HTTP E HTTPS .
java 8 - streams e Metodos default.
java 9 - jigsaw e jshell.
java 10 - Local variable type Inference E Garbage Collector Interface.
java 11 - Local-Variable Syntax for Lambda Parameters E Launch Single-File Source-Code Programs.
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...GUTS-RS
Robson Bittencourt apresenta dicas práticas para ajudar você a organizar os seus testes automatizados ao criar suites de testes mais robustas, com foco na reutilização de código e clareza dos testes utilizando práticas de Orientação a Objetos e organização de código, como Clean Code e SOLID. Tudo isso para que você possa aumentar a cobertura dos seus testes automizados de forma simples e fácil!
Na WWDC 2017, a Apple reinventou o Drag and Drop. No iPad, agora é possível compartilhar dados com outras apps de uma maneira fácil e intuitiva. Além disso, ele abre novas possibilidades de interações para o usuário dentro da app, tanto no iPad quanto no iPhone. O objetivo da palestra é explicar o funcionamento das novas APIs de Drag and Drop, mostrando desde integrações mais simples até como customizar as interações e tornar suas próprias estruturas de dados arrastáveis. Durante a palestra veremos aplicações reais e exemplos de códigos escritos no aplicativo do VivaReal para o iOS 11.
Palestra sobre novos recursos do C# 6.0 realizada durante o Interopmix 2015 (24/10/2015).
Tópicos apresentados:
- Visual Studio 2015, C# 6.0 e mais...
- Alguns recursos da nova versão do Visual Studio
- Novos recursos do C# 6.0
Visão geral de um conjunto de Web Tools , estado da arte, capazes de prover uma suíte integrada de desenvolvimento e produção de softwares.
Sistema de gerência - use gratuitamente por 45 dias http://try.fogbugz.com
Para treinar sua equipe
http://training.fogcreek.com/index.php?lang=pt
Se gosta de games: www.futweb.com.br e http://futweb.com.br/ole
FutWeb: http://www.youtube.com/watch?v=eGhyXUtEISE
Ole: http://www.youtube.com/watch?v=cxn2LlWSt-o
Para usuários do Unity e do FogBugz
http://www.youtube.com/watch?v=h23XvVOk4cA
Palestra online sobre novos recursos do C# 6.0 realizada para o grupo DotNetBaixada (06/11/2015).
Tópicos apresentados:
- Visual Studio 2015, C# 6.0 e mais...
- Alguns recursos da nova versão do Visual Studio
- Novos recursos do C# 6.0
Conteudo sobre java e suas features por versão (8, 9, 10, 11), SOA X MICROSERVICES, versionamento de contrato, Protocolo HTTP E HTTPS .
java 8 - streams e Metodos default.
java 9 - jigsaw e jshell.
java 10 - Local variable type Inference E Garbage Collector Interface.
java 11 - Local-Variable Syntax for Lambda Parameters E Launch Single-File Source-Code Programs.
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...GUTS-RS
Robson Bittencourt apresenta dicas práticas para ajudar você a organizar os seus testes automatizados ao criar suites de testes mais robustas, com foco na reutilização de código e clareza dos testes utilizando práticas de Orientação a Objetos e organização de código, como Clean Code e SOLID. Tudo isso para que você possa aumentar a cobertura dos seus testes automizados de forma simples e fácil!
Na WWDC 2017, a Apple reinventou o Drag and Drop. No iPad, agora é possível compartilhar dados com outras apps de uma maneira fácil e intuitiva. Além disso, ele abre novas possibilidades de interações para o usuário dentro da app, tanto no iPad quanto no iPhone. O objetivo da palestra é explicar o funcionamento das novas APIs de Drag and Drop, mostrando desde integrações mais simples até como customizar as interações e tornar suas próprias estruturas de dados arrastáveis. Durante a palestra veremos aplicações reais e exemplos de códigos escritos no aplicativo do VivaReal para o iOS 11.
3D Touch: Preparando sua app para o futuro do iOSRodrigo Borges
Nessa palestra vamos falar sobre o 3D Touch e como ele será uma das bases de interação dos usuários na próxima versão do iOS. Mostrarei como integrar sua app com recursos do 3D Touch como o Peek & Pop e discutiremos sobre as novidades lançadas na WWDC 2016.
Nessa apresentação conto um pouco sobre a experiência de participar da WWDC 2016, conferência de desenvolvedores da Apple. Falo também sobre os principais lançamentos envolvendo o iOS 10, watchOS 3 e Swift 3.
A app Ingresse para Apple Watch foi uma das primeiras apps brasileiras publicadas na loja do Apple Watch, sendo destaque na loja junto com grandes apps como PlayKids e Nubank. Ela utiliza as principais funcionalidades que o sistema oferece como Glance, notificações, Handoff, App Groups, etc. Essa apresentação passa pelos recursos do Apple Watch e mostra como eles foram aplicados e desenvolvidos na app Ingresse.
2. Eu 🤓
• Manauara
• iOS Developer @ VivaReal 🏡
• Mobile & Co-Founder @ Meatless 🌱🚲
3. Resumo
• Pré-migração
• Preparando o projeto e dependências
• Durante a migração
• Processo de migração
• Pós-migração
• Mudanças do Swift 3 e ajustes do projeto pós-migração
9. Frameworks privados
• Dividir para conquistar
• Dividimos nossos apps em Frameworks privados
• API requests, Fluxos de UI, UI Kit, Utils (Extensions, protocols)
• Cocoapods, Carthage, etc
• Mais fácil de migrar e continuar o desenvolvimento de novas
features
10. Dependências (3rd parties)
• Problema: Projeto com muitas dependências (Cocoapods) 👎
• Esperar dependência migrar, procurar outra ou DIY?
• Tentar reduzir ao máximo número de dependências do projeto
13. Migrando para o Swift 3
• Xcode: Swift Migration Assistant
• Mostra os targets que serão migrados
• Targets que não possuem código Swift não são
selecionados
14. Migrando para o Swift 3
• Maioria dos erros: dependências não migradas
• Desmarcamos targets de Cocoapods
• Integramos com as versões já migradas
17. Pós-migração
• Label do primeiro parâmetro
• Expressões booleanas com optionals
• Tipos com prefixo NS
• Non-escaping closures
• ObjC id —> Swift Any
• API Design Guidelines
18. Label do primeiro parâmetro
• Label do primeiro parâmetro agora é default
• Motivação: Comportamento consistente entre todos os
labels da função, clareza e consistência
• SE-0046
20. Expressões booleanas & optionals
• Operandos de expressões booleanas não podem ser
optionals
• Motivação: Optionals não são Comparable
• if let, guard let, etc
• SE-0121
22. Tipos com prefixo NS
• Prefixos NS foram removidos da Swift Foundation 🙏
• NSURL —> URL, NSUserDefaults —> UserDefaults
• Motivação: Clareza e concisão para os tipos base do Swift
• SE-0086
23. Non-escaping closures
• Closures são non-escaping por default
• Escaping closures podem “escapar” do corpo de uma
função, sendo salvos em uma variável global, por exemplo
• Motivação: Natureza noescape de algoritmos funcionais,
compilador pode avisar quando precisar de uma closure
non-escaping
• SE-0103
25. ObjC id —> Swift Any
• Objetos id são importados no Swift como Any (não
AnyObject)
• Motivação: AnyObject não funciona naturalmente com
Value Types
• SE-0116
26. API Design Guidelines
• Nomes de métodos ficam zoados depois da migração
• É necessário ajustá-los seguindo as Swift API Design
Guidelines
27. API Design Guidelines
• Clarity at the point of use
• Clarity is more important than brevity
• Write a documentation comment