Angularjs: Um framework para facilitar sua vida

Olá pessoal.

Semana passada houve uma evento inusitado: Uma reunião do Google Developer Group da Bahia na UNIRB em Salvador e Marlon, que foi um dos organizadores do evento, entrou em contato comigo para que eu palestrasse sobre Angularjs. Para mim foi uma surpresa muito boa participar deste evento e poder colaborar com o mesmo. Daí nasceu a palestra “Angularjs: Um framework para facilitar sua vida”.

Houveram várias outras palestras. O Marlon Carvalho (@marlonscarvalho) fez uma palestra excepcional mostrando como é simples o desenvolvimento de extensões para o navegador Google Chrome. O porquê criar, as facilidades encontradas e outros pontos.

Logo após veio a palestra do Felipe Matheus, que veio falar sobre mundo Java e todas as possibilidades que uma linguagem multiplataforma pode proporcionar aos desenvolvedores, abordando desde o histórico até a etapa atual e novas idéias referentes ao ecossistema Java.

Após Felipe, chegou a minha vez. A palestra seria inicialmente um overview sobre o Framework da google, mostrando seus pontos fortes, seu paradigma de programação descritiva e outros pontos que fazem do angularjs a escolha ideal em projetos diversos. Os slides estão disponíveis no meu slideshare.

Evento muito bom e que agregou conteúdo a toda a comunidade (parabéns ao evento por sinal Marlon)! Logo após, graças ao amigo Jonata Weber, ocorreu um hangout descontraído sobre o Angularjs com o pessoal do DEV FSA de Feira de Santana, Bahia. Segue o vídeo do Hangout:
Criei também um repositório no github com os exemplos que foram mostrados na palestra. Dentre eles estão:
  • Exemplos de utilização de recursos, consumindo a API de buscas do Twitter;
  • Exemplos de diretivas, mostrando como criar tags e trabalhar o html como se fosse um arquivo xml;
  • Exemplos de utilização de data-binding, criando um micro editor online, onde o usuário cria os seus snippets e pode testá-los em tempo real, vendo a modificação(exemplo: onde possuir a tag <lorem></lorem> será inserido um texto do site lorem ipsum e assim por diante);
Link do repositório do projeto no Github: https://github.com/willmendesneto/palestra-angularjs;
Obrigado e até mais!

Codeigniter + Twig + Composer : Uma boa idéia

Olá a todos.

Em um projeto tive a necessidade de utilizar alguns recursos de um template engine e olhando alguns achei interessante trabalhar com o twig (http://twig.sensiolabs.org/).

Twig Template engine

Twig Template engine

Já existe uma biblioteca no Codeigniter para trabalhar com o Twig, o Codeigniter Twig (https://github.com/altrano/codeigniter-twig) que é de fácil acoplamento, basta fazer o download dos arquivos, inseri-los na aplicação e carregar no controller que vá usá-lo. Ele faz o processo de carregamento automático dos helpers inseridos no arquivo de autoload da aplicação.

application/libraries/Twig.php
Link do gist  : https://gist.github.com/4550897

application/config/twig.php
Link do gist : https://gist.github.com/4550897
Baixado os arquivos do projeto Codeigniter Twig no github e inseridos no projeto, vamos começar a integração Primeiro vamos inserir o composer na aplicação. Iremos criar a requisição do Twig no arquivos composer.json. Crie um arquivo composer.json na raíz do projeto com as informações:

composer.json
Link do gist : https://gist.github.com/4550979

Depois iremos inserir o código que vai chamar o arquivo de carregamento dos pacotes do composer no arquivo index.php na raíz do projeto.

No arquivo autoload.php (application/config/autoload.php) modifique o conteúdo do arquivo da linha 55 à 67 e insira a informação abaixo:

application/config/autoload.php
Link do gist : https://gist.github.com/4551017

O código do controller da aplicação:

application/controllers/welcome.php
Link do gist: https://gist.github.com/4550963

Agora os templates. O Twig tem algumas funções nativas que podem ser muito úteis. Criaremos 2 arquivos na pasta “application/views”:
  • template.html.twig – Template padrão da aplicação
  • index.html.twig – Arquivo com o conteúdo específico da página;
Como ficou o código das views:
template.html.twig
application/views/template.html.twig
index.html.twig

application/views/index.html.twig
Link do gist : https://gist.github.com/4551017

Agora uma observação:
Quando for utilizar algum helper que gere html (form_helper, por exemplo), utilize o método com o sufixo |raw
 Chamada da função form_open(); do helper
     {{ form_open("/login")|raw }}
ao invés de
     form_open("/login");
Link do Gist com o código dos arquivos utilizados no projeto:
Documentação do Twig:
Valeu e até mais!