O que de fato é o Composer?

logo-composer-transparentVamos entender um pouco o que realmente é o Composer e qual sua utilidade! Inclusive porque todos os frameworks atuais estão utilizando esse tal de Composer.

O Composer nada mais é que um instalador de dependências!

Mas espera, como assim dependências? Que raios são dependências?

Um framework é uma série de lib’s(Library ou bibliotecas de códigos) com ferramentas e camadas de abstrações no qual você pode se utilizar para aumentar a segurança, facilidade de manutenção, velocidade de desenvolvimento e homogenização do seu aplicativo.

Tá, mas e o que o Composer tem haver com isso?

Atualmente os frameworks web cresceram muito, então as suas lib’s acabam ficando pesadas e elas são atualizadas constantemente. Pensando nisso o Composer é uma ferramenta na qual você instala e atualiza lib’s de um determinado framework ou ferramenta.

Vamos agora trazer essa ideia de dependências para o Laravel 4.

Para iniciar um desenvolvimento você não precisa baixar o Laravel 4 inteiro, com todas as lib’s. Basta apenas baixar a estrutura de arquivos padrão e iniciar seu desenvolvimento, quando for necessário interpretar/compilar o código para ver o resultado então você baixa as lib’s do Laravel usando o Composer porque elas são necessárias para interpretação/compilação do código.

Para fazer isso tudo o Composer se utiliza de um arquivo ‘.json‘ no qual ele verifica quais lib’s devem ser instaladas ou atualizadas.

Podemos por exemplo ver o Composer.phar ou Composer.php na pasta raiz de muitos frameworks. Então para você instalar as lib’s deste framework sabendo que ele usa o Composer basta mandar o comando no terminal:

1
php Composer.php install

Para atualizar o próprio composer:

1
php Composer.php self-update

Caso existam atualizações no seu framework e você gostaria de atualiza-lo (Lembrando que você precisa ter instalado ele primeiro):

1
php Composer.php update

Mas e se uso Windows? Como vou fazer para interpretar/compilar esse arquivo do Composer? Bom meu amigo, você deve instalar o PHP no seu Windows e configura-lo para chamar a função de interpretação/compilação no prompt de comando do Windows!

Para quem usa Windows isso fica bem difícil mesmo, então indico instalarem uma VMWare (VMWare Player é FREE) com o Linux!

Fonte: Laravel Brasil

 

Anúncios

RUP – Rational Unified Process (Processo Unificado Rational)

Resumindo:
RUP é um framework para desenvolvimento de software criado pela 
empresa Rational, na década de 90. 
Tem como objetivo oferecer um processo de desenvolvimento 
“bem definido” e “bem gerido”

Desenvolvimento InterativoMas afinal o que é o RUP ?

RUP é um processo da engenharia de software que fornece uma abordagem disciplinada para assumir tarefas e responsabilidades dentro de uma organização de desenvolvimento, cujo objetivo é assegurar a produção de software de alta qualidade dentro de prazos e orçamentos previsíveis (Kruchten 2003, pág. 14). Derivado dos trabalhos sobre UML e do Processo Unificado de Desenvolvimento de Software, ele traz elementos de todos os modelos genéricos de processo, apoia a iteração e ilustra boas práticas de especificação e projeto (Sommervillie 2007, pág. 54). Ele captura seis das melhores práticas no desenvolvimento de software de forma satisfatória para uma grande faixa de projetos e organizações (Krutchten 2003, pág. 14).

As melhores práticas abordadas são as seguintes (Sommerville 2007, pág. 56):

1. Desenvolver o software iterativamente: planejar os incrementos de software com base nas prioridades do cliente, desenvolver e entregar o mais cedo possível às características de sistema de maior prioridade no processo de desenvolvimento.

2. Gerenciar Requisitos: documentar explicitamente os requisitos do cliente e manter o acompanhamento das mudanças desses requisitos. Analisar o impacto das mudanças no sistema antes de aceitá-las.

3. Usar arquiteturas baseadas em componentes: Estruturar a arquitetura do sistema com componentes, reduzindo a quantidade de software a ser desenvolvido e, consequentemente, reduzir custos e riscos.

