Desenvolvedores WordPress: Comece aqui!

Publicados: 2017-10-14

Bem-vindo ao nosso guia inicial para desenvolvedores do WordPress! Se você trabalha como freelancer ou como parte de uma agência de mídia. Neste artigo, abordaremos uma variedade de tópicos relacionados ao desenvolvimento do WordPress, juntamente com alguns dos recursos e ferramentas disponíveis.
O texto está organizado em torno dos diferentes estágios que fluem entre a geração de ideias e o envio. Falaremos sobre brainstorming, prototipagem, desenvolvimento e, finalmente, sobre implantação. Tudo isso, dentro do contexto de desenvolvimento de produtos. Acreditamos que entre os primeiros vislumbres de uma ideia e sua execução final existem muitas áreas sutis. Alguns são deixados indiscutíveis na melhor das hipóteses e outros são completamente inexplorados na pior das hipóteses, na literatura atual do WordPress.  

Se você é um cliente Pressidium, pode começar imediatamente a usar as ferramentas que construímos em torno de nossa plataforma, para que você possa desfrutar dos benefícios de um alto nível de integração. Vamos falar sobre o que essas ferramentas também.   Lembre-se de que este é um documento ativo e deve ser tratado como tal.

Em primeiro lugar, nosso objetivo é que este documento seja útil para sua prática como desenvolvedor do WordPress e, em segundo lugar, mostrar algumas coisas interessantes que construímos apenas para você.

Da ideia à implantação  

Quer você trabalhe em um novo produto ou tenha assumido algum trabalho de cliente, o processo de passar da ideia à implantação consiste em 4 etapas. Embora esses estágios sejam discretos, eles se sobrepõem significativamente e não são lineares. Falaremos mais sobre isso no texto:  

  1. Brainstorming e levantamento de requisitos.
  2. Prototipagem.
  3. Desenvolvimento.
  4. Implantação.
Desenvolvedor WordPress: brainstorming

O processo de brainstorming associativo livre é usado quando você quer começar a construir um produto ou projeto e precisa de ideias. A coleta de requisitos, no entanto, ocorre quando você é encarregado de construir um projeto para um cliente ou concluir uma ideia após uma sessão de brainstorming. Você ainda pode configurar sessões de brainstorming posteriormente para resolver problemas específicos, mas essas sessões serão mais restritas.

Os princípios fundamentais do brainstorming são dois. Vá para a quantidade e adie o julgamento para mais tarde. Já escrevemos no passado sobre como você pode facilitar essa sessão, como construir a mentalidade adequada e algumas ferramentas interessantes para ajudá-lo.

Elicitação de requisitos

Existem diversas metodologias que são utilizadas para elicitar requisitos, e tradicionalmente esse sempre foi o trabalho de um analista de negócios. Embora seja responsabilidade do cliente fornecer informações sobre os requisitos do projeto, um entendimento compartilhado precisa ser estabelecido para todas as partes interessadas. A elicitação de requisitos é um processo diferente da coleta de requisitos. É mais sobre trazer as informações necessárias através da participação ativa. E trata-se menos de reunir passivamente em um documento o que o cliente está dizendo a você e repassá-lo à equipe de desenvolvimento.

Dependendo do escopo e da natureza do projeto, os Casos de Uso são uma ótima maneira de capturar a funcionalidade. Casos de uso são uma técnica que é usada em diagramas UML como uma forma de descrever as interações entre as partes interessadas de um sistema e o próprio sistema. Como eles são uma coleção de cenários escritos em inglês simples, mas estruturado, não são apenas menos complicados, mas são uma maneira rápida e eficiente de começar a discutir e esboçar a funcionalidade do sistema.

Você provavelmente precisará configurar entrevistas estruturadas com todas as partes interessadas se quiser capturar requisitos para produtos complexos. Para isso, as Histórias de Usuário são o caminho perfeito. Eles fazem parte da mentalidade ágil e são uma maneira informal de começar a falar sobre requisitos, a fim de construir um entendimento compartilhado. Descrições curtas de funcionalidade são escritas em cartões de papel, geralmente Post-It Notes, e são embaralhadas em um quadro branco para criar narrações das jornadas do usuário. As histórias de usuários são geradas na hora, por meio da participação, discussão e manipulação de cartões no quadro branco. Os detalhes são lentamente detalhados e finalmente adicionados como recursos no backlog do produto. Jeff Patton escreveu um excelente livro sobre User Story Mapping que recomendamos se você quiser saber mais sobre o assunto e começar a usá-lo em seus projetos.

