CodeIgniter X Laravel - Prós e contras de cada framework

08/06/2017

Com a popularidade dos frameworks PHP e sua importância no mercado de desenvolvimento de aplicações web , resolvemos fazer esse artigo mostrando os prós e contras em se utilizar o  codeingniter ou laravel em seus projetos. Optamos por abordar esses dois em particular pois são os mais utilizados  no mercado atualmente  . Vamos lá

Eu trabalhei com CodeIgniter por alguns anos, e com o tempo mudei para o Laravel por questão de curiosidade mesmo, pois o CodeIgniter supria todas as minhas necessidades. Eu acho o CodeIgniter um ótimo framework, e a maioria dos meus projetos continuam com ele como base, importante ressaltar isso. Apenas comecei a utilizar o Laravel em projetos novos, e em alguns casos, reescrevi projetos que estavam em CodeIgniter para utilizar o Laravel como framework.

Eu vou fazer um detalhamento da minha experiência como um desenvolvedor que já trabalhava com CodeIgniter e ai resolveu aprender Laravel, e após isso vou abordar os prós e contras de cada framework, e após isso, passar minha opinião de quem, e quando, se deve usar o CodeIgniter ou o Laravel.

Como eu já disse, eu comecei a aprender o Laravel por curiosidade. Eu li umas matérias interessantes sobre ele, e resolvi aprender. No começo confesso que, acostumado com a simplicidade do CodeIgniter, me senti um pouco intimidado com a quantidade de funcionalidades que o Laravel proporcionava, e a complexidade que essas funcionalidades traziam por consequência. Mas com uma semana de estudo já estava começando a ver recursos nele que facilitariam muito a minha vida como Desenvolvedor. E foi isso que me fez perceber algo que fez eu querer estudar muito mais o framework: Eu não sabia o que eu precisava.

Ou seja, eu só fui perceber a utilidade dos recursos que o Laravel proporcionava quando comecei a estudar, e percebi mais coisas ainda quando comecei a utilizar o framework na prática para desenvolver os meus projetos! E hoje em dia não consigo me ver trabalhando sem estas facilidades em mãos.

Tendo dito isso, vamos aos prós e contras dos frameworks.

Codeigniter

Prós

  1. Simplicidade de instalação
  2. Facilidade de utilização
  3. Fácil implementação em hospedagens comuns
  4. Não precisa da linha de comando
  5. Compatibilidade com servidores
  6. Desempenho ótimo
  7. Documentação ótima
  8. Fácil de encontrar soluções na internet

Contras

  1. Desatualizado quanto as tendências do PHP, e dos desenvolvedores
  2. Suporte com versões novas desanimador
  3. Tudo o que há de novo no Laravel como diferencial acaba virando um "Contra" o CodeIgniter


O CodeIgniter é um framework simples e fácil de usar, não requer familiaridade com a linha de comando para sua utilização. Instalar um projeto feito com CodeIgniter em hospedagens comuns é muito simples e prático. A documentação é objetiva e clara e contém praticamente tudo o que você precisará para desenvolver seu projeto.

Em contrapartida ele ficou praticamente abandonado por alguns anos, a empresa responsável por ele mudou várias vezes, o que o deixou desatualizado em comparação ao Laravel e outros frameworks mais modernos.

Eu parei de atualizar o framework na versão 2, por conta disso não conheço a versão 3 que está disponível hoje em dia. Porém a nova versão, apesar de trazer muitas novidades, melhorias de compatibilidade e correções de problemas, se mantém em essencial o mesmo CodeIgniter de sempre. O que de certa forma é uma coisa boa para quem está trabalhando com o framework e quer atualizar os seus projetos. Porém acaba o mantendo carente em recursos se comparado aos concorrentes mais robustos.

É importante ressaltar que a intenção do CodeIgniter é ser simples e compatível com a maior quantidade de versões dos softwares, facilitando sua instalação na maioria de servidores possíveis. E não ser robusto e cheio de funcionalidades e novidades.

