Visual Studio Code versão Preview “integrando comunidades”

Do que trata o artigo

Este artigo tem o objetivo de apresentar o Visual Studio Code, cujo a missão é grandiosa, pois integra as diversas “comunidades“, ou seja, mostra que a IDE está com um conceito diferente, mas com o ar de interoperabilidade, rodando em ambientes Windows, OS X e Linux.

Continuar lendo

Anúncios

Falando sobre Node.js: Mas que diabos é isso?

Salve pessoal, bem… esse é meu primeiro post aqui no blog então por favor deixem suas opiniões e críticas sobre essa publicação no espaço de comentários lá embaixo. Vou tentar esclarecer algumas dúvidas sobre a tecnologia e ao mesmo tempo explicar seu funcionamento em algumas que permeiam a tecnologia em posts curtos e periódicos.

Um dos primeiros pontos a ser abordado é que Node.js não é uma linguagem de programação, então o que é isso? Node.js é uma plataforma baseada na Google V8 Engine ( mesma engine utilizada no Google Chrome ) que roda do lado do servidor escrito por uma equipe liderada por Ryan Dahl em 2009. Tal plataforma disponibiliza uma serie de ferramentas que variam desde um interpretador de linguagem javascript à uma forte API que permite o desenvolvedor trabalhar de forma fácil para criar aplicações em rede altamente escaláveis. Continuar lendo

Real-Time com XMLHttpRequest

cookiemonster_xmlhttprequest

O XMLHttpRequest ou XHR, mudou tudo. Graças a essa API, o client-side pode transferir dados via Javascript. Ele inseriu o “D” na frente do HTML e nos permitiu obter assincronismo em nossas aplicações web. Antes dele, uma página precisava ser recarregada para enviar ou receber dados do servidor. Apesar de estar presente nos browsers desde o Internet Explorer 5, o XHR ainda é essencial para desenvolvermos aplicações web ricas e pode também ser usado – apesar de existir, hoje, tecnologias como websocket – para aplicações de tempo real.

XHR nos fornece uma maneira eficiente de sincronizar atualizações entre cliente e servidor. Quando necessário, uma requisição XHR envia dados para o servidor. O problema é o inverso.

Notificações em tempo real

O HTTP não fornece nenhuma maneira de o servidor iniciar uma nova conexão com o cliente. Para receber notificações, o cliente deve fazer polling, ou seja, fazer requisições periódicas ao servidor para pegar atualizações. Uma outra forma seria utilizar streaming, mas o suporte a streaming do XHR é limitado.

Dependendo da aplicação, podemos conviver com um delay de segundos, por exemplo. Mas algumas aplicações podem ter um overhead na casa dos milisegundos. A melhor forma de transportar dados irá depender.

Continuar lendo

Porque utilizar AngularJS no seu próximo projeto

Vamos começar pela definição: AngularJS é um framework JavaScript para construção de aplicações web dinâmicas, comumente referenciado como um framework MVC client side. Essa definição não está errada, mas o fato é que MVC é um padrão para dividir uma aplicação em diferentes partes (modelo, visão e controle), cada uma com suas respectivas responsabilidades. O AngularJS  não implementa um MVC na sua forma tradicional, mas algo próximo de um MVVM (Model – View – ViewModel). Logo, seu próprio time de desenvolvimento resolveu batizá-lo, carinhosamente, de um framework MVW  – Model View Whatever. Bem, o time de desenvolvimento do Angular dispensa apresentação, ele nasceu e é mantido por uma empresa que entende de web, o Google.

“AngularJS – Superheroic JavaScript MVW Framework”

A principal característica do AngularJS é que ele funciona como uma extensão do HTML, diferente de outros frameworks JavaScript, não é necessário manipular o DOM. Isso possibilita a criação de um front end mais organizado e sem a necessidade de manipular “html + dados”.

Suas principais características são:

  • Two-way Data binding
  • Injeção de Dependências
  • Criação de diretivas (Extensão do HTML)
  • Modularização e reuso (Controllers, Services e Filters)
  • Testabilidade

Basicão


<html ng-app>
 <head>
     <title>AngularJS</title>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script>
 </head>
 <body>
     <p>Meu nome é: {{ nome }}</p>
     <input type="text" ng-model="nome">
 </body>
</html> 

Este é o exemplo mais básico em AngularJS. A diretiva ng-app na tag <html> inicializa a aplicação e define esta tag como o elemento root da aplicação, tudo a partir dela pode ser gerenciado pelo Angular. Ao digitar algo no input o nome será atualizado em realtime na tela. Essa mágica é chamada de Two-way data binding. Qualquer interação na view será refletida no modelo e vice-versa, isso é feito através do objeto $scope, criado automaticamente pelo angular. A propriedade ng-model é responsável por fazer o canal de comunicação e a sintaxe utilizada é o “bigode-bigode”: {{ atributo }}. Note que até aqui não escrevemos nenhum código JavaScript.

Continuar lendo

Tá safo em ação com coding dojo na Faci

Aconteceu nesta quinta-feira o #tasafoemacao com coding dojo na Faci.

Inicialmente, Luiz Sanches apresentou como funciona a dinâmica de coding dojo para uma plateia de cerca de 50 alunos.

Luiz Sanches apresentando a dinâmica de coding dojoLuiz Sanches apresentando a dinâmica de coding dojo Integrantes do #tasafoemacaoIntegrantes do #tasafoemacao Integrantes do #tasafoemacaoIntegrantes do #tasafoemacao Ramon Rabelo apoiando a apresentação em meio ao auditório lotadoRamon Rabelo apoiando a apresentação em meio ao auditório lotado

Na sequência, os demais “senseis” apresentaram-se brevemente: Ramon Rabello, Paulo Moura, Geraldo Sequeira, Marcelo Andrade e Márcio Ferreira, se apresentaram e todos para suas salas, com as práticas de Android, Javascript, Ruby e Java.

A seguir, os relatos de cada um dos dojos: Java, Android, Ruby, Javascript.

Continuar lendo