Um widget para o WordPress (HackerRank)

Eu e o Henrique Dias criámos um widget do HackerRank para colocar no WordPress. O HackerRank é um site com exercícios de programação organizados por área (I.A., algoritmia, etc.). Promove o pensamento sistematizado nas técnicas de resolução de problemas.

screenshot.1

O HackerRank é uma plataforma para realizar exercícios de dificuldade progressiva e de forma didática, assim como entrar em concursos, ganhar medalhas, etc. A ideia é competir de forma saudável, assim como criar um perfil útil para colocar no CV e LinkedIn. Alguns empregadores conceituados usam esta plataforma para avaliar os candidatos, pelo que é importante, para quem quer ser developer, conhecê-la.

O meu perfil no HackerRank

A ideia permitiu aprender um pouco sobre o processo de criação de widgets para o WordPress, assim como de PHP e AngularJS. A ideia foi alvo de apreciação pelos developers do HackerRank, mostrando-o através de um tweet e o envio de t-shirts. 🙂

Em WordPress, um widget é um plugin. É de notar a facilidade com que se criam plugins. Tal como com os plugins para o jQuery e outros sistemas, os plugins WordPress vêm provar que esta é melhor forma de estender um sistema, mantendo a base limpa e simples, e aumentado a complexidade à medida das necessidades.

Em server-side, usámos PHP, dado que é a linguagem em que o WordPress está escrito. Tirando as chamadas à API do HackerRank e o código de instanciação do plugin (basta estender a classe WP_Widget), não há muito a dizer neste lado.

Opções do widget

Opções do widget

Quanto ao client-side, usámos AngularJS, não apenas para conhecer e testar, mas porque achámos que é a melhor forma de transformar JSON (as respostas da API do HackerRank) em HTML. Em vez de uma abordagem imperativa do tipo jQuery, em que se cria DOM “manualmente”, ou de uma abordagem server-side, em que se prepara HTML com PHP (e fica uma confusão de código markup assustadora), o AngularJS permite uma abordagem declarativa mais elegante, em que no próprio HTML, fazemos uso do modelo de dados.

Seria interessante criar código boilerplate que serviria como ponto de partida para a criação de outros widgets (já pensamos criar um widget para o IMDb, para o Goodreads, entre outros).

Saber mais…

2 thoughts on “Um widget para o WordPress (HackerRank)

Deixar uma resposta