sábado, 22 de novembro de 2014

Encarando as Frameworks: Codeigniter e Bootstrap

Quando você cria um site, todo seu conteúdo e imagens, tabelas, botões, formulários, menus, etc. Faz parte do chamado layout.
Layout, também chamado de front-end nada mais é do que o visual do seu site, toda aquela beleza que o usuário vai visualizar.
Antigamente quando não existia ferramentas tão modernas como as de hoje em dia para desenvolver/desenhar o front-end do site, os desenvolvedores o faziam com tabela, criando visuais quadrados e iguais, praticamente.
O que mudava era apenas as cores, por que as tabelas são quadradas, e esse era o limite do desenvolvimento/desenho front-end, não passava de tabelas e imagens montadas umas com as outras para criar o visual final do site.
Como a maioria dos usuários utilizava o Internet Explorer no desktop (computador de casa), eles não tinham que se preocupar com padrões e otimização para outros browsers. O que o usuário criava no IE, não precisava reformular nem melhorar nada para outros browsers, até por que não existiam.
Depois de algum tempo, surgiu o Firefox, que deixou o IE no chinelo. O Firefox tinha uma interface bonita, mais limpa, tinha mais espaço para a tela e não para as barras de favorito, histórico, etc. (como no IE.).
O Firefox tem sua própria engine (motor), isso é, tem seu próprio jeito de interpretar e exibir os comandos HTML e CSS.
Com isso, os desenvolvedores agora tinham algumas preocupações: nem sempre o que era exibido no IE, era exibido exatamente no Firefox, ou vice-versa. Algumas colunas mais para esquerda, outras mais para baixo, etc.
Agora os programadores tinham que lidar com as diferenças de interpretação de cada navegador, criando assim blocos de comandos no HTML e CSS, de modo que fique idêntico em ambos os navegadores.
Depois que o Google Chrome foi lançado, agora eram 3 navegadores principais diferentes para fazer com que o site ficasse igual em todos. A partir daí já não era mais tabelas quadradas e imagens para os sites.
Estávamos quase na ponta do CSS3, já tínhamos muitas tecnologias de programação web. Muitos utilizaram várias artimanhas para fazer com que o que fosse exibido em um, fosse exibido em todos.
É aí que entra as frameworks.
 
Codeigniter é considerado um dos melhores frameworks.

O CodeIgniter mudou a minha vida
A partir de uma época em que era necessário você “formatar” o seu CSS de modo que tudo que você programasse ficasse idêntico em todos os navegadores, foram surgindo os frameworks.
Framework em programação nada mais é do que um conjunto de arquivos HTML,CSS,JS, etc. Que servem de auxílio para nós programadores atribuir um padrão de código, organizar melhor nossos arquivos de programação, e também economizar muitas linhas de código.
Quando eu comecei a programar PHP (há muitos anos atrás) eu não tinha muito conhecimento de frameworks. A maioria dos sites que eu via  eram feitos com tabelas, muitas artimanhas e muitos erros de CSS.
E toda vez que eu ia criar um site novo, era a mesma coisa, pegava o arquivo de configuração no banco de dados e copiava pra pasta do projeto, o arquivo de configuração era responsável por conectar no banco e selecionar o banco correspondente.
E era isso, eu (e mais milhões de pessoas) tinha(mos) muitas brechas de código, fazendo com que se a gente criasse um site importante, ficasse fácil a invasão do mesmo.
E foi pensando em melhorar a segurança, organização de código e agilidade dos códigos que eu procurei aprender sobre frameworks.
De cara eu encontrei o CodeIgniter, foi amor a primeira vista, quando comecei a ler o manual (é, eu sou daqueles que pega a engine, o manual e sai dali sabendo de tudo) eu fiquei impressionado com as funções que ele tinha.
Tinha URL Amigável (eu quebrava a cara pra fazer isso)
Url amigável para quem não sabe, é quando você deixa o endereço atual da página de forma que fique fácil memorizar, que fique amigável para lembrar depois.
seudominioaqui.com/loja.php?cat=canetas&id=10274 - isso aqui não é amigável.
seudominioaqui.com/loja/canetas/caneta-azul-e-verde - isso é uma url bem amigável.
O CodeIgniter por padrão já fazia isso, era uma beleza, meus olhos brilharam quando vi a capacidade dessa framework e o quanto ela iria agilizar meu processo de desenvolvimento.
Ele tinha uma estrutura de arquivos que deixava meu site totalmente bem organizado, a estrutura chamada M.V.C. (Model View Controller).
O conceito MVC faz com que o seu site rode mais rápido, usando o desempenho apenas com o que realmente é necessário.
Na pasta Model, você colocaria os arquivos de modelo que iriam ter funções que retornariam dados vindos do banco de dados. Isso era ótimo, por que você não precisaria ter 1 arquivo, e toda vez que fosse conectar tivesse que carregar tudo daquele arquivo para pegar 1 dado, ou ter que fazer a query no próprio índex.php (o que é uma péssima prática).
Na pasta View, você colocaria os arquivos de front-end (muito mais organizado), arquivos que eram responsáveis apenas por exibir as informações. Ele capturava os dados do Controller, e fazia com que os arquivos se tornassem dinâmicos, exibindo apenas o HTML.