4. Modelar software visualmente: usar modelos gráficos de UML para apresentar as visões estática e dinâmica do software.

5. Verificar a qualidade do software: garantir que o software atenda aos padrões de qualidade da organização.

6. Controlar as mudanças do software: gerenciar as mudanças do software, usando um sistema de gerenciamento de mudanças, procedimentos e ferramentas de gerenciamento de configuração.

Quais são as Vantagens do Desenvolvimento Interativo

Ciclo de Vida do desenvolvimento Interativo

Ciclo de Vida do desenvolvimento Interativo

  • Os riscos são atacados mais cedo;
  • Mudanças nos requisitos não acabam com o projeto;
  • Refinamento de arquitetura;
  • Aprendizado e aprimoramento;
  • Aumento do reúso.

Arquitetura Baseada em Componentes ? Como assim ?

Arquitetura baseada em componentes descreve uma abordagem da engenharia de software para estrutura e desenvolvimento de sistemas. O foco está na decomposição da estrutura da funcionalidade individual ou componente lógico dele expondo bem definido a interface de comunicação contendo seus métodos, eventos e propriedades. Isso provê um alto nível de abstração, estrutura principal da orientação a objetos, não focando em questões de protocolos de comunicação e compartilhamento de estado.

“Decomposição da estrutura da aplicação em uma reutilização funcional ou componentes lógicos que expõe um interface de comunicação bem definida.”

As chaves principais para o uso de componentes são:

Reusabilidade: Componentes são usualmente estruturados para ser reutilizado em diferentes cenários e diferentes aplicações. Entretanto, alguns componentes precisam ser estruturados para tarefa específica.

Substituição: Componentes precisam ser facilmente substituídos por outros componentes similares.

Contexto não específico: Componentes são estruturados para operar em diferentes ambientes e contextos. Informações específicas como estado do dado, devem ser enviado para o componente em vez de serem incluídos ou acessado pelo componente.

Extensibilidade: Um componente pode ser extendido a partir de um componente para fornecer um novo comportamento.

Encapsulamento: Componentes expõe uma interface dele para os invocadores utilizar suas funcionalidades e não revelar detalhes do seu processo interno ou alguma variável interna e estado.

Independência: Componentes são estruturados para ter o mínimo de dependência com outros componentes. Por isso componentes pode ser disponibilizados dentro de um ambiente apropriado sem afetar outros componentes ou sistemas.

Tipos comuns de componentes utilizados nas aplicações inclui componente de UI, como grids, botões, assistentes e utilitários que expõe um subset específicos das funcões utilizadas em outros componentes (Componentes de UI reutilizáveis). Componentes dependem de um mecanismo dentro da plataforma que provê um ambiente em que eles podem ser executados. Exemplos desse componentes são: Component Object Model (COM), Common Object Request Broker Archicteture (CORBA) e Enterprise Server Bean (EJB) entre outros. Arquitetura de componentes gerencia o mecanismo de localização dos componentes e suas interfaces, passando as mensagens ou comandos entre entre os componentes, e em alguns casos mantendo estado.

Alguns benefícios desse modelo de arquitetura:

Fácil deploy: Compatilidade de novas versões quando disponíveis. Você pode substituir a versão existente sem impacto em outros componentes do sistema como um todo.

Redução de custo: O uso do componente de terceiros permite a redução do custo do desenvolvimento e manutenção.

Fácil desenvolvimento: Implementar componentes bem como a funcionalidade definidad pela interface, permite desenvolvimento sem impacto em outros partes do sistema.

Reutilização: A reutilização de componentes é um meio agilizar o desenvolvimento e manutenção onde agrega na redução de custo da aplicação.

Mitigação de complexidade técnica: Componentes mitigam complexidade no uso de containers de componentes e serviços. Exemplo de container de serviços inclui componente de ativação, gerenciamento de ciclo de vida, métodos de enfileiramento, eventos e transações.

Padrões de projetos como Injeção de Dependência ou Service Locator pode ser utilizados para gerenciar as dependências entres os componentes e promover o baixo acoplamento e reuso. Tais padrões são muitas vezes utilizados para compilar aplicações compostas combinando e reutilizando componentes entre múltiplas aplicações.

Framework CSS – Grid 960

