PHP: uma relação de amor / ódio
Sou usuário de PHP há muito tempo. Bem, muito tempo pode ser um exagero, mas na minha curta vida até agora, é realmente muito tempo. No entanto, o PHP carecia seriamente de recursos dos quais eu constantemente precisava. Persistência para um. Claro, existem soluções hacky, como cron jobs, mas no final, o PHP foi feito para morrer .
Depois disso, houve meu ódio pelas declarações do MySQL. Eu adoro fazer as coisas de forma progmaticamente, então se eu tenho que escrever uma frase para um computador, fico um pouco quente e incomodado. “SELECT * FROM Users WHERE Hot = ‘true’ AND Bothered = ‘true'”, ou como quer que fosse. Claro, é simples, mas sempre me incomodou.
Eu poderia falar sem parar sobre as coisas que me irritam com PHP, mas com toda a honestidade, é uma linguagem decente, eu sempre acabo precisando de mais. É aí que entra o Node.js.
Nó ou Rails?
Suponho que algumas pessoas vão tentar me vender no Rails, mas aqui está o problema. Meu conhecimento de Ruby é esparso, na melhor das hipóteses, e inexistente, na pior. Eu poderia, e deveria, dedicar um tempo para aprendê-lo, mas o maior apelo do Node era que eu já havia passado a pior parte da curva de aprendizado, a linguagem em si, que absorvi em minha jornada autoguiada em HTML, CSS , PHP e, claro, JS. Claro que há bastante sintaxe para aprender, mas geralmente ela se mantém em sintonia com a sintaxe da linguagem.
Além disso, o Rails já impõe uma base para você. Com o Node, é essencialmente apenas a linguagem. Ruby está para o Node, assim como Express / Roots / Geddy está para o Rails. Bem, para ser totalmente honesto e justo, Node é um tanto quanto um híbrido entre os dois.
Código, joias e NPM
A coisa maravilhosa sobre o Node e o Rails, é como eles são modulares. Você precisa de um módulo para websockets? Existe um pacote para isso. Você precisa de um motor de xadrez? Existe um pacote para isso. Você quer sobreviver a um apocalipse zumbi? Bem … Talvez ainda não. O que o Node’s NPM e os Rails ‘Gems têm em comum é que eles irão instalar dependências automaticamente. Com o PHP, é claro que existem bibliotecas, mas não há garantia de que elas funcionarão bem umas com as outras. Não há instalação automática de dependências. Bem, há um compositor, então suponho que seja injusto dizer. Suponho que o fato de eu preferir NPM e Gem ao Composer é puro preconceito de minha parte.
Nó Speedy
O Node é fantasticamente rápido. É fastastic. É capaz de lidar com grandes cargas de forma brilhante e é extremamente escalonável. Ele roda no motor V8 do Google. Há um debate sobre o que é mais rápido e, honestamente, estou hesitante em falar de uma forma ou de outra sobre isso, mas independentemente disso, é extraordinariamente rápido no que diz respeito à programação baseada na web. Ou talvez seja apenas a norma, e estou acostumado com o PHP sendo de thread único e lento.
Node se tornou uma paixão para mim. Existem muitas razões para eu usar Rails, e provavelmente o farei em um futuro próximo, mas isso, meus amigos, é uma história para uma época diferente.