Arquivo de etiquetas: javascript

Node.js – Construção de Aplicações Web

Olá a todos, esta é a primeira vez que faço uma review para a revista Programar, queria desde já agradecer ao António Santos e à FCA pela oportunidade e pelo envio do livro.

Quem me conhece, sabe que dou preferência a um livro impresso aos digitais, apesar de ser um aficionado das tecnologias, a leitura de um livro fisico traz-me um conforto e uma concentração que não consigo nos electrónicos.

O livro Node.js não poderia ter chegado em melhor altura, pois neste momento estou a dedicar mais atenção a esta bela plataforma, que quando aplicada correctamente pode ser uma melhor opção a outras de maior porte, por exemplo o Java EE ou .Net.

Começando pela capa do livro, o leitor mais atento vai verificar que o autor trata as bibliotecas de código como livrarias, bem… para um programador livrarias é um sitio onde compramos livros, já bibliotecas no contexto informático, são boas composições de código que nós facilitam a vida no desenvolvimento de novas aplicações, no entanto é um mero clichê.

Iniciando a leitura do livro começamos com um belo resumo dos excelentes 8 capítulos que compõem o livro, deixando qualquer leitor entusiasmado para ler na totalidade. O termo livrarias parece ter desaparecido nas primeiras páginas, sendo agora tratado pelo termo correcto bibliotecas, mas… aparentemente foi falso alarme já que o autor utiliza tanto um termo como outro ao longo do livro. Esquecendo o termo livrarias, viro o foco para plataforma Node.js, aqui o autor consegue passar perfeitamente a mensagem utilizando poucas palavras e descomplicando o assunto.

No primeiro capítulo a autor justifica o porquê do Node.js, explica a arquitectura assíncrona de eventos, já que esta é uma das grandes potencialidades no Node.js.

De seguida, ainda no capítulo 1 mostra como configurar o ambiente de desenvolvimento, aqui o autor utiliza uma maquina Windows para exemplificar passo a passo a configuração. Ambientes em Mac OS ou Linux não são tratados neste livro, algo que me deixou um pouco desiludido.

No capítulo 2 as coisas começam a ficar interessantes, aqui o módulo Express é explicado detalhadamente e com exemplos, este módulo permite ao programador definir rotas e componentes middleware. Este é um óptimo capitulo para ficar com boas bases para criar uma aplicação baseada na arquitectura MVC (Model-View-Controller).

O capítulo 3 vem falar sobre motores de templates, nomeadamente o Jade e Vash. O autor explica com mais detalhe o Jade e um pouco mais sucintamente o Vash. Aconselha também ao leitor a utilizar o Jade. No entanto se já efetuou alguma pesquisa sobre motores de templates ou se está a começou a usar, deve ter especial atenção que o motor Jade passou agora a chamar-se Pug, o autor não faz referência a isso como é normal, pois o livro começou a ser escrito em 2015 e a alteração de nome de Jade para Pug é muito recente. De qualquer forma tudo o que é descrito no livro funciona perfeitamente e mesmo que o leitor tente instalar o Jade o repositório NPM sabe apontar para o módulo correcto.

Para aqueles que adoram criar interfaces espectaculares, então o capítulo 4 é o indicado.

Aqui o autor explica muito detalhadamente como melhorar a nossa aplicação e aumentar a rapidez com que desenvolvemos. Utilitários como Bootstrap, Bower e Grunt são muito importantes para quem vai desenvolver ou desenvolve aplicações Node.js no seu dia a dia.

O Bootstrap permite ao programador criar uma interface que responda bem em qualquer tamanho de ecrã, seja um iMac de 27 polegadas ou um smartphone. O Bower permite gerir bibliotecas otimizando as dependências comuns entre elas, já o Grunt faz com que tarefas rotineiras sejam realizadas automaticamente. Se o leitor ainda não é um expert, não tem de ter receio porque tudo é explicado passo a passo com uma linguagem muito simples.

Temas sobre bases de dados e Single Page Applications são tratados nos capítulos 5 e 6. Para os aficionados do NoSQL o autor explica como utilizar o MongoDB em aplicações Node.js, mas também não deixa de lado as bases de dados relacionais, e explica também mais sucintamente como as utilizar, sendo que é com bases de dados NoSQL que o Node.js se sente como peixe na água afirma o autor.

Chegando quase ao fim do livro temos o capítulo 7, nos dias que correm este tema não deve ser deixado ao acaso. Nele o autor fala sobre como proteger as aplicações com autenticação e limitar acesso a funcionalidades com base numa autorização. Para o efeito é utilizado o módulo Passport que em conjunto com o módulo Express já conhecido do capítulo 2, tornam as coisas muito simples para o programador.

Por fim o capítulo 8 é dedicado a tecnologias gerais, nomeadamente criptografia, sockets, gestão de buffers e acesso ao sistema de ficheiros. Como leitor e programador recomendo muito este último capítulo, já que nos dá uma ideia do que existe para criarmos aplicações profissionais e robustas.

Com isto deixo os meus parabéns ao Eng. Luís Abreu autor deste excelente livro, não só pela escrita directa e clara, mas também pela segurança e certeza com que aborda os temas deste livro, dando sempre o seu parecer com base na sua vasta experiência.

Recomendo este livro tanto para quem quer iniciar a programação na plataforma Node.js, e para quem quer ter um bom livro de consulta ao lado do teclado.

Obrigado FCA pela publicação e António Santos pelo envio :).

Aguardo pelo proximo :)

Sistema de chat público em PHP

Introdução