Traduzindo livremente a introdução da documentação do CodeIgniter 3:

"CodeIgniter é certo para você se:

  1. Você quer um framework pequeno e simples.
  2. Você precisa de performance excepcional.
  3. Você precisa de vasta compatibilidade com contas de hospedagens padrão para rodar uma variedade de versões do PHP e configurações.
  4. Você quer um framework que requer praticamente zero configuração.
  5. Você quer um framework que não requer utilização da linha de comando.
  6. Você quer um framework que não requer que você adera a regras de desenvolvimento restritivas.
  7. Você não está interessado em bibliotecas monolíticas de grande escala como PEAR.
  8. Você não quer ser forçado a aprender uma linguagem de template (apesar de um analisador de templates estar opcionalmente disponível se você desejar um).
  9. Você evita complexidades, favorecendo soluções simples.
  10. Você precisa de documentação clara e completa"

Fonte: Docs do CodeIgniter

Laravel

Prós

  • Implementação nativa do Composer
  • Fácil escalabilidade do sistema
  • Ferramentas e recursos formam um workflow funcional e completo
  • Facilidade de manutenção do projeto
  • Linha de comando
  • Documentação ótima
  • Fácil de encontrar soluções na internet
  • Blade
  • Elixir
  • Homestead
  • Migrations
  • Artisan
Contras
  • Complexidade da estrutura de trabalho dificulta a instalação em geral
  • Rodar Laravel em hospedagens comuns não é produtivo
  • Quantidade de recursos reflete em uma quantidade de conteúdo maior para se aprender


O Laravel é um framework robusto que integra diversas ferramentas e módulos que já existem na comunidade por padrão em sua estrutura. Apesar de ser mais robusto, e oferecer um workflow que pode assustar no inicio: é extremamente fácil de se trabalhar com o Laravel, e tudo é feito da maneira mais simples possível. A lista de prós para o Laravel é até dificil de montar pois todos os módulos que ele incorpora podem ser contados como um pró, acima eu listei apenas alguns deles.

A implementação do Composer, facilita a manutenção dos pacotes instalados no seu projeto. A escalabilidade que eu menciono, se refere ao fato da organização do Laravel facilitar o desenvolvimento de projetos grandes. Os módulos são todos bem estruturados, você começa a desenvolver coisas que ajudam você a desenvolver e trabalhar no seu projeto, ao contrário de apenas desenvolver as regras de negócio.

A falta de uma linha de comando é citada como um pró na lista do CodeIgniter, e em verdade ela pode ser um pouco intimidadora inicialmente. Mas isso é apenas no inicio mesmo, quando você se acostuma com os comandos do Artisan e os incorpora no seu dia a dia, rapidamente se entende a utilidade deles e fica dificil pensar como se conseguia viver sem eles.

O Blade, para quem não conhece, é o compilador de templates do Laravel, que serve como uma espécie de tradutor de templates para o PHP.

O Elixir é uma API que facilita o desenvolvimento de scripts para compilar seus scripts e styles em um arquivo só, versionar eles. Já aconteceu com você de lançar um script novo com novas funcionalidades, mas o navegador não carregar o novo script pois o antigo está em cache? Pois então, o versionamento serve exatamente para resolver esse problema, o elixir cria um nome de arquivo compilado unico para as versões dos seus scripts/styles e o navegador atualiza automaticamente pois o nome é diferente entre as versões.

O Homestead é um facilitador do Vagrant que traz consigo uma maquina virtual com linux instalado e configurado. Tudo pronto para que você possa usar seu projeto Laravel rodando com apenas um comando. Para quem não sabe, Vagrant é um facilitador para se criar ambientes de desenvolvimento dentro de máquinas virtuais. Eu trabalhei muito tempo utilizando o linux, e nunca senti a necessidade de utilizar o Homestead, hoje estou usando uma instalação do Windows 10 para trabalhar, e utilizando ferramentas como WAMP estava experenciando diversos bugs nos meus projetos que estavam tirando a produtividade do desenvolvimento. Implementei o Homestead, e pronto. Estou novamente com a estabilidade e facilidades do Linux em mãos.