Na pasta Controller, basicamente você guardaria todas as “pastas” do site, em formato PHP (o CodeIgniter automaticamente faz a estrutura dos arquivos de modo que os arquivos PHP na pasta Controller se tornem pastas e se comuniquem com as bibliotecas, e por ai vai.) e é responsável por dizer o que vai aonde.
Por exemplo, no Controller “principal”, tinha uma função “índex”, essa função seria chamada automaticamente caso o usuário acessasse “seusite.com/principal” ou se esse fosse o Controller principal do site (que pode ser atribuído um controlador para ser exibido no diretório raiz).
Dentro da função índex, você iria poder se comunicar com o model, chamando eles e fazendo verificações no banco, ou chamando views para exibir conteúdo no site, passando parâmetros dinâmicos através do Controller, como por exemplo o título da página, poderia fazer com que o arquivo estático de view mudasse o título vindo do Controller.
Entre outras funcionalidades do CodeIgniter, como biblioteca para gerenciar SESSIONS, biblioteca para auxiliar no gerenciamento de GETS e POSTS de modo seguro, biblioteca para auxiliar em upload de imagens e arquivos de modo seguro e bem automatizado (ao mesmo tempo totalmente personalizável), etc.
Eu percebi que o CodeIgniter era a melhor ferramenta para eu programar o back-end do meu site.
Back-end para quem não sabe, é toda a programação que o usuário final não vê. Como as requisições GET e POST, as validações de formulário, comandos de laço, estruturas condicionais, verificações de sessão, e etc.
Mas faltava algo para terminar de completar minha vida, estava faltando uma framework front-end, para casar logo tudo de uma vez.
O Bootstrap foi o tchan
O Bootstrap era o par perfeito, a colméia da abelha, o nariz do palhaço, a luva da mão (ta, já chega.) que eu precisava para poder completar tudo.
O Bootstrap para quem não sabe, é uma biblioteca (conjunto de arquivos) que auxiliava na programação front-end, já formatava automaticamente seu CSS, fazendo com que ficasse responsivo (dava pra visualizar o site no celular de boa), otimizado e compatível com todos os browsers.
O lado ótimo do Bootstrap é que ele é feito pela equipe do Twitter (sim, Twitter), o que dava pra confiar e reconhecer que era uma ferramenta Ó T I M A!
Pensando nisso, resolvi casar os dois e integrei o Bootstrap no CodeIgniter, fiz um pacote, e eu tinha tudo que precisava na minha vida, framework para auxiliar o back-end do site, e outra framework para auxiliar no front-end do site.
Quando for iniciar seu projeto, coloque os arquivos da pasta BootIgniter no diretório criado no htdocs, ou onde preferir.
Dentro estão o arquivo índex.php (você nunca deve mexer aqui), o diretório Application, System e Assets (é aqui q você vai colocar os arquivos terceiros do site, como CSS, JS, XML e imagens, etc.)
Após colocar os arquivos na pasta do FTP ou na pasta do projeto no Htdocs, já pode ir olhar no browser, está pronto-para-usar.
Caso você ainda não conheça o CodeIgniter ou o Bootstrap, seja ousado, abra os arquivos (só não altere os arquivos índex.php na pasta principal nem os arquivos da pasta system), faça como eu fiz: edite, teste, veja o que acontece, olhe no manual, teste de novo.
Abaixo o endereço das duas frameworks para você conhecer mais e acessar o manual delas.
Site do CodeIgniter: www.codeigniter.com/user_guide/





0 comentários:

Postar um comentário