As histórias de usuários não são uma coisa estática que, uma vez criada, é esquecida para sempre. Em vez disso, eles são um mapa dinâmico, para o qual a equipe de desenvolvimento e produto pode retornar várias vezes, à medida que o estágio de prototipagem segue e o produto começa a tomar forma.

Desenvolvedor WordPress: Prototipagem

A importância de um protótipo é responder a perguntas. Embora existam várias metodologias de prototipagem, acreditamos que a evolucionária seja a mais apta para nossos propósitos e aquela que pode ser adaptada em pipelines modernos de desenvolvimento de software Agile. Na metodologia do protótipo evolutivo, o processo é cíclico, onde o protótipo se torna progressivamente mais refinado a cada ciclo.

Cada iteração do protótipo passa da fase de design para a fase de desenvolvimento e avaliação. Ele traz à tona problemas iniciais de design e fornece algo tangível que as pessoas podem apontar e falar sobre o que pode ser melhorado. O insight obtido na fase de avaliação é usado na próxima iteração do protótipo e o ciclo se repete mais uma vez. Assim, o protótipo evolui lentamente para o sistema final até atingir a maturidade como produto acabado.

A prototipagem geralmente ocorre em ritmos de desenvolvimento rápidos e o uso de sistemas padronizados como Bedrock, Sage e Bootstrap pode reduzir bastante os tempos de desenvolvimento. Sistemas como os mencionados acima fornecem um esqueleto de aplicativo completo e a cadeia de ferramentas necessária para que você não precise começar do zero todas as vezes. Protótipos evolutivos não são o mesmo que protótipos descartáveis. Estes últimos são protótipos que são construídos apenas uma vez como prova de conceito e depois jogados fora. Se você gasta uma quantidade significativa de tempo construindo um protótipo de e-commerce, por que não abstrair as funcionalidades comuns e usá-las novamente no futuro em vez de jogar tudo fora e começar do zero?

É aqui que a clonagem de Pressidium é útil. Ele permite que você clone rapidamente um site com apenas um clique e comece a desenvolver. Dessa forma, você pode preparar vários sites de modelo usando o clichê, pré-carregá-los com os plug-ins, temas e configurações necessários e cloná-los sempre que precisar deles em um projeto. Você também pode cloná-los para uma conta diferente do Pressidium, por exemplo, para o seu cliente, da mesma maneira. Não se preocupe se seus protótipos estiverem em um provedor de hospedagem WordPress gerenciado diferente. Basta usar nossa ferramenta Assistente de migração e importá-los para sua conta Pressidium!

Desenvolvedor WordPress: desenvolvimento

Não importa se você desenvolve projetos WordPress por conta própria ou colabora com outros desenvolvedores e designers do WordPress, os dois pontos mais importantes que contribuem para a sustentabilidade de seu ofício a longo prazo são os seguintes:

  1. Praticando bons hábitos de software.
  2. E saber o que tudo é, onde está e por que está lá.

As melhores práticas variam de seguir consistentemente um guia de estilo de software para praticar a escrita de código limpo em vez de inteligente, e todo o caminho para software de alto nível e opções de design de interface do usuário. O segundo ponto é simplesmente a documentação e as muitas formas que ela pode assumir dentro de um projeto.  

Seguir um guia de estilo de software é simples. Estude os recursos oficiais do WordPress.org sobre o assunto e, em seguida, decida quais diretrizes fazem sentido para você para incluí-las em seu estilo de codificação. Mudar hábitos é um processo lento, e você deve começar fazendo pequenas mudanças no início. Em última análise, ter um conjunto de diretrizes que seu código precisa seguir significa introduzir revisões de código em algum momento.

As revisões de código são uma maneira sistemática de ler e examinar o código que busca erradicar erros, elucidar partes do código que são obscuras e garantir que o código esteja de acordo com os padrões e convenções. Também é melhor ser feito por outra pessoa da sua equipe e não por você.

Hospede seu site com a Pressidium

GARANTIA DE DEVOLUÇÃO DO DINHEIRO DE 60 DIAS

VEJA NOSSOS PLANOS