As Migrations são o controle de versão do seu banco de dados, muita gente (eu incluso) acaba implementando algo parecido as Migrations nos projetos com código escrito todo na mão. A vantagem das migrations do Laravel é que elas vem amparadas pelo Artisan, que facilita o processo na hora de atualizar o servidor.

Apesar de todos os pontos positivos, todos esses pacotes acabam trazendo uma complexidade intimidadora aos projetos. Além disso, rodar o Laravel em serviços de hospedagem comuns acaba se tornando inviável, pois você não terá acesso a muitas das ferramentas que ele disponibiliza para facilitar o desenvolvimento.

Aqui no ProgramadorDeSucesso estamos disponibilizando cursos para Laravel , tanto gratuito quanto pagos(Nesse abordar assuntos mais avançados).

Conclusão

Comparando os dois frameworks diretamente dá pra ver que cada um tem o seu foco, e que são objetivos diferentes. O CodeIgniter é um framework mais leve, de fácil instalação e de fácil implementação em hospedagens simples por conta de sua vasta compatibilidade.

Já o Laravel é um framework mais robusto composto por diversos pacotes de terceiros, e a intenção dele é fornecer tudo o que um desenvolvedor precisa para criar seus projetos. Tudo isso vem com um custo que é uma complexidade maior, e um desempenho pior se comparado com o CodeIgniter.

Se você já trabalha com CodeIgniter, recomendo aprender o Laravel para tirar suas próprias conclusões. É mais fácil do que parece.

Se você está iniciando no mundo PHP e não sabe se aprende CodeIgniter ou Laravel, o CodeIgniter é mais rápido para se entender como funciona o PHP. O Laravel é mais completo e requer mais aprendizado. Porém o Laravel não obriga o desenvolvedor a utilizar suas diversas funcionalidades, então é possível ir aprendendo as funcionalidades dele aos poucos, conforme for aprendendo.

Uma sugestão para rodar o Laravel em um servidor: a melhor opção é contratar um servidor onde você tenha acesso direto a ele. Quem tiver interesse em se aprofundar nisso, pesquisar sobre: SaaS, IaaS e PaaS.

De uma forma simplificada, esses servidores te permitem o acesso direto a ele (via linha de comando normalmente), dando a você a flexibilidade de montar o servidor do jeito que você quer trabalhar.

Exemplos deste tipo de serviço:

  • AWS da Amazon (ec2)
  • Digital Ocean
  • Jelastic da Locaweb

Gostou do artigo e tem interesse em fazer um curso de Laravel ?  Então acesse um dos links abaixo . 

           Curso básico de laravel (Grátis) 

       >> Curso avançado de Laravel <<  




  • Mais recentes 

Laravel é um framework que tem se tornado bastante popular no mundo do PHP. Uma das vantagens dele sobre outros frameworks é que ele permite que seu código fique limpo e fluído, especialmente pela forma como ele trata as dependências e outras ajudas. Mas isso é assunto para outro momento. Agora, queria falar um pouco sobre a manipulação...

Com a popularidade dos frameworks PHP e sua importância no mercado de desenvolvimento de aplicações web , resolvemos fazer esse artigo mostrando os prós e contras em se utilizar o codeingniter ou laravel em seus projetos. Optamos por abordar esses dois em particular pois são os mais utilizados no mercado atualmente . Vamos lá !

Apesar do PHP já existir a um bom tempo , muitas são as coisas que se podem fazer com essa linguagem e que ainda são desconhecidas por muitos programadores iniciantes ou até mesmo para aqueles que já trabalham com ela a varios anos .


Seja o primeiro a ler as novidades!

© 2017 Programador de Sucesso - Todos os direitos reservados
Desenvolvido por Webnode
Crie seu site grátis! Este site foi criado com Webnode. Crie um grátis para você também! Comece agora