Páginas

11 de jun de 2012

Qual a diferença entre "Snippet", "Library", "Framework" e "Toolkit"?


Para tentar esclarecer as dúvidas, vamos dar algumas definições:

Snippets


Sempre quando você está desenvolvendo alguma aplicação, acaba por existir pequenos trechos de código interessantes para serem reutilizados. Esses pequenos trechos, são chamados de Snippets. Geralmente são códigos para copiar e colar, simples e geralmente de uso genérico.
Somente pequenos códigos e que não executam função, podem ser chamados de Snippets , quando seu Snippet realizar, por exemplo, um redimensionamento de imagem, você deverá convertê-lo a uma Library.

Library


Geralmente são coleções de funções ou de classes estáticas tornando-as facilmente adaptáveis a qualquer aplicação. Quando a aplicação já está terminada, é possível adicionar uma Library e usá-la sem necessidade de ajustes na aplicação.
Uma Library pode ser grande, ter classes e dependências. Um exemplo de Library é a Zend. Uma Library sempre oferece funcionalidades bastante específicas e poupa linhas de código.

Framework


Um Framework não deve apresentar nenhuma funcionalidade. Ele apenas implementa um determinado padrão aos nomes dos arquivos da aplicação. Adicionalmente, ele pode conter alguns princípios de como organanizar o código de sua aplicação.
Um Framework dita a arquetetura de uma aplicação. Por isso, é muito complexo adotar o uso de um, em uma aplicação já existente. Cada Framework pode carregar princípios, conceitos e padrões únicos, ditados por seus desenvolvedores.
Geralmente, um Framework por si só, fará você escrever bastante código extra.

Toolkit


Usar um Toolkit é um nível acima no desenvolvimento de aplicações. Os Toolkits podem implementar um série de objetos e classes facilitando bastante o desenvolvimento da aplicação.
O conceito surgiu no desenvolvimento de software desktop onde existem vários Toolkits provendo User Interface ou Widgets. O projeto GTK+ é um exemplo conhecido disso.
Geralmente Toolkits farão você economizar bastante na hora de escrever seu código!

Hybrids


Na realidade, a maioria dos pacotes que ajudam o desenvolvimento de software, seja ele web ou não, são formados da composição de dois ou mais tipos. Frameworks como Symfony, Yii, CakePHP, não somente fornecem uma estrutura organizacional, mas também fornecem um conjunto de funções o que nos remete a uma Library, ainda tendo classes completas como helpers o que pode ser caracterizado como Toolkits completos. Facilitando bastante nosso trabalho.

Analisando alguns dos sistemas mais conhecidos, seriam, por exemplo:
jQuery = framework e library, Modo de escrever javascript é alterado e ainda existe um conjunto de algumas funções prontas.
jQuery UI = toolkit, Oferece uma abstração maior e melhorada para UI do jquery.
CodeIgniter = framework com algumas libraries
Zend = Várias Library
Phpclasses.org = Uma vasta coleção de Snippets
Yii = Framework e Toolkit
Facebook API = Library
Smarty = Library

Nenhum comentário:

Postar um comentário