quinta-feira, 17 de janeiro de 2013

Boilerplate: O front-end mais popular do mundo


O que é?


"Boilerplate HTML5 ajuda a construir aplicações web ou sites rápidos, robustos e adaptáveis."

É uma estrutura, que possui um conjunto de frameworks visuais para ajudar no desenvolvimento da interface da sua aplicação ou site.

Como isso pode ajudar?


Sabe aquele projeto que te faz ficar mais horas que o normal, na frente do computador, fazendo mil e um testes com um arquivo CSS, para fazer a interface ficar um pouquinho mais fluida, ou para fazer a interface se adaptar a resoluções muito baixas, ou até mesmo adaptar aquele layout que funciona em todos os navegadores menos no IE(Internet Explorer)?

Pois bem, esqueça tudo isso, agora usando o Boilerplate como base para seu front-end todos esses problemas não existem mais, ou melhor, existem mas não vão mais te incomodar.

Mas é só isso?


Não...

O Boilerplate já traz uma main page ou master page com tudo carregado e integrado. Algumas das coisas que o já vem pronto e carregado para você:

  • Mobile-first Responsive
  • Responsive Bootstrap 2.2.1
  • Modernizr
  • jQuery
  • IE Classes
  • Chrome Frame
  • Google Analytics
  • .htaccess
  • Favicon
  • Apple Touch Icons
  • plugins.js
  • Robots.txt
  • Humans.txt
  • 404 Page
  • Adobe Cross Domain

Muitas dessas coisas, não tem mistério para incluir na aplicação, porem só em pensar no tempo que economizamos pensando, fazendo download e verificando a compatibilidade, já vale a pena usar.

Quem usa isso?


Google, Microsoft, NASA, Nike, Barack Obama,Mercedes-Benz, ITV News, BAE Systems, Creative Commons, Australia Post, Entertainment Weekly,Racing Green

Empresinhas né?

Por onde começar:

Segue o site oficial do Boilerplate:



Comentem e perguntem, ficarei feliz em ajudar no que puder.

terça-feira, 15 de janeiro de 2013

Simple HTML DOM: Mineração de dados com PHP


O que é?


Nada mais é que um parser HTML escrito em PHP5+, que permite manipular HTML de uma forma incrivelmente fácil!

No que isso pode ajudar?


Dentre todas as possibilidades, posso citar um exemplo bem simples, que me veio em mente logo que conheci essa biblioteca.
Um tempo atras(meados de 2011), freqüentemente eu e meus colegas de trabalho fazíamos bolões da mega-sena, mas fazíamos muitos jogos que se repetiam durante varias rodadas, então nós precisávamos de um aplicativo para controlar dinamicamente sem que precisássemos conferir todos os jogos a cada rodada. Foi aí que veio a ideia... Vamos criar um software! UAUUU...
Após uma correria de 3 dias, fizemos um sisteminha.

Nosso trabalho para usar esse tal sisteminha era:

1) fazer o download do arquivo dos resultados da mega (http://www1.caixa.gov.br/loterias/loterias/megasena/download.asp);

2) Descompactar o zip;

3) Importar o arquivo xls (era xls na época) no sistema;

4) E então verificar se tínhamos ganho algo;

Muito trabalho, não acha???

Se conhecêssemos esse "Simple HTML DOM" naquela época, teríamos somente o trabalho de acessar o sisteminha e verificar se tínhamos ganho algo.

Porque??? Como???

Simples...

