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...
CodeIgniter X Laravel - Prós e contras de cada framework

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
- Simplicidade de instalação
- Facilidade de utilização
- Fácil implementação em hospedagens comuns
- Não precisa da linha de comando
- Compatibilidade com servidores
- Desempenho ótimo
- Documentação ótima
- Fácil de encontrar soluções na internet
Contras
- Desatualizado quanto as tendências do PHP, e dos desenvolvedores
- Suporte com versões novas desanimador
- 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:
- Você quer um framework pequeno e simples.
- Você precisa de performance excepcional.
- Você precisa de vasta compatibilidade com contas de hospedagens padrão para rodar uma variedade de versões do PHP e configurações.
- Você quer um framework que requer praticamente zero configuração.
- Você quer um framework que não requer utilização da linha de comando.
- Você quer um framework que não requer que você adera a regras de desenvolvimento restritivas.
- Você não está interessado em bibliotecas monolíticas de grande escala como PEAR.
- 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).
- Você evita complexidades, favorecendo soluções simples.
- 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
- 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
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á !
8 Dicas de PHP que você deveria conhecer
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 .

