Desafio do desenvolvimento multiplataforma, 2º SouWebPel

609 visualizações

Publicada em

Publicada em: Tecnologia
1 comentário
1 gostou
Estatísticas
Notas
  • Estive testando o Air e ele realmente me surpreendeu, tanto no Android quanto no iPhone. Agora quero ver como sai fazer blitting para a resolução da retina display.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
Sem downloads
Visualizações
Visualizações totais
609
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
17
Comentários
1
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desafio do desenvolvimento multiplataforma, 2º SouWebPel

  1. 1. O desafio (e soluções) dodesenvolvimento multiplataforma Luiz Alessandro Nörnberg CTO, Izyplay Game Studio luiz.nornberg@izyplay.com.br
  2. 2. 3 Luiz Alessandro Nörnberg• Diretor de Tecnologia no Izyplay Game Studio• Editor do blog Abrindo o Jogo• 10 anos como diretor de R&D na Gestum S.A.• Total de 20 anos de desenvolvimento de jogos digitais• Midcore gamer (sempre que dá tempo...) “Possuo a maior parte do EXP na parte tecnológica, mas já completei várias quests de game design.”
  3. 3. 4 Agenda• Desafio• Soluções• Na prática...
  4. 4. Desafio
  5. 5. 6 Qual é mesmo o desafio?• “Write once, run every where”• Alcançar o maior público possível• Alcançar o público o maior tempo possível – Estar sempre disponível quando o público quiser
  6. 6. 7 Principalmente em• Jogos casuais – Cada vez mais um “serviço”, acessivel em varias plataformas. – Baixo valor comercial, “ganha na quantidade”• Advergames – Nem precisa explicar... – Quanto mais impactados, melhor
  7. 7. 8 Porque é um desafio• Infelizmente, é assim que é• A segmentação ainda é reforçada pelos fabricantes – Todos querem seus apps e games – De preferência, SÓ na plataforma deles...• Não existe hoje uma solução ideal crossplataforma
  8. 8. 9 Quais plataformas temos hoje?• Desktop (Web) • iOS• Smartphone • Android• Tablet • Windows Phone• Web • Blackberry Tablet OS (Playbook)• Smart TV • Windows 7 • Windows 8Falando em games... • Mac...não esqueçamos os • Linuxesconsoles
  9. 9. Soluções
  10. 10. 11 Muitas opções• Muitos frameworks e ferramentas• Corona, Moai, Construct 2, Phonegap, Appmobi, etc.• A maioria não é para todas plataformas• Os mais flexíveis adicionam muitas camadas extras• Não raramente demandam linguagem própria ou pouco conhecida
  11. 11. 12 Tendências• Action Script 3 (AS3)• Javascript + HTML 5• Unity
  12. 12. 13 E o Java?• Ainda é uma possibilidade, em termos técnicos• Presente em muitos locais (desktop, blu-ray, set-top box, feature phone)• Ausente onde é importante hoje (smartphones, tablets, smart TVs)• Fazem apenas 4 anos que eu sugeria Java como multiplataforma!
  13. 13. 14 Unity• Há tempos mantendo-se como opção multiplataforma• Principal opção para jogos “pesados” (leia-se 3D)• Windows, Linux, Mac• iOS, Android, Windows Phone• Web• Consoles!
  14. 14. 15 Flash rises• Flash volta à cena para mobile• Quer dizer, o AIR, Adobe Integrated Runtime• Mesmo o AIR possui resistência em algumas plataformas (Windows Phone, Smart TVs)• Atende Win 7, Mac, Linux, iOS, Android, Blackberry• Provavelmente vai atender Win 8 e Win Phone 8• Hoje, é a melhor tecnologia crossplataforma para serviços leves e médios
  15. 15. 16 Javascript + HTML 5• Única crossplataforma de fato• Desde o desktop até a Smart TV• Potencial muito grande (hoje, apenas isso) – Digamos que apenas serviços leves• Problemas: – Falta de ferramentas / workflow – Falta de padronização – Variações grandes no grau de suporte (WebGL, áudio, cache, etc)
  16. 16. Na prática...
  17. 17. 18 Apps adaptativos• Projetos simples conseguem ter codebase única• Projetos complexos precisam ser adaptativos – Sim, estou falando de IFs no código – Não são pecado, não...• Diferenças grandes exigem código separado
  18. 18. 19 Além da implementação• O projeto precisa prever a multiplataforma (principalmente o game design)• Quando possível, projeta-se pelo mínimo denominador comum• Caso contrário, teremos código separado
  19. 19. 20 Mesma “base” do código• O importante é isolar a base do código, o “core”• Ter blocos de código em separado não é realmente um problema, se bastar compilar cada um separadamente
  20. 20. 21 Ganhei multiplataforma, perdi algo?• Sim!• Desempenho (dependendo do projeto)• Máxima integração com a plataforma (look and feel)• Recursos específicos da plataforma (sensores, etc)• Há quem critique o desenvolvimento crossplataforma por conta destes aspectos.• A solução, por enquanto, é realmente portar o código.
  21. 21. Em conclusão
  22. 22. 23 AIR, HTML, Unity• Estas são as tecnologias crossplataformas “de verdade”• AIR e HTML servem para apps (além de games)• Unity é a opção para foco apenas em jogos (consoles) O cenário é muito melhor do que a 3 anos atrás, mas certamente ainda bem pior do que daqui a 3 anos...
  23. 23. 24Obrigado luiz.nornberg@izyplay.com.br

×