Com essa biblioteca(Simple HTML DOM) poderiamos fazer o nosso sistema acessar o site dos resultados da mega-sena(http://www1.caixa.gov.br/loterias/loterias/megasena/megasena_resultado.asp) e pegar os resultados em tempo real da própria tela, então o sistema analisa, compara com os nossos jogos e logo mostra se ganhamos algo.

Não entendeu nada?


Ok...

Vamos a prática de um outro exemplo tirado do próprio site da biblioteca e traduzido:

web_crawl_google.php:
------

// Cria o DOM da URL (Transforma em um objeto PHP)
$html = file_get_html('http://www.google.com/');

// Procura todas as imagens da pagina principal do Google,

// para cada elemento imprime a propriedade src.
// Exemplo: <img src="pastaX/img.jpg">   iria imprimir    pastaX/img.jpg
foreach($html->find('img') as $element) {
           echo $element->src . '<br>';
}

// Busca todos os links e também imprime na tela.
foreach($html->find('a') as $element)  {
           echo $element->href . '<br>';
}

------

Ou seja... Por de baixo dos panos, o PHP foi la no site do Google, pegou todo o HTML gerado que por sua vez foi manipulado com o código acima, que por fim apresenta pro usuário final somente os SRC das imagens e os HREF dos links.

Mas só serve para isso?


Claro que não... Dê asas a sua imaginação e use para o que quiser!

Lembre-se que você pode pegar elementos específicos de um site e trata-los da forma que você quiser.

Você pode por exemplo...


Pegar informações do seu veículo no site do Detran, se sair alguma multa o sistema envia um email para você avisando... Legal né???

Por onde começo?


Acesse o site da biblioteca, la você vai encontrar vários exemplos e o download, que é o mais importante.

http://simplehtmldom.sourceforge.net/


Então faça algo legal e me conte nos comentários!


Agradecimentos:


Em especial ao Jean Farias Roldão que me apresentou a biblioteca.


Comentem e perguntem, ficarei feliz em ajudar no que puder.

domingo, 13 de janeiro de 2013

Slim Framework: RESTful sem complicações

O que é?


É um framework PHP que ajuda no desenvolvimento rápido de aplicações e APIs, baseadas ou não em REST.

O que é REST?


A REST (Transferência do Estado Representativo) é pretendida como uma imagem do design da aplicação se comportará: uma rede de websites (um estado virtual), onde o usuário progride com uma aplicação selecionando as ligações (transições do estado), tendo como resultado a página seguinte (que representa o estado seguinte da aplicação) que está sendo transferida ao usuário e apresentada para seu uso. Dr.Roy Fielding


Resumindo RESTful...


O termo se usa no sentido mais amplo para descrever qualquer interface web simples que utiliza XML e HTTP (ou YAML, JSON, ou texto puro), sem as abstrações adicionais dos protocolos baseados em padrões de trocas de mensagem como o protocolo de serviços web SOAP.

No que o Slim Framework pode ajudar?


Ele ajuda a construir rapidamente aplicações baseadas em REST. Ele é tão fácil de usar, que você pode integra-lo com qualquer framework que ja esteja usando ou então desenvolver um middleware para sua aplicação.

Mas como isso funciona?


Digamos que você queira gerar listas dinâmicas em seu site ou sistema. Lista de clientes, fornecedores, produtos, etc... Mas você não quer que isso retorne em apenas uma requisição AJAX, pois vai precisar dessas informações em diversas telas, em algumas somente clientes e produtos, em outra fornecedores e produtos, outra somente com clientes... Esse tipo de coisa exige um pouco mais de disciplina e organização de código.

É aí que entra nosso "amigo" Slim Framework!

Você  mapeia onde devem cair as requisições e ele controla tudo. Respondendo conforme necessário.

Por exemplo:

Você cria um arquivo o qual vai mapear as requisições:
mapa.php


    <?php
    $app = new \Slim\Slim();

    $app->get('/clientes/:idade', function ($idade) {
        echo json_encode($bancoDeDados->buscaClientes($idade));
    });
    
    $app->get('/fornecedores/', function () {
        echo json_encode($bancoDeDados->buscaFornecedores());
    });
    
    $app->get('/produtos/:letra_inicial', function ($letra_inicial) {
        echo json_encode($bancoDeDados->buscaProdutos($letra_inicial);
    });

    $app->run();
    ?>

Quando alguma requisição HTTP for feita para "http://suaaplicacao.com/clientes/20", a resposta vai ser uma estrutura JSON com todos os clientes que tem 20 anos de idade.

A mesma coisa vai acontecer com as outras, "http://suaaplicacao.com/fornecedores/" e "http://suaaplicacao.com/produtos/g";

Isso são apenas exemplos de requisição por GET.

Com o Slim, alem de GET, podemos mapear com POST, DELETE, PUT, entre outros.

Por onde começar?


Acesse o site oficial do projeto: http://www.slimframework.com/
La você vai encontrar tudo que precisa.

Comentem e perguntem, ficarei feliz em ajudar no que eu puder.

CodeIgniter: Lucre mais com ele.

O início...


CodeIgniter foi o primeiro Framework php com o qual eu tive contato. Graças a ele me interessei a entrar no mundo dos frameworks e estudar tudo que tem disponível no mercado para ajudar a fazer meu trabalho.

Porque reinventar a roda?


Desenvolvedores mais novos, acabam por querer fazer tudo "no braço" por falta de conhecimento para começar a usar algum framework, e os mais antigos fazem o mesmo, para manter um certo "status" de: "Não preciso dessas coisas prontas". Porem, se parar para pensar um pouco mais, tudo isso não passa de preguiça e EGO. Quando temos algo pronto e colaborativo(Código aberto) que se encaixe em algum projeto, devemos usar. Essa atitude traz qualidade na maioria dos casos e agrega valor ao projeto, pois alem de diminuir o tempo de desenvolvimento, ajuda a manter o foco no desenvolvimento da regra de negócio.

O desenvolvimento de software/site é como construir algo complexo, como um carro por exemplo. Se for construir todas as peças para cada carro que for fazer, acaba gastando muito mais tempo e dinheiro do que se comprasse algumas peças genéricas de outras empresas. Mas claro, se você realmente está disposto a reinventar a roda, tenha a certeza que seu lucro financeiro será menor...

Compatibilidade


Com a sua facilidade e flexibilidade, é possível usar esse framework em qualquer versão do PHP a partir do PHP 4.x. Não que isso seja um baita diferencial, mas digamos que ajuda, de certa forma.

Para que ele serve?


Dos 2 anos de experiência que tenho com o CodeIgniter, posso dizer que ele serviu para tudo até agora. Sites e sistemas se tornaram um "mel na chupeta" de fazer.

Rápido de aprender


Em menos de uma semana de estudos eu já tinha condições de fazer qualquer tipo de projeto para WEB.

Documentação


A documentação é clara e super objetiva, pois mantem um padrão de estrutura de informação fantástica e inovadora (na minha opinião), isso torna tudo muito prático na hora de consultar algo sobre determinada biblioteca que o compõe.

Segue o link da documentação:
http://ellislab.com/codeigniter/user-guide/

Como começar?


Passo 1:
Faça download da ultima versão do FW no link:
http://ellislab.com/codeigniter/download

Passo 2:
Descompacte o arquivo na pasta de seu servidor WEB.

Passo 3:
Acesse a pasta através de seu navegador WEB. Exemplo: "http://localhost/pasta_codeigniter/index.php".

Passo 4:
Leia a documentação do CodeIgniter, na parte que fala a respeito de MVC.

Passo 5:
Seja feliz, e aumente seu lucro nos seus projetos.

Comentem e perguntem, ficarei feliz em ajudar no que eu puder.