chat_publico_0.3Embora a base deste sistema seja o PHP, também serão utilizadas outras tecnologias. A nossa “caixa de ferramentas” tem, então, o seguinte conteúdo e a respetiva utilização:

  • PHP: Linguagem de programação base;
  • HTML: Estrutura das páginas;
  • CSS: Design das páginas;
  • jQuery/JavaScript: Utilização do AJAX;
  • MySQL/MariaDB: Base de dados;
  • Apache: Servidor web;

Objectivo

No fim deste artigo o leitor terá uma visão abrangente do que é essencial para criar aplicações web e a ajuda necessária para começar a desbravar este mundo com o PHP.

Continuar a ler

JavaScript 6

O JavaScript já não é só a linguagem de script da Web. Com o passar dos anos, cada vez mais pessoas recorrem a esta linguagem para automatizar a realização de várias tarefas, uma vez que tem um número infindável de utilizações práticas, que vão desde a criação de páginas Web até à administração de máquinas com diferentes sistemas operativos. Por conseguinte, o conhecimento das funcionalidades de JavaScript é uma mais-valia no currículo de qualquer programador.

Introdução

Neste livro são apresentadas as principais novidades, características e funcionalidades da versão 6 da linguagem JavaScript, com recurso a exemplos práticos. Para além de novos objetos e métodos que foram adicionados aos objetos existentes, esta nova versão introduz também várias novidades ao nível da sintaxe (por exemplo, a definição de classes) que contribuem para simplificar a escrita de código e aumentar a produtividade do programador. 

Continuar a ler

Validação de formulários em JavaScript

Âmbito

Atualmente, a validação de formulários em JavaScript é muito utilizada para garantir que os dados solicitados nos campos que o utilizador preenche em qualquer site sejam fiéis ao que o programador deseja. A validação de dados por meio de programação JavaScript é feita no browser (sem necessidade de ir até o servidor para transmitir dados) e garante a consistência dos dados quando são enviados para a base de dados.

A validação no cliente é necessária em várias situações: quando, por exemplo, o utilizador não preencheu corretamente o seu e-mail e colocou 2 invés de @. Se esta validação for no cliente, o utilizador recebe a mensagem de e-mail inválido antes do formulário ser enviado. A validação no cliente melhora a interação do utilizador com o site, mas é claro, que as validações no servidor também devem ser feitas.

Continuar a ler

ECMAScript 2015: a nova versão do JavaScript

Este artigo não pretende mais do que apenas introduzir e clarificar alguns conceitos. Tecnicamente há muito para falarmos e, quem sabe, não estará na hora de programarmos juntos (em futuras edições da “nossa” revista)… Entretanto, se o leitor é programador de JavaScript, chegou a altura de dedicar algum do seu tempo à nova versão do ECMAScript, caso ainda não o tenha feito.

Continuar a ler

Reconhecimento de voz com JavaScript

Âmbito

Atualmente, o reconhecimento de voz tem várias aplicações no mundo real. O conceito de reconhecimento de voz está subjacente a softwares como o Siri e S-Voice. Esta aplicação pode melhorar drasticamente a usabilidade dos websites, principalmente para deficientes visuais. Por conseguinte, os utilizadores podem navegar pelas páginas ou preencher campos de formulário utilizando a sua voz.

Continuar a ler

Sencha Touch – Parte I

Actualmente, como todos nós sabemos, o universo dos smartphones e das aplicações móveis vieram para ficar. O mercado das apps está em constante evolução e todos os dias aumenta o seu número nas diversas stores existentes. O problema existente é que cada fabricante obriga a uma linguagem de programação. Se queremos desenvolver uma aplicação para iOS, temos que programar em Objective-C, para Android, em Java, e Windows Phone somos obrigados a usar o C#, por exemplo. Ora, programar em todas estas linguagens é bastante complicado.

A solução para esta questão passa pela utilização de uma framework híbrida. Este tipo de frameworks permitem ao programador desenvolver uma aplicação em HTML5 e Javascript capaz de ser executada em qualquer sistema operativo móvel com o look and feel de uma aplicação nativa.

Exemplo deste tipo de frameworks é o Sencha Touch. Com esta framework é tão simples desenvolver uma aplicação com um design atrativo e cross-plataform. É importante referir que esta framework é totalmente gratuita e open-source.

Continuar a ler

jQuery: usar ou não usar?

Esta é uma questão frequente quando se começa um projeto web. Origina por vezes discussões acesas. A resposta rápida é que sim; provavelmente o que se está a desenvolver justifica o seu uso.

Quando se pondera a utilização de uma qualquer framework ou biblioteca (em qualquer projeto de software) deve-se questionar se os ganhos compensam o peso extra; se a complexidade do problema a resolver o justifica. De forma grosseira e geral, a questão é:

  • partido que vamos tirar da biblioteca/framework > 1 ?
  • peso trazido pela mesma

Continuar a ler

Criando extensões para Google Chrome

Google ChromeAtualmente o browser do nosso computador é um dos softwares mais utilizados diariamente, adicionalmente, temos inúmeros plugins que acrescentam funcionalidades extra. Um plugin é um pequeno software desenvolvido para adicionar funcionalidades extra a softwares maiores, como o exemplo dos browsers que utilizamos. Os plugins podem-nos ajudar a automatizar pequenas tarefas no dia-a-dia ou até melhorar a nossa experiência enquanto utilizadores da web.

Neste artigo que vos trago hoje, vou explicar como podemos desenvolver o nosso próprio plugin para o Google Chrome.

Continuar a ler