Cursos Magento

Magento 2 ou Magento 1: Qual eu escolho?

,

31 de julho de 2018

O Magento 2 foi lançado há quase 3 anos (Nov/2015), e trouxe uma série de benefícios e atualizações tecnológicas. No entanto, a complexidade, bugs, falta de mão de obra, falta de módulos nacionais são alguns dos motivos que ainda fazem muitos Magenteiros se perguntarem: vale a pena usar Magento 2?

Enquanto isso, o Magento 1 tem mais de 10 anos de existência (Março/2008) e é a plataforma de e-commerce de código aberto mais usada no Brasil e em todo o mundo, com diversos casos de sucesso dentro e fora do Brasil (onde alguns eu tive o prazer de fazer parte).

Ao longo deste artigo, falarei sobre diferentes pontos de vista sobre cada versão e você poderá decidir com qual quer ficar. Esta é uma dúvida enviada quase todas as semanas pelos alunos e outros Magenteiros nos nossos grupos.

Fim do suporte ao Magento 1 – Será?

A Magento teria anunciado no Meet Magento Praga 2017, que o fim do suporte ao Magento 1 estaria previsto para 17 de Novembro de 2018. Posteriormente a Magento teria cancelado a data do EOL (End of Life) e anunciaram que avisariam sobre a data 18 meses antes de encerrarem as atualizações e suporte ao Magento 1.x.  Como nada foi falado até o momento, podemos esperar no mínimo atualizações de segurança garantidas até o fim de 2019. E de acordo com Artūrs Krūze (Magebit) e da conversa com o time da Magento, parece que o suporte não acabará antes de Junho de 2020.

No entanto, se a ideia é começar um projeto com Magento Commerce (versão paga), somente a versão 2.x está disponível e o suporte oficial pode ser um problema mesmo nas versões 2 mais antigas (como 2.0).

Portanto, se o projeto é Magento Open Source, o fim do suporte parece não ser um bom motivo para usar o Magento 2.

Novos recursos e novas tecnologias

Embora existam vários módulos gratuitos e pagos para fazer seu Magento 1 ter os mesmos recursos do Magento 2, há muito o que se considerar neste sentido.

Experimente fazer uma busca por imagens no Google com o termo “Magento 2 vs Magento 1 features” e poderá encontrar vários motivos para migrar para o Magento 2.

Os principais deles na minha opinião são: full page cache nativo, suporte a php 7.1+, uso de composer para gerenciar módulos, pré-compilação de conteúdos estáticos em modo produção (veja sobre na aula 12), uso de jQuery nativo ao invés de prototype, checkout mais rápido, uso de requireJs, entre outros.

A flexibilidade de ambas versões continuam sendo o principal diferencial do Magento, embora no Magento 2 o conflito de módulos se torna menos comum graças à nova estrutura de classes e utilização de classes do tipo Plugin e Dependency Injection (veja sobre nas aulas 21, 22 e 23). Além disso, a organização dos componentes (temas, módulos e traduções) estão bem melhores na nova versão.

Os novos recursos certamente dão um diferencial competitivo por trazer mais flexibilidade e maior velocidade à aplicação. E como sabemos, no final do dia cada segundo conta na sua conversão.

APIs

Ambas versões possuem webservices e API’s para se integrar. No entanto, no Magento 1 elas vieram depois e foram construídas ao redor do core da plataforma. Na nova versão as APIs fazem parte da nova estrutura modular do Magento podendo trabalhar de forma independente, em servidores independentes.

O Magento 2 possuí inclusive um Swagger nativo para brincar com todos os métodos disponíveis na API sem muito esforço.

 

Swagger no Magento 2

Swagger no Magento 2

Como o Magento 2 foi concebido desde o começo com as APIs e ele mesmo faz uso das próprias APIs, ele é a melhor opção para quem deseja realizar integrações complexas.

Claro, que o Magento 1 também possuí APIs Rest e Soap (veja exemplos de uso da API Soap no Magento 1), mas é muito mais difícil de realizar customizações e implementar novos métodos (veja seção 9 do curso de backend).

Módulos

Por ter mais de 10 anos de desenvolvimento envolvendo uma das maiores comunidades de desenvolvedores, e mesmo após a súbita extinção do Magento Connect (já comentada aqui) que removeu do mercado mais de 10 mil módulos, o Magento 1 (ainda) possuí muito mais módulos disponíveis por aí.

Módulos para Magento 2 enfrentam 2 grandes problemas que seu antecessor também enfrentou:

  1. Qualidade dos módulos
  2. Diversidade

Apesar de ter uma quantidade limitada de módulos para M2, este cenário está mudando muito rapidamente graças ao sucesso do novo Marketplace da Magento.

No entanto, a complexidade e falta de conhecimento – problemas também enfrentado pelo Magento 1 há uns 6 anos atrás – faz com que tenhamos uma série de módulos mal desenvolvidos no mercado (incluindo módulos pagos).

A notícia boa é que muitos recursos que antes precisávamos de módulos, agora são nativos da nova versão.

Mão de obra: notícia boa e ruim

Ruim para quem contrata, bom para quem sabe aproveitar.

Se você é dono de um pequeno negócio, será mais fácil encontrar profissionais qualificados e experientes em Magento 1, com valores ligeiramente menores.

Se você é desenvolvedor, pode se especializar e nadar em um oceano azul, criando módulos para vender no Marketplace da Magento, ajudando na migração de lojas Magento 1 ou mesmo aproveitando grandes oportunidades nas maiores empresas de Magento do Brasil e do mundo. Com a popularização do Magento 2 o número de ofertas de emprego e visualizações de perfil no meu LinkedIn por exemplo, mais que triplicaram nos últimos 12 meses. O perfil das empresas que usam Magento 2 também mudou para melhor, com isso trazendo melhores salários e oportunidades.

