Desafio do desenvolvimento multiplataforma, 2º SouWebPel
-
Upload
luiz-noernberg -
Category
Technology
-
view
368 -
download
0
description
Transcript of Desafio do desenvolvimento multiplataforma, 2º SouWebPel
O desafio (e soluções) do desenvolvimento multiplataforma
Luiz Alessandro NörnbergCTO, Izyplay Game Studio
• 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
Luiz Alessandro Nörnberg
• Desafio• Soluções• Na prática...
4
Agenda
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
Qual é mesmo o desafio?
• 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
Principalmente em
• 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
Porque é um desafio
• Desktop (Web)• Smartphone• Tablet• Web• Smart TV
Falando em games......não esqueçamos os consoles
9
Quais plataformas temos hoje?
• iOS• Android• Windows Phone• Blackberry Tablet OS (Playbook)• Windows 7• Windows 8• Mac• Linuxes
Soluçõ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
Muitas opções
• Action Script 3 (AS3)• Javascript + HTML 5• Unity
12
Tendências
• 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
E o Java?
• 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
Unity
• 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
Flash rises
• Ú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
Javascript + HTML 5
Na prática...
• 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
Apps adaptativos
• 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
Além da implementação
• 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
Mesma “base” do código
• 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
Ganhei multiplataforma, perdi algo?
Em conclusão
• 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
AIR, HTML, Unity