Preferir código limpo a inteligente é uma “pérola de sabedoria” de desenvolvimento de software que infelizmente só pode ser apreciada depois de cair nas armadilhas do código inteligente. A conclusão é esta: embora em alguns casos o código inteligente possa lhe render pontos de “hacker” e um tapinha nas costas, e até ganho de desempenho em alguns casos, você acaba perdendo a longo prazo. Códigos “hackeados” e difíceis de ler se tornarão incompreensíveis no futuro. E isso pode custar caro quando você precisa solucionar um bug particularmente evasivo. Encontrar o equilíbrio entre escrever código otimizado e limpo é algo que você precisará descobrir por si mesmo, mas é sempre melhor errar no lado limpo das coisas.

Além disso, como o desempenho dos sites WordPress depende muito do uso correto do cache do navegador, é importante saber como seu provedor de hospedagem WordPress gerenciado usa o cache. Seu código então funcionará de forma sinérgica com sua plataforma de hospedagem, para ter o melhor desempenho possível. No entanto, tenha em mente que medir a velocidade do seu site de maneira correta não é tão fácil quanto se imagina, e contém várias pegadinhas!

Assim, falando em boas práticas de alto nível, a decisão que levou o WordPress a desacoplar sua funcionalidade principal e fornecer uma API REST certamente poderia ser considerada como um exemplo de tais práticas. Essa decisão sinalizou o movimento para uma nova era, para sistemas de gerenciamento de conteúdo programáticos e desenvolvimento de aplicativos WordPress “sem cabeça”.

  Escrevemos uma introdução sucinta e um tutorial para a API REST do WordPress e uma maneira simples de começar a mexer nela usando plugins de navegador como o Postman.

  Essa decisão de design de software foi enganosamente simples, mas poderosa. Um desenvolvedor do WordPress agora pode usar o WordPress para implementar aplicativos e funcionalidades que excedem em muito os sites ou blogs. Um exemplo particularmente adequado é o nosso protótipo Kanban.

Usamos entidades do WordPress, como categorias e postagens, para modelar um quadro Kanban com tarefas, colunas e um fluxo de valor. Esboçamos uma API de colunas e cartões Kanban, que unia tudo.

Documentação

Alguém poderia argumentar que as melhores práticas de software são propícias para escrever melhor documentação, desde simples comentários de código até entregas do projeto e culminando na cópia do produto.  

Não importa como você olhe, a documentação é um ativo.  

Quando se trata de documentação técnica, a linguagem usada na escrita é decididamente diferente daquela que você usa quando se comunica diariamente ou daquela que você usa no trabalho. Essa forma de escrita é chamada de redação técnica e não é usada apenas em computadores ou engenharia de software. Na verdade, é usado em todas as profissões que precisam comunicar conceitos técnicos a um público especializado, como direito, medicina, aeronáutica e assim por diante. É um assunto grande, e existem até algumas faculdades que oferecem certificações de redação técnica. Sua razão de ser é comunicar informações técnicas usando uma linguagem clara e concisa. A voz ativa é preferida à passiva, sendo esta última utilizada nos casos em que é necessário um texto descritivo para explicar conceitos.

Um redator técnico precisa ter em mente que o leitor é alguém, que muitas vezes fica frustrado ao buscar uma determinada informação. Como resultado, sua escrita não precisa ficar no caminho. Seu objetivo é tornar esse processo fácil, direto e até mesmo agradável!  

Embora você não precise ter um diploma ou ser um redator técnico profissional, saber comunicar conceitos de maneira concisa e simples é muito importante para sua carreira como desenvolvedor WordPress. Assim, sempre que você precisar escrever documentação para um plug-in, um tema ou uma API que você construiu (e da qual se orgulha!), você precisa ter o básico. Por esse motivo, escrevemos um guia rápido para documentar seus plugins e temas do WordPress, que também abrange os 5 princípios básicos da redação técnica.

Mas a documentação não para por aí. Nos casos em que seu tema ou plugin faz parte de um projeto maior, ou quando eles próprios são suficientemente complexos, deve-se começar a pensar em termos de documentação do produto. Somando-se à verdade de que a documentação é um ativo, a documentação do produto, por sua vez, é um ativo de marketing. Isso está adequadamente encapsulado na seguinte citação de Mike PuterBaugh, vice-presidente de marketing da MindTouch, em um artigo do Mashable sobre a importância da documentação do produto:

Não é um empreendimento sexy, mas você ganhará o respeito de seus colegas, uma gestão mais eficaz da empresa e uma equipe mais colaborativa. Porque não se trata deste trimestre ou deste ano, mas sim de afetar a vantagem competitiva e o crescimento de longo prazo.


Quando se trata de produto, além das formas mais usuais de documentação escrita, existem várias outras, como ajuda online, guias de estilo, microconteúdo e assim por diante. A documentação do produto geralmente é escrita em colaboração por muitas pessoas diferentes, o que adiciona uma camada extra de complexidade. Escrevemos um guia extenso que ajuda você a começar a pensar e planejar dessa maneira também.

Por fim, à medida que avançamos para a última etapa do processo, que é a implantação, colocamos a última peça do quebra-cabeça da documentação: Diagramas de implantação. Eles ajudam você a ter uma ideia clara e esférica do que tudo é e onde deveria estar.

  Embora a maioria das pessoas fugisse gritando de horror ao ouvir falar da UML (e compreensivelmente, a especificação completa da UML é abismal), em sua defesa, a UML contém um subconjunto de ferramentas de notação que podem agregar valor a um projeto. Os diagramas de implantação são uma notação surpreendentemente simples que consiste apenas em nós e caminhos de comunicação que podem mostrar em um vislumbre os diferentes ambientes que existem em seu projeto e onde cada componente precisa ser implantado.

Iremos nos aprofundar mais na UML no futuro, particularmente em outra notação útil chamada Diagramas de Sequência, bem como em exemplos mais detalhados de diagramas de cenário de Caso de Uso para detalhar os requisitos do projeto e construir protótipos.

 

Desenvolvedor WordPress: implantação

A maioria, se não todo o desenvolvimento e implantação modernos, utilizam alguma forma de controle de versão, como git e SVN. Os repositórios de código-fonte não são essenciais apenas para equipes, pois seus benefícios são extensos, mesmo se você for um desenvolvedor WordPress solitário.

Se você é um cliente Pressidium, pode integrar seu repositório à sua conta via SFTP, usando um serviço externo como deploybot. Como alternativa, você pode usar o SFTP para transferir seus arquivos para sua conta, pois esse é o método mais fácil e direto. Você também pode criar vários usuários SFTP e atribuí-los a sites e ambientes específicos. Falando nisso, ter um ambiente de teste para seu site garante que seu processo de desenvolvimento e implantação seja mais simplificado e seu site de produção seja protegido contra alterações indesejadas. Por exemplo, depois de habilitar a preparação para seu site, você pode obter uma cópia da produção e, em seguida, criar uma conta SFTP para seu desenvolvedor que tenha acesso apenas no ambiente de preparação.

A configuração de um pipeline de desenvolvimento simplificado que passa por vários ambientes é uma das mudanças que o movimento DevOps trouxe para os ambientes de TI. Adotar uma disciplina de Entrega Contínua e fazer com que as alterações de software sejam feitas de forma incremental e frequente, resulta em ciclos de implantação mais rápidos e menos erros. Você não precisa mais manter arquivos ZIP com diferentes versões do seu aplicativo. Dessa forma, você pode facilmente perder o controle e implantar o conjunto errado de alterações que podem prejudicar seus sistemas de produção. Havia também o perigo de ter problemas com permissões de arquivo sendo mutiladas, o que, na melhor das hipóteses, poderia fazer com que seu aplicativo não funcionasse corretamente e, na pior das hipóteses, introduzir problemas de segurança.

Epílogo

Sabemos que seu tempo livre como desenvolvedor WordPress é bastante limitado. É por isso que consolidamos tudo em um único documento, pois a sobrecarga de informações é real e parece afetar todos os trabalhadores do conhecimento, e não apenas os desenvolvedores do WordPress. Mencionamos no início que nosso objetivo é, em primeiro lugar, fornecer informações úteis e, em segundo lugar, abordar tópicos que consideramos sub-representados na literatura atual do WordPress. Tornar-se um desenvolvedor WordPress é uma coisa, manter-se relevante e competitivo é outra . E para isso, você precisa ter uma visão completa da engenharia de software como disciplina e adquirir bons hábitos, metodologias e técnicas que servirão à sua carreira no longo prazo.