E para quem está começando a aprender Magento, aprender Magento 1 também pode valer muito a pena. O Magenteiro.com é um dos lugares onde você pode encontrar cursos de Magento 1 ou Magento 2 e muito material gratuito sobre ambas versões.

Complexidade

Ao longo dos meus 7 anos como desenvolvedor Magento pude ver muitos lojistas e pequenos/médios empresários montando suas próprias lojas com Magento 1 (veja o caso do mecânico e advogado que virou Magenteiro). A instalação e manutenção é muito similar a de outras ferramentas open source como WordPress. Uma hospedagem PHP, um MySQL e um FTP resolvem quase todos os problemas.

No Magento 2 vejo este cenário mudando bastante. Muita gente desistiu do novo Magento antes mesmo de conseguir concluir sua instalação.

Na minha opinião, o novo Magento ficou mais sério. Se SSH, composer, compilação, versionamento e dependências são termos que te assustam talvez seja melhor procurar um desenvolvedor ou uma empresa para lhe ajudar, ou ir de Magento 1 mesmo. Pelo menos por enquanto.

Tenha em mente que não é qualquer hospedagem compartilhada que suportará seu novo Magento 2. As coisas mudaram.

Migrar ou não migrar

Se você já tem uma loja Magento 1, a migração deve ser pensada e muito bem planejada. Antes de mais nada, responda às seguintes perguntas:

  1. Há algum recurso que quero ter na nova versão e não tem na versão atual? Se sim, existe módulo disponível no mercado pra fazer isso?
  2. Os módulos indispensáveis pra minha loja, existem na nova versão?
  3. Quanto (tempo) custará desenvolver os módulos essenciais que ainda não existem na nova versão?
  4. Qual experiência meu time, desenvolvedor ou agência possuí na nova versão?
  5. Meu tempo para migração é flexível ou tenho que correr para migrar com uma deadline apertada?
  6. Que tipo de atualizações de ambiente precisarei fazer para migrar para nova versão?

Bugs

Assim como as primeiras versões do Magento 1, o Magento 2 demorou um pouco até ficar “usável”. Os veteranos vão entender quando digo que a versão 2.0 me fez sentir como quando mexia no Magento 1.4.

Sinto que a maioria dos grandes bugs já foram corrigidos, mas em grandes projetos sempre encontramos um bug já reportado e endereçado no meio do caminho.

Por outro lado, por estar no Github e ter um incentivo muito grande da Magento com os eventos de Contribution Days, os bugs são endereçados e corrigidos muito mais rapidamente. Não raro são as vezes que encontro um bug já corrigido em novas versões e não preciso me preocupar muito em debugar código para solucionar problemas.

Se você não pode conviver com um errinho aqui ou outro ali por algum tempo, ou não vai atualizar sua loja com frequência, talvez prefira a solidez da versão anterior por enquanto.

Isso vale também para atualizações de segurança. Atualizações de segurança são aplicadas junto com outras atualizações – diferente do Magento 1, onde aplicamos patches de segurança.

Para uma nova loja

Todos os pontos acima devem ser levados em consideração ao escolher a versão do seu Magento. Se você está começando o desenvolvimento de uma nova loja talvez deva se perguntar:

  1. É um projeto de longo prazo (mais de 1 ano)?
  2. A loja terá muitos acessos? O full page cache pode fazer diferença pra você.
  3. Pretende desenvolver ou usar API’s?
  4. A diferença de investimento pode impactar o projeto? (Bons desenvolvedores M2 podem ser mais caros e raros)
  5. Vai usar Magento Open Source? (Se for usar o Enterprise, só M2 está disponível)
  6. O prazo para desenvolvimento é curto? (Disponibilidade de módulos e bugs podem tornar o tempo para lançar o projeto bem maior em M2)
  7. Quais recursos já existem no Magento 2 e que precisariam de módulos pagos na versão anterior?
  8. Qual o conhecimento da equipe no desenvolvimento para as duas versões?

Conclusão

Como podemos ver, hoje são vários os fatores que devemos levar em consideração ao escolher qual versão do Magento queremos usar.

Obviamente que devemos nos preparar para o novo Magento, pois logo não precisaremos mais pensar muito ao escolher o nosso Magento.

Também podemos perceber que o Magento 2 está muito mais “robusto” e profissional, com novas tecnologias, testes unitários, e muitas outras ferramentas e melhorias (como o PWA) vindo aí. Empresas e profissionais com um alto nível de maturidade no desenvolvimento verão o novo Magento com bons olhos e abraçarão a nova versão, enquanto autônomos e quem busca algo mais simples verá o novo Magento como um grande complicador e muitas desvantagens.

No final, a decisão é sua.

 

Referências
Magento 1.x End OF Life – not in 2018 – por Artūrs Krūze
Página de download das versões do Magento

Links Relacionados
Curso de Magento 2 (Criação de módulos)
Curso de Magento 1 (Criação de módulos e desenvolvimento backend)
Composer no Magento 1
8 coisas que o Desenvolvedor deve saber sobre Magento 2
Vale a pena aprender Magento 1 com a chegada do Magento 2?
Artigos sobre Magento 1
Artigos sobre Magento 2

Ricardo Martins

Desenvolvedor web há mais de 15 anos, desde 2011 totalmente especializado em Magento, ajudo na criação de conteúdo, e cursos online sobre Magento - hoje com mais de 7000 alunos de 97 países - e criador do módulo PagSeguro Transparente para Magento, usado em mais de 12 mil lojas.

Últimos posts por Ricardo Martins (exibir todos)

Assuntos: |
Comentários