Quando um aplicativo ou site é desenvolvido, normalmente funciona assim: o designer projeta a interface, ainda em formato de imagem, e depois repassa o desenho para o desenvolvedor front-end, que então transforma o mockup em código-fonte para ser interpretado pela máquina. É um processo que leva várias horas de trabalho. Só que a inteligência artificial pode reduzir (ou até eliminar) o tempo gasto nessa tarefa.

Código

A startup dinamarquesa UIzard Technologies está trabalhando em um software com inteligência artificial que utiliza redes neurais para transformar screenshots em interfaces de aplicativos ou páginas da web, tudo automaticamente. O pix2code, como foi batizado, é capaz de “programar” para Android e iOS, além de “escrever” código em HTML e CSS.

Em um artigo, o fundador Tony Beltramelli explica que o processo é semelhante a criar descrições em texto a partir de imagens, algo que o Facebook já começou a fazer para ajudar pessoas com deficiência visual. O algoritmo é treinado com uma série de exemplos já prontos, e a partir daí consegue relacionar um botão, texto ou controle em uma screenshot a um código-fonte na linguagem desejada.

Este vídeo mostra o pix2code em funcionamento:

A UIzard diz que o modelo já é capaz de transformar mockups em código-fonte com 77% de precisão, o que está longe da perfeição, mas pode ser “drasticamente melhorado” com uma base maior de treinamento. No estágio atual, a tecnologia suporta poucos parâmetros e foi treinada com um conjunto de dados “relativamente pequeno”, com algo entre 80 e 140 mil exemplos para cada linguagem.

A expectativa, segundo o The Next Web, é que o pix2code seja liberado ao público até o final do ano.

Tecnocast 049 – O Futuro do Trabalho

A história se repete: sempre que aparece uma novidade, que altera o mercado de trabalho, as centrais sindicais promovem greves, alegando que é necessário proteger os empregos. O governo (pelo menos o brasileiro) costuma ceder a essa pressão, e cria leis absurdas, como a que obriga a presença de um cobrador em todos os ônibus.

O problema é que, com a chegada das máquinas super inteligentes, a mão de obra humana será cada vez mais desnecessária. E isso vale para trabalhos criativos e intelectuais, também! Não pense que estamos imunes à mudança. Os algoritmos são desenvolvidos para aprenderem de forma similar ao cérebro humano. Então se a gente consegue, “eles” também vão conseguir – só que farão melhor e mais rápido.

Não acredita? Então dá o play e vem com a gente.

Comentários

Envie uma pergunta

Os mais notáveis

Comentários com a maior pontuação

Paulo
E o que isso tem haver com paulada? Não estou comentando em relação a vida pessoal dele. Até por que o fato dele está empregado agora, não significa que ele esteja daqui a um mês; e também não significa que seja um emprego bom (até por que isso é relativo). Esse Fake_of_Silva deve ser um pobre coitado que entrou na área e está empolgado, não sabe abstrair e acha que isso é um discussão pessoal.
Paulo
Então você utiliza padrões de projeto? OOP?
Fake_of_Silva
Nos meus sistemas eu primo pelo desempenho e ao mesmo tempo tenho uma boa velocidade de desenvolvimento pois eu adoto boas práticas durante todo o projeto, não só na codificação. Mas, não conheço você e não conheço seus hábitos, então não venha com essa história de que analista de sistemas se acha o centro do universo.
Paulo
Segundo seu comentário eu chego a conclusão de: - Você é covarde, logou com uma conta fake para me dizer essas coisas. - Continua achando que analista de sistemas é o centro do universos: Ninguém pode criticar que isso implica a pessoa ser traumatizada. EU SOU ANALISTA DE SISTEMAS! - Isso dos comentários demostrarem desleixo com código chega a ser ridículo. Não só sou eu que penso assim: Quem desenvolve em Hibernate acredita que a velocidade no desenvolvimento compensa a perda de desempenho, quem desenvolve em OOP acredita que o aumento da manutenibilidade do sistema e reaproveitamento compensa a perda de desempenho. Essa é a base do avanço das linguagens de programação! Se a produtividade não compensasse a perda de qualidade, estaríamos ainda programando em Assembly. Como falei em outro comentário, há milhões de reais para serem gastos com sistemas de Pequenas e Médias empresas que não precisam de alto desempenho. Nós frequentamos universidade para aprender a pensar, use o seu cérebro...
Fake_of_Silva
Paulada no Paulo kkkkkk
Fake_of_Silva
Boa tarde, vc tem alguma frustração com o pessoal que trabalha com análise de sistemas? Se não tem, eu nunca vi um profissional sério desleixado com a qualidade do seu código quanto seus comentários demonstram...
Will

No momento não estou desempregado, pelo contrário, há pouco mais de um mês troquei de emprego.

Weller Santibanez
No momento não estou desempregado, pelo contrário, há pouco mais de um mês troquei de emprego.
Paulo
A equipe do Windows mandou um beijinho no ombro para você...
Felipe Xavier
Vamos fazer uma receita de bolo, só que ao invés de uma xícara de açúcar, colocar uma de sal. Vai ter o mesmo efeito e a mesma aparência. Vai ficar bom? Não estou falando que TODO código PRECISA ser PERFEITO. Outra coisa, não estamos falando do caso de que UMA pessoa fez algo legal no Excel, PARA USO PRÓPRIO. Estamos falando de ferramentas mundialmente difundidas, usadas por milhares de pessoas. Só porque fica "usável" que não vou me importar se o código está um lixo? Quero sim que se preocupem em gerar um código minimamente entendível e que siga padrões estabelecidos. Senão, de nada vale o avanço da tecnologia.
William
Isso ai eh diferente, eh rede neural... serio msm, num eh mais uma parada retardada cheia de IF pra gerar codigo
William
Nem deve ser cara, a rede neural aprende com bons programadores, dificil gerar c[odigo zoado a nao ser que foi treinada com codigo zoado
Paulo
Um monte de sistema executando sem índices em banco de dados e o pessoal se preocupando com 1Kb de um HTML...
Paulo
Novamente voltamos ao ponto do analista de se achar a cereja do bolo! Quantos sistemas vão rodar ao ponto de sentir gargalo? 99,999999999999% dos sistemas rodarão em um servidor folgado, onde uma hospedagem compartilhada será suficiente. Sistema com alto desempenho são uma minoria. A maior parte de sistemas roda para Pequenas e médias empresas com número reduzido de usuários. Concordo se formos entrar no assunto de sistemas que exigem um balanceamento de carga, ou uma alta taxa de transferência que exija um minify ou reparoveitamento de conexão HTTP e etc.... mas a grande maioria dos sistema não precisam. Se isso realmente fosse considerável, não tínhamos o java crescendo em sistemas web.
Rodrigo Silva Barretos
Eu entendo o que quer dizer, mas um monte de gente acessando um site já deixa de ser apenas 1 décimo de segundo. O mesmo vale pra aplicativos de celular que levam uma eternidade pra trocar de uma tela simples pra outra só pq tá fazendo um monte de coisa por trás. E, de todo modo, mesmo ignorando os usuários, também tem o tempo que um sv vai levar pra entregar o site, ou o espaço que o app vai ocupar no celular no final das contas. Novamente, entendo que um empregador vai preferir uma ferramenta dessa por conta do tempo, mas se ele gera código merda ele vai ter que gastar a mais pra corrigir os gargalos que o app/site vai ter, tanto no computador/celular do cliente quanto no sv dele.
Exibir mais comentários