Grid 960

Grid 960

O framework nada mais é que estruturas de códigos definidos onde um projeto de software, seja ele web ou não, pode ser criado e desenvolvido. Os frameworks podem incluir programas de suporte, bibliotecas de códigos, linguagens de scripts ou qualquer outro tipo de software para auxiliar no desenvolvimento.

Eles foram projetados para auxiliar no desenvolvimento de softwares, auxiliando designers e programadores a gastar menos tempo com desenvolvimento.

Em CSS (Folha de estilo em cascata) os frameworks geralmente são um conglomerado de arquivos CSS com coisas base para tipografia, estrutura de layout e menu. Sua utilização deve ser muito cuidadosa, pois utilizar frameworks em desenvolvimento XHTML e CSS pode não trazer a mesma produtividade do que um framework para PHP, JavaScript. É importante que o desenvolvedor saiba ler e compreender o código que ele está escrevendo.

Resumindo: os frameworks para CSS trata-se de uma biblioteca pré-configurada, cujo seu objetivo é facilitar a criação de layouts o mais próximo possível dos padrões web (W3C).

O que é o 960 Grid System ?

O 960 Grid System ou Grid 960 é um framework CSS usado para agilizar o trabalho dos desenvolvedores para web, organizando a página como uma GRID “Grade” usando dimensões com base em uma largura de 960px. Existem três opções de divisão para essa grid, que são 12, 16 e 24 colunas.

O 960 Grid busca resolver problemas relacionados à organização do layout, o que para os programadores FRONT-END geralmente é um desafio. Esse framework facilita a organização dos elementos na tela, de forma compatível com todos os navegadores modernos.

Características da divisão de colunas

  • 12 Colunas: A grid é dividida em 12 colunas, com largura de 60px cada uma e com um espaçamento de 10px na direita e na esquerda de cada uma.
  • 16 Colunas: A grid é dividida em 16 colunas, com largura de 40px cada uma e com um espaçamento de 10px na direita e na esquerda de cada uma.
  • 24 Colunas: A grid é dividida em 24 colunas, com largura de 30px cada uma e com um espaçamento de 10px na esquerda e na direita de cada uma.

Por exemplo:

Este slideshow necessita de JavaScript.

Devemos ou não utilizar?

Vantagens sobre o uso do 960 Grid Systems

Entre as principais vantagens defendidas pelos adeptos do uso de frameworks como o 960 Grid, está no aumento de produtividade. Por possuir classes pré prontas e um esquema de colunas bem definido, fica muito fácil e rápido para o desenvolvedor de FRONT-END fazer seu trabalho.

Um outro aspecto importante é a diminuição das incompatibilidades entre os browsers (navegadores), visto que as classes fornecidas com o 960 Grid ou Grid 960 já forma criadas pensando nesses aspectos. Isso não significa que o terrível IE (Internet Explorer) não lhe causará problemas, mas sim eles serão bem menores.

Contras do uso do 960 Grid

Se você está iniciando no trabalho com CSS e ainda não possui experiência em codificação, não acho que seja indicado o uso de um framework. Aprenda tudo o que puder sobre o CSS, faça projetos, resolva problemas de incompatibilidade, e só depois disso utilize frameworks. Desta maneira a Grid 960 será um recurso para melhorar seu trabalho e não uma muleta sem a qual você não consegue codificar.

Um outro aspecto levantado por aqueles não apoiam a utilizam do uso de frameworks CSS, está no fato de que isso pode restringir o processo criativo na hora de desenvolver seu layout. Afinal de contas, você vai ver que para codificar um layout usando uma grid é necessário que o mesmo tenha sido desenvolvido dentro do modelo de colunas fornecido pela ferramenta e que o layout esteja contido dentro de uma largura de 960 pixels.

Baixando o 960 Grid

Vá até o site Grid960 e faça o download do projeto. Na pasta que você vai baixar estarão vários arquivos, mas os que nos interessam são os seguintes:

code: aqui estão os códigos que usaremos em nossos trabalhos assim como um demo que mostra o grid  960 em ação.

  • sketch_sheets: aqui tem alguns modelos para imprimir e usar na construção de nossos wireframes.
  • templates: modelo que será usado no photoshop ou outro programa com as colunas do framework.

