Home » Games » Mobile » WWDC 2014: Swift, Metal e novidades para desenvolvedores

WWDC 2014: Swift, Metal e novidades para desenvolvedores

Apple revela várias novidades para desenvolvedores na WWDC 2014, entre elas o Swift, uma nova linguagem de programação

5 anos atrás

ios-8-for-devs

Não contente com as novidades presentes tanto no OS X Yosemite quanto as visíveis para o público do iOS 8 (como finalmente contar com teclados de terceiros como o SwiftKey), a Apple finalmente lembrou que a WWDC 2014, que está completando 25 anos é um evento voltado para desenvolvedores. Portanto, é evidente que muitos dos presentes gostariam de saber o que Cupertino aprontou para facilitar seu trabalho nas plataformas da maçã.

Bem, digamos que se eles queriam novidades bombásticas, eles não saíram insatisfeitos.

75-beeeeellion

Tim Cook lembra com orgulho que a App Store conta com 1,2 milhão de apps, é visitada por 300 milhões de pessoas por dia e mais de 75 bilhões de aplicações já foram baixadas. Para começar, o CEO revelou que a App Store vai receber um belo tapa no visual para facilitar a procura de aplicações, separando por sub-categorias e adicionando "trendind topics". Por fim, algo que agradou muitos desenvolvedores foram três importantes adições: a possibilidade de vender apps em bundles, adicionar previews em vídeo (algo que a Play Store já faz, mas chega dessa ladainha) e a possibilidade do usuário poder testar os apps em fase beta, totalmente de graça. Cook até brincou com os devs, dizendo que ele lê os e-mails que recebe.

bing-safari

O novo SDK do iOS 8 foi citado por Cook como "o maior lançamento da Apple desde a App Store", e no fim das contas foi mesmo. Craig Federighi começou falando sobre a possibilidade de estender o compartilhamento de dados entre apps, através do iOS. Isso vai permitir que o usuário possa utilizar ferramentas de widgets dentros de apps nativos, como chamar um filtro de uma extensão para utilizar dentro do app de Fotos do iOS. Outra possibilidade é abrir uma notificação e realizar uma ação diretamente, ou chamar o Bing (lembra quando eu disse que apesar dos chutes, a Apple sabe que a Microsoft é um parceiro importante?) dentro do Safari e traduzir uma página da web.

touch-id

Outro recurso anunciado é a possibilidade de reforçar a privacidade com o Touch ID. Até o momento ele só pode ser utilizado dentro de aplicações nativas do iOS, mas a Apple está estendendo sua API para terceiros, permitindo desenvolvedores a relacionarem dados sensíveis à impressão digital do usuário. Dessa forma logins, dados de identificação (como apps de bancos, por exemplo) e outros poderão ter um reforço considerável de segurança.

Também falando sobre segurança Federighi apresentou o HomeKit, uma API preparada para conversar com diversos dispositivos inteligentes, de fechaduras a termostatos, de lâmpadas a eletrodomésticos. Sim, a Internet das Coisas atingiu a Apple e mesmo que não dê em nada, ao menos ela está fornecendo as ferramentas. E desde já ela conta com diversos parceiros:

home-partners

Obviamente a Nest ficou de fora pois hoje ela faz parte do Google; seu fundador e pai do iPod original Tony Fadell tornou-se persona non grata na Apple.

Não parou por aí: desde que Steve Jobs ficou surpreso com o que o iPhone 4 era capaz de fazer com games na demonstração de Infinity Blade, algo que ele não antecipou, a Apple entendeu que tinha desenvolvido por acidente não apenas smartphones e tablets poderosos o bastante para serem excelentes ferramentas de trabalho, mas ótimos consoles portáteis. A partir daí Cupertino tem se esforçado para oferecer as melhores ferramentas de desenvolvimento, para que os estúdios criem games excelentes para os mais variados públicos, desde infantis a mais pesados, tanto em temática quanto em processamento. O iPad hoje alcança uma performance que não deve praticamente nada ao Xbox 360 e ao PS3 em certos aspectos. Mas era preciso mais: o OpenGL é útil, mas é uma camada de desenvolvimento muito distante da linguagem de máquina do chip A7. Portanto era preciso uma API de mais baixo nível, permitindo ao game extrair o máximo possível do hardware. Esse é o Metal.

