Arquivo

Arquivo da Categoria ‘Projetos’

O que é e porque usar um Framework?

1, novembro, 2009 Jonas Martinez Sem comentários

Já faz um bom tempo tenho trabalhado com o Zend Framework para aplicações PHP e o jQuery para JavaScript, esses dois frameworks simplismente permitiram que eu tenha uma produtividade muito maior e também noto em fóruns muitas pessoas novatas começando com programação e não fazem a mínima idéia de Design Patterns, Framework, UML etc etc…

Hoje vou explicar o que é um Framework, vamos lá!

Imagine que você tem um projeto de um blog, bom naturalmente você precisa de conexão com banco de dados, inserções, alterações, remoções e listagens….

Basicamente você pode pensar “Crio uma classe de conexão com o banco de dados, outra classe com os elemntos como posts, comentários e ta tudo certo!”

Até ai, tudo bem, um simples blog resolve dessa forma mesmo, mas agora imagine que você precisa fazer um sistema de imobiliária, você poderia utilizar a classe de conexão com o banco certo? Pois bem, agora imagine uma infinidade de recursos que você precisa ter, como feeds, categorias, formulários e pra ajudar, vários desenvolvedores, como faria?

Você pode pensar, “Opa! Só fazer uma bibliotera com vários recursos e usá-los!” mas e se eu te disser, esse projeto tem que ser extensivel e flexivel, você realmente saberá fazer?

Para resolver esse tipo de problema, existem os Design Patterns, que são Padrões de Projeto, usados para resolver problemas comuns em todos os projetos. São práticas eficientes e testadas ao longo de anos, que com o tempo acabam se fundindo criando outros nomes e outras técnicas, cada uma tem sua vantagem e vale lembrar que um bom projeto tem vários padrões trabalhando juntos para proporcionar uma arquitetura extremamente dinâmica, extensivel, flexivel e de fácil manutenção.

Mas e os Frameworks?
Bom, um framework nada mais é do que uma arquitetura “padrão” que fornece várias ferramentas comuns a todo tipo de projeto, utilizam os mais variados tipos de padrões de projeto para proporcionar um ambiente de desenvolvimento extremamente produtivo.

Muitos confundem Framework com Biblioteca de Classes, não é assim!

Bibliotecas são apenas bibliotecas, fornecem vários recursos independentes que as vezes fica dificil interagirem entre si, já um Framework, além de fornecer vários recursos como biblioteca, proporciona todo um ambiente padronizado, que, uma vez seguido de acordo fica sendo extremamente produtivo com o re-uso de muitos trechos de código, evitando torrar a cabeça a cada projeto.

A maioria dos Frameworks trabalham com um padrão principal, o MVC (Model View Controller) que tem como base trabalhar com Modelo Lógico – Visualização – Controle, ou seja, separa claramente o Design do Conteúdo e Lógica.

Sendo assim, você terá um ambiente para fazer a visualização do projeto, outro para a lógica do projeto e outra para o controle do projeto, onde o Controle junta a Lógica e a Visualização.

Além do padrão principal, também aplica os mais variados padrões para casos especificos, um exemplo clássico é o Banco de Dados, geralmente utilizado no padrão Singleton.

As vantagens de se usar um Framework são:

  • Padronização de processos
  • Uso constante das boas práticas de desenvolvimento
  • Enorme gama de recursos disponiveis
  • Re-uso de código
  • Flexibilidade e Extensibilidade dos projetos
  • Fácil manutenção
  • Produtividade

Porém para se chegar a um nível satisfatório do bom uso de um Framework precisamos:

  • Conhecer a fundo a linguagem que utilizamos
  • Dominar Orientação a Objeto (uma vez que OO é uma técnica de programação muito eficiênte e em evidência a anos)
  • Conhecer os padrões de projetos
  • Usar boas práticas de desenvolvimento (comentar, encapsular, fechado para alteração mas aberto para extensão etc)
  • Estudar o Framework e entender sua essência.

Estes tópicos eu elaborei baseado na experiência que tenho, caso discorde faça seu comentário que será bem vindo!
Quando digo conhecer a linguagem a fundo, é que não adianta querer usurfruir do Framework sem saber realmente o que ele fornece, conhecendo a linguagem a fundo você saberá quando usar as ferramentas do Framework, evitando uma dúvida do tipo “essa função é do framework ou da linguagem?” ou “posso fazer isso nativamente ou reinvento a roda?”.

Já dominar orientação a objeto, creio ser necessário para criar projetos concisos e flexiveis, aproveitando o re-uso e a fácil manutenção além da extensão.

Ao conhecermos os padrões de projetos abrimos nossa mente para soluções “mágicas”, ou seja, treinamos nossa cabeça para pensar corretamente nas mais variadas situações.
Utilizando as boas práticas, permitimos que nosso código seja de fácil compreensão por outros desenvolvedores e também para nós mesmos, afinal, é dificil lembrar exatamente milhares de linhas de código… E finalmente, estudando o Framework, sabemos o que ele realmente faz e não faz, facilitando o entrosamento de nosso conhecimento de padrões de projetos e OO, tornando um projeto maravilhoso.

Querem um bom exemplo de Framework e Projeto Maravilhoso? Bom no mundo PHP, linguagem para web muito utilizada, temos o Zend Framework como ótimo exemplo e o Magento, projeto e-commerce com uma arquitetura excepcional, feita com Zend Framework.

Para mais informações acesse:

Bom to caindo de sono, por enquanto é isso! qualquer dúvida deixe seu comentário! abraços!

Momento SOCORRO!

4, outubro, 2009 Jonas Martinez Sem comentários

Opa!

Bom, to meio sem assunto para postar aqui, então decidi criar o “Momento SOCORRO!”.

Resumindo, caso você tenha alguma dúvida referênte a web, seja php, mysql, css, js, xhtml, as3 enfim, deixe um comentário que faço um post dedicado a sua dúvida ;-)

GoGoGo! to sem idéia….

Categories: Blog, Projetos Tags:

Site para fotógrafo

Uala! faz tempooo que não atualizo e não melhoro a aparência aqui, fiquei “preso” em um trabalho em que tive uma surpresa desagradavel, no meio do caminho o cliente disse que não queria mais, não cobrei os 50% adiantado como todo bom freelancer e acabei arrumando pra cabeça, como estava com toda administração pronta, resolvi finalizar e vender para os que precisam a um preço acessivel, claro que cada fotógrafo tem um layout diferente, o layout atual é apenas para ter uma noção de como pode ser feito, afinal sou programador e não designer, mas consigo deixar bem bunito tendo referências ;)

Para todos fotógrafos iniciantes que precisam de um site profissional, basta entrar em contato pelo email jonasmartinez-at-gmail-dot-com e solicitar um acesso ao administrador e afins!

Dentre os recursos que disponbiliza esse mini sisteminha, temos administração total para autonomia vitalicia do cliente, sendo assim basta saber navegar na internet que você já consegue atualizar seu site, na administração inclui:

  • Capa
  • Músicas
  • Seções
  • Galerias
  • Fotos
  • Gerador de thumbs automático
  • Envio massivo de fotos (várias de uma uníca vez)
  • Edição de thumb especifico (caso queira incrementar sua galeria)
  • Dados do sistema (titulo, email, telefone, usuário e senha etc)
  • Entre outros

Confira uma demonstração básica em http://projetos.jonasmartinez.com/fotografo/.

Segue abaixo telas da administração.

Qualquer dúvida comente abaixo que esclareço :)