Utilizando o Grid na fase de Layout

Como já explicado acima, o Grid 960 nos fornece um modelo para ser utilizado na produção de nosso layout. Sendo assim, clique em templates e abra no photoshop. Na pasta estarão três arquivos ou modelos, cada um com um número pré-definido de colunas contendo 12,15 e 24. Escolha um arquivo com o número de colunas que mais se encaixe ao seu projeto. Por exemplo: se o seu layout possui três chamadas na home, a melhor opção será o modelo com 12 colunas, visto que 12 dividido por 3 dará 4 colunas iguais para cada chamada. Já o modelo de 16 se encaixa melhor em layouts com 4 chamadas. Veja abaixo os exemplos:

layout com 12 colunas

layout com 16 colunas

layout com 16 colunas

Como mostrado acima, você tem total liberdade para utilizar a grid, contanto que se lembre de manter o layout dentro de 960 pixels e não coloque o início dos elementos nos espaços em branco que vemos entre as colunas que são chamados de gutters.

Outro aspecto importante que devemos citar é que ao abrir o arquivo PSD extensão do Photoshop você verá que além das colunas em vermelho, como mostradas acima, também teremos as grids do photoshop delimitando o início e o fim de cada uma das colunas.

O que fazer depois do Layout ?

Essa resposta é simples, é hora da codificação do nosso HTML e da folha de estilo o CSS. Aqui começa a parte mais interessante do uso da grid. Mas para podermos começar a utiliza-la primeiro devemos criar um link para as folhas de estilo que o Grid 960 nos fornece. Para isso, insira dentro da tag <head> do seu HTML os seguintes links:

  1. <link type=”text/css” rel=”stylesheet” href=”css/reset.css”/>
  2. <link type=”text/css” rel=”stylesheet” href=”css/text.css”/>
  3. <link type=”text/css” rel=”stylesheet” href=”css/960.css”/>

O primeiro link chama o reset fornecido pelo grid o que nos ajuda a resetar os estilos pré definidos pelo navegador/browser. Desta maneira evitamos inconsistências entre browsers.

O segundo link chama o CSS responsável pelos estilos aplicados às fontes utilizadas no site. Isso nos ajuda a trabalhar o texto separado do resto do conteúdo e da estrutura do nosso layout. Não é obrigatório, mas costuma manter seu trabalho mais organizado.

Por fim temos o Grid que é chamado no terceiro link. Se você abrir este arquivo vai ver que ele basicamente possui várias classes que controlam o número de colunas utilizadas no nosso layout.

Entendendo as classes do Grid 960

  1. contaner_12, container_16 ou container_24: aqui o container que manterá nosso trabalho dentro dos 960 pixels e que também será responsável por centralizar nosso layout no browser/navegador. Se seu site foi criado em 12 colunas utilizaremos a classe .container_12 e se foi feito em 16 o contêiner_16 e assim sucessivamente.
  2. grid_1, grid_2, grid_3(…..): essas são as classes responsáveis por controlar as colunas. Sempre devemos utilizá-las dentro de div’s com classe container_xx. Segue alguns exemplos de seu uso:
topo com 12 colunas

topo com 12 colunas

O topo do site acima servirá como nosso exemplo. Como você pode ver ao contar as colunas, temos aqui um layout de 12 colunas. Se fosse codificar este site iria primeiramente criar uma div com a classe container_12, a fim de centralizar o conteúdo do site. Logo em seguida criaria duas div’s, sendo que a primeira para o logo que se encontra à esquerda e a segunda para os textos à direita.

A primeira div receberia a classe grid_4, visto ser este o número de colunas que o logo ocupa (na largura) e a segunda div receberia a classe grid_8, que corresponde às colunas restantes dentre as 12 que tenho para trabalhar.

Dentro da div com a classe grid_4 colocaria a imagem do logo e dentro da segunda div, os títulos de cabeçalhos e parágrafos. O mesmo raciocínio se aplicará aos demais elementos presentes neste layout.

Conclusão

Como podemos ver, esse framework pode acelerar nosso processo de produção e ajudar-nos a resolver problemas chatos de posicionamento em codificações tabeless (sem o uso de tabelas). 