METAL!

Basicamente, o Metal vai atuar como a tecnologia Mantle da AMD, diminuindo a distância entre o hardware e a execução do game. Isso permite programação em um nível mais baixo, otimizando ao máximo os recursos do iPhone e do iPad. Isso leva a games com melhor performance gráfica, sem exigir mais poder de fogo do processador e memória RAM. É similar ao que o compositor da Rare David Wise conseguiu com a trilogia Donkey Kong Country do Super NES: ao invés de compor as músicas e transpô-las para MIDI, ele as programou diretamente no código Assembly dos cartuchos, economizando muita memória e permitindo que ele compusesse músicas que até então ninguém pensava que o console era capaz de reproduzir.

Com o Metal ninguém vai precisar usar Assembly, mas o resultado será semelhante. Para demonstrar o que ele é capaz de fazer Tim Sweeney da Epic Games exibiu um demo do game Zen Garden, que rodou no iPad Air com uma fluidez digna dos consoles de última geração. Ele estará disponível no dia 1 do iOS 8 e ao que tudo indica pelo demo exibido, Plants vs. Zombies: Garden Warfare será também lançado para iPad, depois da EA confirmar que o PS3 e o PS4 também receberão o título; até então ele só estava confirmado para as plataformas Microsoft.

Porém nada disso vem sem um suporte de respeito por trás. Por mais de duas décadas os desenvolvedores de Mac e posteriormente os de iOS contaram com o Xcode e consequentemente, com a linguagem Objective-C, que serviu bem aos propósitos da Apple. Só que ela percebeu que poderia fazer mais de outra forma: não que os fundamentos do C estejam ultrapassados, Dennis Ritchie é e sempre será uma presença constante em cada partícula do Mac, iOS, Linux, Windows, videogames e o que mais vier. O que Cupertino está propondo é aprimorar o Objective-C, torná-lo "mais Objective e menos C", ou em outras palavras, mais amigável a novatos e curiosos e menos voltado apenas a programadores iniciados e/ou experientes. Ela fez isso lançando uma nova linguagem de programação, chamada Swift.

swift

A proposta do Swift é tornar o desenvolvimento mais intuitivo, oferecendo formas do programador conferir em tempo real o resultado de suas pirações com o código-fonte dos programas. Além disso ele é compatível com padrões, filtros e extensões mais atuais, o que torna a linguagem mais amigável do ponto de vista de criação ao permitir integrar recursos recentes sem ter que escovar bits. O chamado Playground Interativo é o que o nome diz: escreva uma linha e veja o que acontece (clique na imagem abaixo para ampliar e ver como é o código). No fim das contas, o objetivo principal é fazer mais com menos linhas de código, e consequentemente com menos tempo, o que significa menores custos de desenvolvimento.

swift-thumb

A posição da Apple é que a empresa não quer se limitar às restrições até de certa forma arcaicas do C, mas por outro lado isso pode ser visto como uma forma de segmentar o mercado de apps: desenvolvedores terão que aprender uma nova linguagem, fora que atualmente o desenvolvedor que deseja criar um app multiplataforma o programa apenas uma vez em Objective-C, usa dois compiladores e sai com as versões distintas para iOS e Android.

Com o Swift ele terá que escrever o app duas vezes (três, se contarmos o Windows Phone), duplicando as horas-homem e aumentando o custo de desenvolvimento. Ou seja, o dev terá que pesar qual plataforma será a mais lucrativa e com os problemas de pirataria do Android, é desnecessário dizer quem sairá ganhando.

Por enquanto não há intenção de abandonar o Objective-C: a Apple pretende dar suporte a ambas linguagens por enquanto, inclusive com a opção de que o programador pode utilizar ambas linguagens num mesmo app. Obviamente isso não vai durar, mas ainda não se sabe quando o Objective-C será derrubado do telhado.

Õs programadores já podem por a mão na massa: o Xcode 6 beta com suporte ao Swift já está disponível, bem como guias e referências e um livro de 500 páginas ensinando tudo sobre a linguagem, digrátis na iBooks Store.

relacionados


Comentários