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

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

Desenvolvimento em WordPress
Seus amigos merecem saber desse conteúdo?

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

Plugins e temas para o desenvolvimento em 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.

Três pedras representando as três camadas de desenvolvimento

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

Os desafios com os diferentes dispositivos mobile

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.