Framework Twitter BootStrap

bootstrap twitterO Twitter Bootstrap é uma livre coleção de ferramentas para a criação de sites e aplicações web, sendo assim, um framework de desenvolvimento front-end (visualização direto do usúario). Ele contém HTML e CSS, modelos de design para tipografias, formulários, botões, gráficos, navegação e outros componentes de interface.

Sua Origem

O Bootstrap foi desenvolvido por Mark Otto e Jacob Thornton no Twitter como um quadro para incentivar a consistência entre as ferramentas internas. Antes dele diversas bibliotecas foram utilizadas para desenvolvimento de interface, o que levou a inconsistências e uma carga de manutenção alta. 

A primeira implantação em condições reais aconteceu durante a primeira hackweek do twitter, onde Mark Otto mostrou a alguns colegas como acelerar seu desenvolvimento de projetos com a ajuda do kit de ferramentas. Como resultado obtido dezenas de equipes mudaram para o quadro.

Lançamento como Open-Source (códigos fontes abertos)

Em agosto de 2011 o Twitter Bootstrap foi lançado como open-source, sabendo que em fevereiro de 2012, virou o projeto mais popular de desenvolvimento GitHub ( é um site de colaboração de desenvolvimento de códigos computacionais).

As características do BootStrap

O bootstrap tem o apoio relativamente completo para o HTML5 e CSS3, mas é compatível com todos os principais navegadores.

Estrutura e função

O bootstrap é modular e consiste essencialmente de uma série de folhas de estilos. A folha de estilo chamada bootstrap.less inclui componentes de estilos, sendo assim, os desenvolvedores podem usar, adaptar o próprio arquivo, selecionar os componentes que deseja utilizar em seu projeto. Os ajustes são possíveis de forma limitada através de um estilo de configuração central.

Sistema de grade e design responsivo

O bootstrap vem com 940 pixels de largura e com layout em grid que nada mais é que o fornecimento de uma grade aonde possa organizar os conteúdos de forma consistente, tendo como alternativa para que o desenvolvedor possa usar um layout de largura variável.

Entendendo a Folha de Estilos (CSS)

O bootstrap oferece um conjunto de folhas de estilo que fornecem definições básicas para todos os componentes HTML chaves, sendo assim, fornecendo aparência uniforme e moderna para a formatação de texto, tabelas e elementos de formulários.

Exemplo de Site que utilizou o framework bootstrap

bootstrap

exemplo de site que utilizou o bootstrap

Documentação CakePHP – Português Br

Instalando o Ruby on Rails no Windows

Para instalar o Ruby on Rails no windows 7 segue  vídeo do blog enfaTIzando – Dicas – Programação, Web, Ajax, Oracle, Redes

Ruby on Rails e a Linguagem Ruby

Ruby on Rails é uma tecnologia que permite desenvolver sites dinâmicos orientados a banco de dados e aplicações para a web – de forma semelhante a tantas outras linguagens de programação como PHP ou ASP. Porém, apesar de ser mais novo que estas duas linguagens, o Ruby on Rails vêm crescendo de forma espantosa e têm chamado a atenção de desenvolvedores de todo o mundo, isso porque ele permite aumentar a velocidade e facilidade no desenvolvimento de projetos.

Tecnicamente falando, Rails é um framework criado na linguagem de programação Ruby (daí o nome Ruby on Rails).

O Rails foi criado com o intuito de permitir o desenvolvimento ágil, com alta produtividade, escrevendo poucas linhas de código e tendo muito resultado como consequência. Aplicações que levam semanas ou meses para desenvolver em linguagens tradicionais podem ser feitas em horas ou dias com Ruby on Rails.

Ruby é uma linguagem de script interpretada para programação orientada a objetos com uma filosofia e sintaxe muito limpa que fazem com que programar seja elegante e divertido.

A linguagem foi criada no início da década de 90 no Japão e rapidamente ganhou popularidade no mundo inteiro por sua filosofia de ter foco nas pessoas.

Importante: Para se tornar um desenvolvedor Ruby on Rails pleno é importante conhecer à fundo a linguagem Ruby.

Fonte:  LIVRO APRENDENDO RUBY ON RAILS