Projetos em Node.js com boas práticas

Como o Node.js é uma plataforma e não um framework, as boas práticas ficam dependentes do projeto e dos desenvolvedores envolvidos.

Os padrões de design e as melhores práticas existem para evitar armadilhas comuns e construir aplicativos mais estáveis, mas esses princípios orientadores na maioria das vezes não são bem documentados.

Mas existem bons guias e filosofias disponíveis, recomendo visitar o The Node Way. Lá descrevem práticas recomendadas e princípios orientadores para a escrita de módulos de manutenção, aplicações escaláveis e códigos que são realmente agradáveis de ler.

 

Uma sugestão que ajuda bastante é utilizar um linter desde o início.

In computer programming, lint is a Unix utility that flags some suspicious and non-portable constructs in C language source code. Wikipedia

No caso de Javascript, o mais bem availado é o ESLint, veja a comparação com outros neste link.

Como dica de uma boa leitura utilize JavaScript Standard Style, que exemplifica e evita de você criar as suas próprias regras.

Leia também:

Minha Jornada em ser proficiente em JavaScript e Python.

Sempre trabalhei mais com produtos de mercado do que com desenvolvimento, mas sempre procurei conhecer as linguagens utilizadas neste produtos, com o objetivo de solucionar problemas, melhorar integrações e automatizar tarefas.

A algum tempo, tenho investido bastante do meu tempo em JavaScript e Python. Alguns  motivos para isso são:

  • Os principais fornecedores de Cloud (Amazon AWS, Microsoft Azzure, Google Cloud, IBM Bluemix, …) tem serviços baseados nestas linguagens;
  • Produtos como IBM Connections, estão deixando a plataforma Java/IHS/WAS/DB2 e migrando para Javascript/Nginx/Node.JS/MongoDB.
  • Soluções em Analytics e Big Data de mãos dadas com Python.
Três Homens em Conflito ou O Bom, O Mau e o Feio!!!
O Bom O Mau O Feio
JavaScript
  • JavaScript me faz lembrar da aulas de Programação Funcional!!! Idêntico as recursões da linguagem Scheme.
  • JavaScript é uma escolha natural para quem usa APIs baseadas em Json.
  • JavaScript/Node.JS/MongoDB é uma combinação muito poderosa, onde tratamos objetos de apenas uma maneira, isto é, no formato Json.
  • Assincrônia. Saiba o que são funções “blockantes”, para evitar sustos nos resultados do seu código.
  • Fuja dos Callbacks Hells!
Python
  • Python me faz lembrar das aulas de Pascal da faculdade! Uma linguagem simples e sem burocracia. Programar procedural ou orientado à objeto, fica a escolha do programador.
  • Python é um “trator” no que se fala em tratamento de dados.
  • Python 2.7 e Python 3.x gera confusão de qual devo usar.
  • Uso de Json através de bibliotecas.
  • Alguns artigos que li sobre o Python 3, questionam sobre os problemas de performance devido ao novo I/O stack e o suporte a Unicode.

Em ambos as linguagens, tenha noção de:

  • “Para prego use Martelo, para parafuso use Chave de Fenda”, saiba quando utilizar uma linguagem ou outra.
  • Escolha um bom editor, como sugestão Atom, Sublime e Visual Studio Code.
  • Bibliotecas são instaladas com facilidade usando npm/JavaScript ou pip/Python.
  • Aprenda a fazer chamadas via Rest para APIs estamos na era da Economia das APIs.
  • Você precisa utilizar dados JDBC, SAP, Aplicações Legadas, etc. Crie APIs em Java Servlets, e utilize dentro do Javascript e Python usando Rest/HTTP, com isso você reduz a necessidade de instalação de novas bibliotecas.

Nunca deixe de aprender coisas novas e pratique, pratique, pratique.

Leia também:

Desenvolvimento de Portlets, sem conhecer Java, usando Javascript/CSS/HTML

O IBM WebSphere Portal permite que a TI da empresa entregue de forma rápida, um ambiente robusto de Portal, com características de agregação de dados e personalização.

Mas um dos principais desafios é existência de analistas e programadores com conhecimento em desenvolver para Portal, especialmente quando falamos de conhecimento da especificação Java – JSR 286 (Portlets). O mesmo não acontece quando falamos de linguagens de script.

Atenta a essa demanda, a IBM liberou recentemente no Greenhouse Solutions Catalog, o IBM Script Portlet  para WebSphere Portal. O IBM Script Portlet é uma ferramenta que incorpora tecnologias web como JavaScript, CSS e HTML para criar portlets (JSR 286) sem a necessidade de conhecer Java, portlets, … O IBM Script Portlet é uma ambiente de desenvolvimento baseado no IBM Web Content Manager (WCM), clique na imagem abaixo para aumentar:

ibmscriptportlet

 

Dentre algumas das características da nova ferramenta estão:

  • Direcionamento de conteúdo com base em dispositivos ou geografias;
  • Acesso as informações do usuário logado;
  • Design adaptivo.
  • Projeto Adaptive usando processamento condicional.

Para ver como funciona o IBM Script Portlet, recomendo você dar uma olhada no artigo Enchanting Business value with Exceptional Scriptlets e ver também a apresentação KEY108 do IBM Connect 2014.

O IBM Script Portlet para WebSphere Portal requer o IBM WebSphere Portal V8 e pode ser baixado do Greenhouse no seguinte link  IBM Script Portlet para WebSphere Portal.

Leia também: