Plataformas open source para lojas virtuais

No começo do mês, dei uma palestra aqui em Porto Alegre, no evento do PHP RS, falando sobre lojas virtuais e plataformas open source, isto é, de código aberto, que qualquer pessoa pode obter e modificar, à vontade. Para aqueles que não puderem participar, aqui vai um resumo do que apresentei para o público.

Lojas virtuais open source - imagem: reprodução

A primeira coisa a se ter em mente é que na maioria dos casos não vale a pena desenvolver uma plataforma para lojas virtuais do zero. Normalmente, temos uma tendência a achar que lojas virtuais são “sites um apenas pouco mais complexos” e que “com poucas horas de serviço, podemos montar um sistema novinho em folha”.

Montar um sistema de lojas virtuais envolve muito mais coisas que as páginas que vemos na frente de loja: é necessário ter mecanismos para gerenciar o catálogo de produtos, controlar os clientes, gerenciar estoques e criar e editar cupons de descontos, entre tantas outras coisas. Isso é complicado, toma tempo e muitas linhas de código.

Portanto, só vale a pena desenvolver algo do zero se você estiver fazento um trabalho para a faculdade ou quiser aprender na raça. Nesses casos, sou o primeiro a encorajá-los nessa jornada. Em todos os outros casos, é muito mais simples e produtivo buscar uma plataforma pronta e basear seu trabalho sobre ela, trabalhando para aperfeiçoá-la.

Depois disso, é importante avaliar quais são as opções disponíveis no mercado. O meu foco foi as plataformas líderes e escritas em PHP, mas você não precisa se prender a isso. Procure entender como elas foram desenvolvidas, se usam um framework como base, se têm uma empresa por trás e qual a força e o engajamento da comunidade. Se uma plataforma está em declínio, se não é atualizada constantentemente, se sofre com problemas de segurança, é melhor você procurar um pouco mais ou ter certeza de que pode assumir a correção de todos esses erros e atualizações.

Entre essas plataformas, estão:

1) WooCommerce

Desenvolvido como um plugin para WordPress, tem seu crescimento ancorado especialmente na força de seu hospedeiro. Ainda assim, é um bom sistema para pequenas e até mesmo médias empresas, que  não precisem de recursos muito avançados. Deve-se ter em mente que é um acessório, não uma ferramenta desenvolvida por completo como um e-commerce, mas que pode ser a saída para operações de baixo custo.

Está relativamente bem adaptada ao Brasil, com módulos de integração à maioria dos meios de envio e pagamento comumente utilizados por aqui.

2) Magento Commerce

O Magento foi por alguns anos a plataforma de comércio eletrônico mais popular, respondendo por 1/3 das lojas em atividade no mundo. Foi a primeira plataforma de sucesso, crescendo muito com base em suas características, que até hoje são atuais e ditam o mercado, como os atributos e o esquema de múltiplos sites. Entretanto, de dois anos para cá vem perdendo força e custa a dar sinais de que poderá recuperar sua posição de vanguarda.

A versão 1 do Magento continua sendo muito utilizada e é um ótimo ponto de partida para sua loja. A oferta de módulos e temas é enorme, mas é preciso ter em mente que muitos códigos não seguem a padronização oficial e por conta disso, uma série de problemas é encontrada se você não souber o que está fazendo.

Já a versão 2 segue sendo uma incógnita, com poucos módulos disponíveis e, até essa data, sem que módulos de integração aos principais meios de envio e pagamento brasileiros tenham sido desenvolvidos.

3) PrestaShop

A meu ver, o PrestaShop é o sistema que desponta como a próxima grande opção do e-commerce mundial. Ainda que seja mais velho que o Magento, ele levou muito mais tempo para atingir um estado maduro (na minha opinião, chegou nesse estágio na versão 1.6, a atual) e a empresa está trabalhando bastante em um novo sistema, baseado no Symfony, a ser distribuído ainda em 2016. A versão atual tem uma boa oferta de módulos para o Brasil e a vantagem é que a maioria deles é vendida diretamente no site da empresa, após ter passado por uma revisão de código e boas práticas.

Vale a pena dar uma olhada em outras três plataformas, ao menos como curiosidade: VirtueMart, instalada sobre o Joomla; OpenCart, uma plataforma também popular e tradicional; e o Thelia, uma nova plataforma, desenvolvida sobre o Symfony.

Lançamento do livro “Construindo uma Loja Virtual”

Construindo uma Loja Virtual - imagem: divulgaçãoDepois de quase três anos de trabalho, posso orgulhosamente apresentar o novo trabalho. A Editora Novatec está lançando meu quarto livro, “Construindo uma Loja Virtual” – “A jornada de uma empreendedora em seu primeiro negócio online”. Como vocês podem ver pelo sub-título e pela capa, há um elemento diferente nesse novo livro: ele foi escrito no formato de um romance!

Exato! Meu novo livro apresenta os passos para o planejamento e implantação de uma loja virtual através da história de Juliana, uma arquiteta que, mesmo com um emprego estável, decide jogar tudo para cima e empreender. Em sua trajetória, ela percebe que abrir uma empresa não é tão simples e recebe a ajuda de personagens emblemáticos como o Professor, um consultor que a orienta em sua caminhada, e Pedro, o dono de uma loja virtual de calçados que se transformará em seu grande amor.

Mas nem tudo é simples assim (como se abrir uma empresa já não fosse complicado o suficiente). O produto que Juliana venderá em sua loja virtual – bonecas russas de longa tradição chamadas matrioscas – escondem um segredo, que coloca as vidas de Juliana e Pedro em perigo. Qual perigo? Qual segredo? Você terá que ler o livro para saber qual o mistério da matriosca, é claro.

A ideia por trás desse formato é permitir que mais e mais pessoas tenham contato com o mundo do empreendedorismo e os caminhos para abrir uma loja virtual em um formato leve e fácil, acessível a todos. Como sempre, meus livros não procuram esgotar o assunto, mas serem bases de apoio para quem quer um caminho estruturado, um ponto de partida sólido para suas caminhadas.

Penso que eu tenha conseguido resolver esses problemas e entregar um material que agradará tanto quem já tem um pouco de conhecimento no mercado como quem está começando sua vida empreendedora.

O livro já está à venda no site da Novatec. Basta clicar em Construindo uma Loja Virtual e garantir seu exemplar. Em breve, você já conseguirá encontrar “Construindo uma Loja Virtual” nas principais livrarias. Boa leitura e sucesso em suas lojas!

A história do Magento

Roy Rubin e Yoav Kutner - imagem: Divulgação

No primeiro capítulo do meu livro Lojas Virtuais com Magento, eu falo da história do Magento Commerce, mas nunca a coloquei aqui no blog. Acho que vale a pena, a título de registro histórico, testemunha ocular dos fatos, falar um pouco de como surgiu a plataforma, como ela cresceu, como atingiu o topo e como estagnou, especialmente até o lançamento do Magento 2.

Assim como tantas outras empresas da Califórnia, a Varien começou pequena, como uma produtora de websites e peças gráficas, encabeçada por Roy Rubin e Yoak Kutner, em 2001. Cinco anos depois, já com algum corpo, começaram a notar um aumento no número de pedidos por lojas virtuais, detectando uma tendência.

Nessa época, a empresa usava um software open source chamado OS Commerce (que para quem o conheceu pessoalmente, sabe, ele é uma bomba). Se tinha como vantagem o fato de ter uma base pronta, era muito complicado de expandir e com sérias falhas de segurança. A dúvida estava entre fazer uma plataforma nova do zero ou reescrever o OS Commerce.

A saída escolhida foi o caminho do meio. O time da Varien resolveu usar a base do Zend Framework para fazer uma nova plataforma de e-commerce, com a proposta de ser algo revolucionário, com muitas funcionalidades já na caixa e com espaço para agregar inúmeras outras.

Como o Roy Rubin falou em uma palestra no Magento Immagine (tenho a impressão que em 2011) que a ideia deles nunca foi fazer uma plataforma completa, justamente para que houvesse espaço para que outras empresas desenvolvessem soluções e ganhassem com isso. Olhando em perspectiva, isso acabou se tornando a faca de dois gumes do Magento: se temos muitos módulos disponíveis, é graças a esse modelo. Se temos muitos módulos porcos e mal escritos disponíveis, é graças à falta de um controle centralizado e de regras claras.

A origem do nome Magento não é clara: fico com a versão de que seja uma variação da cor magenta (que decorava o logotipo da Varien e a primeira versão do logotipo do Magento), mas há quem diga que é o personagem de um jogo, tipo RPG (e que sinceramente não guardei o nome quando me disseram e que nunca consegui comprovar).

A primeira etapa de desenvolvimento aconteceu ainda no ano de 2006, quando a base da plataforma foi construída. No começo de 2007, a Varien abriu o Blog do Magento, convidando a comunidade a conhecer a plataforma, dar opiniões e desenvolver módulos. Esse processo de lapidação ainda levou um ano e em 31/03/2008 o Magento foi finalmente lançado, em sua versão Community.

Os primeiros meses ainda seriam de muitas mudanças, ajustes e correções. Brinco que a primeira versão estável foi a 1.3, já que até a 1.2, as falhas eram constantes.

A evolução continuou com a introdução do novo tema Base/Default (na versão 1.4), o gerenciamento de índices e um novo Magento Connect (na 1.5) até que se chegasse na versão mais estável de todas, a 1.7, em 2012. Dali em diante, o Magento praticamente não mudou até a 1.9, quando veio o primeiro tema responsivo e o mecanismo de seleção de cores.

Paralelamente a isso, a Varien lançou em 2009 a Magento Enterprise, uma versão paga, destinada a lojas de maior porte, contando com suporte da empresa e com o desenvolvimento por empresas parceiras, as Certified Partners. Isso chamou a atenção do PayPal, que comprou metade da Varien ainda em 2010, passando a se chamar Magento Inc.

Os anos de 2009 a 2011 foram de grande crescimento para a empresa, com a entrada de novos profissionais, o lançamento do Magento Go e do Magento Mobile, os eventos (Magento Imagine e Magento Live). Paralelo a isso, surgiam eventos à parte como o Bargento, o Magento Developers Paradise e o Meet Magento.

Nesse período, a comunidade era ativa e engajada. Havia um grande suporte por parte da Magento – não em dinheiro, isso nunca saiu de lá, 😛 – mas em estrutura, apoio logístico e divulgação. Nesse momento, o Magento finalmente ganhou a grande cena, passando a ser a plataforma líder em lojas virtuais no mundo, posto que ocupou até 2014.

Em algum ponto no ano de 2013, a curva começou a ser revertida e entrou em uma tendência de estabilidade. Depois da compra do total da empresa pelo eBay (2011), como parte da estratégia de lançar o novo X.Commerce, o ritmo da Magento Inc. começou a diminuir, culminando na saída de Yoav Kutner (Roy Rubin ainda ficaria mais um tempo na empresa, antes de se desligar). A maior parte dos dirigentes, com uma cabeça aberta e pró-comunidade começou a deixar seus cargos, sendo substituída por executivos com a menta mais fechada e menos dispostos a conversar e discutir rumos.

O Magento 2 virava motivo de piada, por nunca ser lançado, sempre sendo adiado, e os concorrentes começavam a se mexer. O PrestaShop avançou e se tornou um sistema mais completo e amigável que o Magento, enquanto Shopify e Big Commerce avançaram na fatia de lojas sob demanda, pagas por mês. O tiro de misericórdia, entretanto, veio de onde menos se esperava, na forma de um plugin para WordPress chamado WooCommerce.

O fim dessa história vocês conhecem: em dezembro de 2015, a Magento Inc. foi vendida pelo eBay para um fundo de investimentos, ao mesmo tempo em que o M2 finalmente ganhava sua primeira versão estável.

A pergunta que fica é: por que depois de tanto tempo o Magento 1 ainda é visto como uma opção para uma loja virtual? Eu mesmo sigo recomendando aos clientes que não usem o Magento 2 em lojas estáveis, apenas em projetos pequenos, sem compromisso. A resposta é simples: ele foi precursor em sua época e desde o começo trazia funcionalidades que muitas plataformas mais novas não trazem. O pecado do Magento foi não ter evoluído, isso não quer dizer que ele não serve mais, apenas que precisa de uns ajustes. Vida longa ao Magento!

Qual é o futuro do Magento?

Futuro do Magento Commerce - imagem: Wavebreak Media/Corbis

Hoje faz 8 anos que o Magento veio à vida, com o lançamento da primeira versão estável do Magento Community. Naquela época, o e-commerce era outro, a internet ainda estava em na infância do que se convencionou chamar de web 2.0 e o acesso via smartphone era uma fração do que é hoje.

Comprar pela internet era um ato de poucos e a desconfiança reinava. Pagar com cartão de crédito, nem pensar, afinal era muito arriscado. Os concorrentes: o antigo OS Commerce, um mirrado PrestaShop, um ou outro open source sem expressão e algumas plataformas próprias, desenvolvidas aqui e ali.

Nesse intervalo, o comércio eletrônico sofreu algumas revoluções: passou de algo em que poucas empresas estavam para uma obrigação universal. Hoje é consenso que se sua empresa não tem um site ou não vende pela internet, ela está condenada ao fracasso. O Magento cresceu, atingindo o posto de software de e-commerce mais utilizado no mundo, e passou a ser perseguido por inúmeras outras novas plataformas, que surgiram, cresceram, se desenvolveram. Umas estão por aí, outras morreram.

Um plugin para o WordPress, o Woo Commerce, desponta como ameaça para o Magento em número de usuários, apesar de ser uma sombra do que é o competidor mais velho em termos de recursos. O Shopify e o PrestaShop Cloud galgam posições em um espaço aberto pelo Magento Go.

Depois de ser vendido para o eBay em 2010, no final de 2015 a Magento Inc foi revendida, dessa vez para um fundo de investimentos. Ao mesmo tempo, o Magento 2 vem finalmente à luz, sem trazer grandes novidades em sua parte visível. O que se pode esperar do Magento então?

Como não tenho mais nenhum acesso a informações de bastidores da Magento (aliás, isso é um mérito do eBay, que conseguiu fechar a companhia e isolar a comunidade), só posso afirmar coisas que eu imagino que possam acontecer – e que estão em linha com o que eu faria nesse momento.

  • O Magento 2 não terá fôlego frente aos concorrentes – não é que o software é ruim e que ele está condenado a ser jogado no lixo. Porém, ele é um Magento 1 melhorado e não trouxe novidades que possam recolocar o Magento na vanguarda. Ao mesmo tempo, plataformas concorrentes avançaram muito nesses anos.
  • Será necessário desenvolver um Magento 3 do zero – mais do que isso, em pouco tempo. A Magento Inc. precisa sair da casca, olhar os competidores e fazer uma avaliação do que quer ser. Se vai focar de vez no mercado de médias e grandes lojas, terá que pensar em um produto que atenda aos novos requisitos e esquecer a Community. A partir disso, fechar seus desenvolvedores e construir uma plataforma ainda mais estável e sem os problemas decorrentes da inclusão sem controle de módulos feitos sem padrão.
  • Se for manter a comunidade, será preciso reconstrui-la – a tão falada comunidade open source em torno do Magento acabou há alguns anos. Em 2007, 2008, havia profissionais que realmente se empenhavam em construir funções e trabalhavam para que o Magento fosse melhor. Hoje, temos profissionais que receberam tudo pronto e não se preocupam em compartilhar. Mais do que isso, buscam o Magento simplesmente porque ele é completo e de graça, sem entender as responsabilidades que isso traz. Isso vale para o Brasil, para os Estados Unidos, para a Índia ou para a Europa.
  • É preciso mudar o esquema dos módulos e dos temas – mesmo que isso signifique custos maiores. Os grandes problemas que eu enfrento estão diretamente relacionados a módulos mal escritos, sem qualquer padrão, em uma mentalidade de “se der errado, não é problema meu”. É preciso que os módulos passem a ser revisados e certificados e que os padrões de código sejam melhor definidos.

Não estou dizendo que o Magento não serve e deve ser ignorado. Penso que hoje ele ainda é uma excelente plataforma, que pode ser usada para pequenos ou grandes projetos, se você tiver as pessoas certas trabalhando. O que mudou é que hoje não sou mais tão radical a achar que o Magento é a única solução a ser adotada. Vamos ver quais serão os próximos passos da Magento Inc. e se o Magento Commerce reencontrará seu esplendor (espero que sim!).

Lojas com Magento no Brasil, versão 2016

O que temos de novidades no mundo do Magento Brasil em 2016? Como sempre, faço uma lista com algumas lojas que usam a plataforma aqui no Brasil, pra que vocês olhem e explorem suas possibilidades. E se vocês têm sugestões de sites, escrevam nos comentários!
Continue reading “Lojas com Magento no Brasil, versão 2016”

Módulo para os Correios Offline

Correios Offline - imagem: Dana Hoff/Corbis

Um dos grandes problemas da integração do Magento com os Correios sempre foi a estabilidade dos servidores da grande instituição de entregas brasileira. Sim, há uma ironia na frase, pois parece que eles sempre arrumam um jeito de complicar a vida dos lojistas. Por incrível que pareça, se no último ano diminuíram bastante as queixas em relação ao servidor fora do ar, isso foi inversamente proporcional ao aumento na reclamação de pacotes que somem, produtos que atrasam, desinformação e assim por diante.

Não sou desenvolvedor por profissão mas recentemente, até mesmo por conta do livro Módulos para Magento, me vi obrigado a me debruçar sobre o Magento e aprender coisas que relutava desde 2008, quando conheci a plataforma. Um dos primeiros módulos que construí foi justamente um de Correios Offline para Magento.

A ideia é simples: a base do módulo foi feita em cima daquela desenvolvida pelo Pedro Teixeira, disponível gratuitamente desde 2008. Esse módulo segue cuidando da parte que eu chamo de online, isto é, o cliente está na loja virtual, digita o CEP e o Magento faz a cotação consultando diretamente o webservice dos Correios.

Com base nisso, montei um esquema para armazenar as cotações. O raciocínio é bem simples:

  • o CEP de origem é fixo, aquele da empresa, informada em Sistema > Configurações
  • o Brasil é dividido em 124 zonas, com suas faixas de CEP; dentro de cada faixa, o valor do envio é igual, independente do CEP
  • o Correio trabalha com preços a cada quilo e portanto, temos 30 pesos possíveis, de 1 a 30 kg
  • o prazo de envio é sempre estimado, pois varia conforme as condições reais, como dificuldades de acesso e violência na região
  • o cliente terá uma gama de serviços disponíveis, como PAC e Sedex, além de Sedex 10, Sedex Hoje, etc, se tiver contrato

Então, pra que se possa construir uma tabela de fretes e armazená-la no banco de dados da própria loja, basta fazer uma consulta por zona e peso, obtendo os valores para os serviços disponíveis. Por exemplo, a primeira consulta é para um CEP da zona 1, SP – Capital, com peso 1 kg. Ao buscar um CEP que esteja dentro dessa zona, ele retornará os valores para PAC e Sedex, caso a empresa não tenha contrato, para pacotes enviados a partir do CEP de origem.

Esses valores são armazenados em linhas no banco de dados, uma para cada serviço x faixa de CEP x peso. O mesmo processo é repetido por 124 x 30 vezes e continua atual enquanto os Correios não reajustarem seus valores – quando basta pedir para atualizar a tabela, repetindo o processo completo.

Se o lojista escolher o método offline, quando o cliente digitar o CEP, ao invés de buscar no webservice dos Correios, o método buscará os métodos e valores disponíveis no banco de dados local, retornando o valor para cada método armazenado disponível. Há ainda a possibilidade de um método híbrido: se em 10 segundos o webservice dos Correios não responder, ele automaticamente exibe os valores offline.

Como vocês vêem, não é difícil de se construir e é um bom exercício para quem quer praticar a construção de módulos. Se no entanto, você não é desenvolvedor e ficou interessado no módulo de Correios Offline para sua loja virtual, a Diamix está vendendo já com a instalação por R$ 380,00. Só conversar com eles. Ah, esse módulo está disponível apenas para Magento 1.