Li um interessante artigo sobre a linguagem DART e vou compartilhar minhas impressões com vocês. A primeira coisa curiosa sobre o artigo é ele ser classificado como Green Paper. Eu nunca tinha ouvido falar nesse termo; já eram de meu conhecimento os white papers. Aparentemente um “green paper” vem a ser um artigo em forma de proposta; algo para discussão; nada definitivo.
Voltando para o assunto principal, que é essa nova plataforma DART, achei interessante os argumentos que fizeram a Google se dispor a desenvolver essa nova plataforma. Abaixo enumero alguns dos pontos que achei importante.
Por que se chama plataforma?
Porque ela é composta de uma máquina virtual, de uma linguagem de programação e ferramentas para o desenvolvimento.
Para que mais uma linguagem?
Sem dúvida essa é a pergunta fundamental. A motivação da Google baseia-se na percepção da tendência de “engorda” do lado cliente em aplicações WEB. As chamadas aplicações de uma única página (Single Page Application) estão crescendo em importância, principalmente para tirar proveito da grande capacidade de processamento ocioso que a camada cliente (os navegadores) dispõe. Até os navegadores dos celulares atuais dispõe de grande processamento.
Nesse tipo de aplicação de página única, o código de execução de uma aplicação – ou pelo menos toda a parte de um caso de uso específico – é carregado para o lado cliente. As necessidades de dados armazenados no servidor são supridas com invocações assíncronas pela já consagrada tecnologia AJAX. Recursos como banco de dados já estão disponíveis nas versões novas dos navegadores que suportam HTML5 e facilitam uma série de tarefas que antes exigiam a conexão ativa com o servidor. Até mesmo aplicações offline são possíveis nesse ambiente.
Mas por que não JavaScript?
Minha primeira reação ao ler os propósitos de DART foi: “mas já temos JavaScript”. Muitos, imagino, vão pensar inicialmente da mesma maneira. Entretanto, recursos do JavaScript que o torna extremamente flexível e poderoso, quando levados para desenvolvimento em larga escala, acabam expondo fraquezas. A não tipagem e a execução dinâmica de código tornam o código JavaScript difícil para ambientes de trabalho em equipe. Esses recursos tornam inviáveis certos feedbacks que as IDEs contemporâneas e ferramentas de integração contínua oferecem para desenvolvimentos descentralizados. Uma pequena falha de um desenvolvedor pode compromenter a aplicação e tal falha só ser percebida no momento da utilização.
Bem, é isso. Quem quiser, recomendo a leitura desse artigo, escrito por Chris Buckett.
Green Paper do DART