CodeIgniter ainda vale a pena?

Olá.

Ultimamente tenho recebido com certa frequência esta pergunta: CodeIgniter ainda vale a pena?

No post de hoje gostaria de tentar explicar meu posicionamento a respeito desta pergunta.

Mas antes, vamos relembrar:

Pra que serve o CodeIgniter mesmo?

O CodeIgniter é um Framework para Desenvolvimento de Aplicações – um kit de ferramentas – para pessoas que constroem websites usando PHP.

Seu objetivo é permitir que você desenvolva projetos de um jeito muito mais rápido do que você faria se estivesse programando totalmente do zero.

Ele faz isso fornecendo um rico conjunto de bibliotecas mais comumente usadas para as tarefas mais necessárias, além de fornecer uma simples estrutura lógica de acesso à estas bibliotecas.

Em resumo: o CodeIgniter é um framework maleável que tenta lhe fornecer as ferramentas necessárias ao mesmo tempo que fica fora do caminho, sem lhe atrapalhar.

Essa é a definição que aparece logo no começo do User Guide e a partir daí podemos já chegar a uma conclusão se vale a pena ou não ainda usar o CodeIgniter.

Note que o principal foco do CodeIgniter é fornecer para você ferramentas que irão agilizar seu processo de desenvolvimento sem ficar interferindo em como você faz isto, ou seja, apesar de você usar o CodeIgniter, você ainda poderá usar as ferramentas nativas do PHP ou até mesmo soluções que você mesmo criou, sem que o CodeIgniter reclame.

Muitos perguntam também para mim se já não está na hora de abandonar o CodeIgniter e migrar para Laravel.

Confesso que mexi muito pouco ainda no Laravel.

Futuramente ainda pretendo aprender melhor a utilizá-lo, porém, como pouco que já mexi com ele, e também levando em conta relatos contados por colegas de trabalho meu que utilizam o Laravel frequentemente, consigo notar a principal diferença entre o CodeIgniter e Laravel.

Laravel é um excelente framework, não há dúvidas, possui uma comunidade extensa além de dezenas de bibliotecas prontas e centenas de maneiras de estendê-las para melhorar seu projeto, e, ao meu ver, talvez estas características sejam o melhor e o pior do Laravel.

Como assim?

Basicamente o que devemos levar em conta é o tamanho do projeto que iremos fazer.

Apesar de ser perfeitamente possível fazer um projeto grande usando CodeIgniter, talvez para algumas necessidades o CI não seja tão indicado, e então neste caso o Laravel entraria em cena.

Por exemplo: se sua aplicação precisar de ACL (Access Control List) ou se você precisar criar um RESTServer, sabemos que nativamente o CI não tem tais funcionalidades, e nem sei dizer se existirão na versão 4.0.

Nestes casos, se você já conhece Laravel, obviamente este framework deverá se utilizado para construir tal projeto, porém, caso você não precise de tantos recursos assim, pelo menos para mim isso é em torno de 99% dos casos, o CI será a melhor indicação, ou seja, se sua aplicação for pequena ou não precisar de tais funcionalidades, como mencionei acima, acredito ser desnecessário o uso do Laravel, pois você estaria utilizando um canhão para matar uma mosca.

O que eu mais gosto no CI é a simplicidade de instalação e configuração dele.

Basta colar o código no seu servidor, configurar um banco de dados, se for usar um, e pronto. Já pode começar a desenvolver.

Atualmente todos os projetos novos que desenvolvo eu uso o CodeIgniter, pelos motivos que mencionei acima.

Se precisar desenvolver algo mais robusto, quem sabe migre para o Laravel, mas por enquanto o CI continua me atendendo perfeitamente.

E a versão 4.0?

Esta versão ainda está na fase pre-alpha, ou seja, fica complicado até mesmo de testarmos ele para ver suas funcionalidades, pois muitas podem sair, e novas podem entrar, então, no momento, enquanto escrevo este artigo, é cedo para dizermos qual será o impacto que a versão 4.0 trará.

A única coisa que sabemos é que a estrutura lógica de utilizar irá mudar um pouco a partir da versão 4.0, o que é uma coisa boa, diga-se de passagem.

De qualquer modo, mesmo na versão 4.0, já foi dito pela equipe de desenvolvedores que a intenção não é deixar o CI 4.0 igual a um Laravel, pois caso isso ocorra, o CI irá perder a sua principal característica ao meu ver: a simplicidade de instalação e uso.

Veja abaixo pra quem é voltado o CodeIgniter 4.0

Se você quer um framework que:

  • Seja leve, rápido e fácil.
  • Tenha uma performance excepcional.
  • Precise de nenhuma ou quase nenhuma configuração.
  • Que não exija que você use linha de comando.
  • Que você não seja obrigado a seguir regras de código muito restritivas.
  • Que não possua bibliotecas monolíticas enormes como o PEAR.
  • Que você não seja forçado a aprender uma linguagem de templates (apesar que existe um parser de templates simples no CodeIgniter).
  • Fuja da complexidade, favorecendo soluções simples.
  • Tenha uma documentação clara e minuciosa.

Então o CodeIgniter é para você.

Note que as características acima são as mesmas da versão 3.0, ou seja, o CodeIgniter tenderá a continuar simples e poderoso ao nos ajudar a desenvolvermos nossas aplicações.

E pra deixar clara minha posição a respeito da pergunta se ainda vale a pena ou não usar o CodeIgniter, digo que neste momento estou prestes a iniciar as gravações do meu novo curso de CodeIgniter 3.x que espero lançar dentro de alguns meses.

Ou seja, eu não estaria lançando um curso novo de CodeIgniter se tivesse a intenção de deixar de usá-lo.

E digo mais. Este curso que irei lançar terá uma novidade que até hoje não vi ninguém ainda ensinar nos cursos padrão de CodeIgniter.

Cadastre-se aqui no site para ser um dos primeiros a saber as novidades que irei lançar neste curso.

Abraços

Fábio

Fábio S. Reszko

Sou Programador PHP desde 2006 e eu acredito sinceramente que programar usando um Framework PHP é a solução para os problemas de códigos desorganizados, difíceis de entender e de dar manutenção no futuro. Se você também acredita nisto, então fique à vontade em explorar meu blog.

Você pode gostar...