Back-End

21 nov, 2017

O desenvolvimento em WordPress vai muito além de temas e plugins

Publicidade

O desenvolvimento em WordPress ficou complexo. Na verdade, o desenvolvimento web como um todo. Você está preparado para seguir em frente?

Para muitas pessoas, desenvolver com WordPress se resume em selecionar um tema bonito e encontrar alguns plugins funcionais.

Sinceramente (e bota sinceridade nisso!), o desenvolvimento em WP vai muito além de temas e plugins.

Na verdade, o desenvolvimento web como um todo não é tão simples mais. A tríade HTML, CSS e JavaScript ficou para trás.

Plataformas, ferramentas, frameworks, bibliotecas, ambientes, repositórios, linguagens, conceitos e várias outras coisas são pautas de discussões antes do início de cada projeto. Bem como durante e depois da entrega.

Temas e plugins WordPress

O WordPress de forma simplificada se resume em três partes: o core, o tema e os plugins em uso.

Os tipos de plugins WordPress não são conhecidos em sua totalidade pelos desenvolvedores e arquitetos de soluções.

Seu projeto digital e os plugins WP possivelmente terão três tipos de relacionamentos:

  1. Você encontrará o plugin perfeito e que atende exatamente a necessidade do projeto;
  2. Você precisará mudar algum conceito, ou regra de negócio do seu projeto, para usar o plugin X ou Y;
  3. Você desenvolverá um plugin para atender as suas regras de negócio.

Já os temas nem sempre são escolhidos como deveriam, ou seja, a estética deve ser um segundo critério de escolha, a primeira deve ser orientada pela arquitetura desejada.

E quando se trabalha com temas prontos, é preciso ficar atento a técnica suportada pelo WordPress através de Child Themes. Que nos possibilita trabalhar as personalizações sem comprometer o núcleo dos códigos e o impacto das atualizações futuras.

É muito comum termos um cenário híbrido, ou seja, consideramos o desenvolvimento do tema, de plugins e ainda selecionarmos alguns consagrados e úteis para o projeto em questão.

E se tratando de desenvolvimento em WordPress, é preciso considerar as stacks mais modernas e utilizadas no momento pelas equipes de desenvolvimento e infraestrutura.

A evolução das três camadas do desenvolvimento

Todo projeto digital se estrutura em três camadas clássicas: conteúdo (HTML), estilos (CSS) e comportamento (JavaScript).

Mas nos últimos anos essas camadas ganharam ramificações quase impossíveis de serem acompanhadas a fundo.

Isso trouxe grandes desafios e dedicação das equipes de desenvolvimento focadas no front-end.

A camada de conteúdo

O HTML é utilizado para dar significado semântico as informações dispostas nas páginas virtuais.

Mas a linguagem por si só, não é o suficiente. Então precisamos acrescentar o Schema.org, Microformats e derivados.

Além disso, precisamos estruturar meta informações para agentes externos, leia-se Facebook, Twitter, Google e dezenas de outros.

Para isso empregamos Open Graph, Twitter Cards, Accelerator Mobile Pages, Instant Articles, técnicas para otimizações destinadas aos buscadores e leitores de telas para acessibilidade.

Agora, assistimos a crescente da componetização. Todos os elementos da interface são tratados de forma isolada e, assim, reaproveitados em várias páginas.

O conceito é ótimo, mas exige novas tecnologias, aprendizados e, claro, deixa o desenvolvimento em WordPress mais complexo.

A camada de conteúdo está ainda mais parceira da camada de comportamento.

A camada de comportamento

A camada de comportamento tem o ponto central na JavaScript. A linguagem está presente em tudo e já é essencial em todos os projetos modernos.

Com a crescente dos componentes e, por conseguinte, da evolução da camada de View em JavaScript, surgem novas propostas de frameworks e bibliotecas.

A lista nesse segmento é imensa. Da popular jQuery, as mais recentes e queridinhas Meteor, Redux, React, Preact, Vue. E a lista continua.

A camada de estilo

Além da própria evolução da CSS, surgiram tecnologias para complementar o trabalho de deixarem as páginas mais bonitas e atrativas.

Compiladores como Less e SASS ajudam os desenvolvedores a ganharem agilidade, dinamizar o trabalho e, ao mesmo, tempo adicionar novas necessidades de uso como o Grunt, Gulp e outras técnicas.

Os desafios das equipes de back-end

Se a evolução das camadas de desenvolvimento trouxe novos desafios e cenários para as equipes de front-end, o mesmo aconteceu para com as focadas no back-end.

Conceitos e culturas como o DevOps, aproximou os desenvolvedores dos SysAdmin e trouxe ganhos e integrações incríveis entre as equipes para beneficiar o projeto e o workflow como um todo.

Projetos desenvolvidos em WordPress precisam ser estruturados em diferentes ambientes como o de desenvolvimento, homologação e produção.

Para isso acontecer de forma plena é preciso considerar, o conceito de Continuos Integration, bem como o uso de ferramentas como Git e Jenkins para organizarem e automatizarem os deploys entre os diferentes ambientes.

Plugins e temas WordPress podem ser desenvolvidos utilizando conceitos como MVC, adotando Coding Standards, Code Sniffer e soluções como Composer e CLI.

Cada um resolve um problema e adiciona uma necessidade a mais de estudo, configuração e ponto de atenção.

O core do WordPress é estruturado em banco de dados MySQL. Mas alguns projetos requerem outras soluções de armazenamento de dados e soluções como MongoDB e Redis, por exemplo, são adotados em paralelo.

O conceito de micro serviços e uso de APIs é constante. Cada tecnologia é inteligentemente escolhida para resolver um problema específico e assim termos a melhor solução para cada caso do projeto.

Com o constante uso de APIs se tornou necessário conhecer mais sobre o protocolo HTTP, o conceito de RESTfull e se aprofundar nas especificações do formato JSON.

Para cada era, um desafio diferente no desenvolvimento em WordPress

Desenvolvedores web lidam com diferentes padrões a cada era. Isso traz grandes impactos e desafios para o desenvolvimento em WordPress.

Vivemos a guerra dos browsers e a falta da adoção dos padrões da web. Hoje os impactos entre os navegadores de internet são minimizados já que a adoção aos web standards evoluiu consideravelmente.

Não bastasse os navegadores, tínhamos grandes desafios com as diferenças entre os sistemas operacionais: Windows, Linux e Mac, por exemplo.

Hoje, as diferenças entre os OS são menores. No entanto, além dos três mais utilizados nos desktops, temos a era mobile e novos sistemas como iOS, Android, Symbian e certamente outros que ainda surgirão.

Mas o grande desafio atual é a diversidade de tamanho de telas e dispositivos. Se pensarmos em smartphones, os tamanhos são diversos e cada aparelho tem dois tamanhos: um na orientação paisagem e outro no modo retrato.

Conclusão

O desenvolvimento em WordPress ficou complexo. Na verdade, o desenvolvimento web como um todo.

Isso exige mais estudos, maior envolvimento de horas técnicas e qualificação profissional. Precisamos ser assertivos com as escolhas e cuidado no planejamento para termos um resultado esperado.

Para cada problema atual, temos uma tecnologia para resolver o problema. Temos que escolher bem a solução, para cada solução há várias alternativas.

Algumas soluções são simples, outras complexas. Algumas com baixa curva de aprendizado, outras nem tanto. Algumas com boa aceitação de mercado, e em consequência profissionais especializados.

O desenvolvimento em WordPress precisa ser bem estruturado para resumir e simplificar como todos esperam, ou seja, um tema e alguns plugins.