O que é um framework?

No desenvolvimento do software, um framework ou arcabouço é uma estrutura de suporte definida em que um outro projeto de software pode ser organizado e desenvolvido. Um frameworkpode incluir programas de suporte, bibliotecas de código, linguagens de script e outros softwares para ajudar a desenvolver e juntar diferentes componentes de um projeto de software.

Frameworks são projetados com a intenção de facilitar o desenvolvimento de software, habilitando designers e programadores a gastarem mais tempo determinando nas exigências do software do que com detalhes tediosos de baixo nível do sistema.

Especificamente em orientação a objeto, framework é um conjunto de classes com objetivo de reutilização de um design, provendo um guia para uma solução de arquitetura em um domínio específico de software.

Framework se diferencia de uma simples biblioteca (toolkit), pois esta se concentra apenas em oferecer implementação de funcionalidades, sem definir a reutilização de uma solução de arquitetura (design).

E um framework PHP?

Na linguagem PHP, a utilização de um framework é a melhor escolha para aumentar a produtividade. Isto ocorre porque o framework irá “cuidar” das tarefas de baixo nível, dos detalhes de implementação, deixando para o programador apenas a tarefa de definir as regras de negócio.

O maior “problema” da linguagem PHP, é que são necessários conhecimentos em muitas “linguagens de programação” para se construir um software mínimo. Por exemplo, para fazer uma tela de cadastro com 15 campos diversos de entradas de dados, o programador deverá conhecer as seguintes linguagens (ou tecnologias):

PHP
HTML
CSS
– Banco de dados – SGDB (MySQL, Postgree, Oracle…).
DOM
JavaScript

E com a popularização da Web 2.0, é cada dia mais importante a utilização do AJAX, que é basicamente a integração dos itens acima com mais alguns:

XMLHttpRequest
XML
XHTML

Com tantos programas em AJAX pelo mercado, o usuário já se acostumou com a melhora de usabilidade proporcionada, e certamente irá taxar negativamente um programa web que não faça bom uso do AJAX.

Enfim, para fazer um site de qualidade utilizando a linguagem PHP, tem que dominar diversos assuntos e ainda ter habilidade em integrá-los.

E antes que eu me esqueça, vale lembrar que sem um framework de qualidade, o programador também tem que se lembrar de testar a compatibilidade de seu sistema em cada um dos navegadores do mercado. Por experiência própria, posso lhe garantir que está não é uma tarefa fácil, e consome boa parte do tempo de desenvolvimento.

É aí que entra um framework! Ele faz tudo isso pra você. É uma ferramenta do tipo IDE, que facilita muita a vida do programador e permite que prazos sejam cumpridos! :)

Como comprar um framework

Suporte e treinamento

Ao adquirir um framework, é importante verificar se existe uma equipe que possa lhe prestar suporte quando necessário, de forma a agilizar o processo de aprendizado e desenvolvimento do seu software.

E além do suporte, verifique também se a empresa que fornece o framework está apta a oferer treinamento e reciclagem aos programadores de sua empresa. Isto também é essencial para a produtividade.

De uma forma ou de outra, aprender a utilizar o framework faz parte do processo de implantação do mesmo. Em contrapartida, o aprendizado do framework é muito mais simples do que seria necessário para fazer manualmente o trabalho que ele faz automaticamente. Mesmo assim, é bom que ele seja fácil de aprender, pois isso irá lhe poupar ainda mais tempo! ;)

Os frameworks desenvolvidos fora do país, em geral pecam neste quesito. Algums oferecem suporte, mas não com a agilidade necessária para acompanhar os prazos curtos impostos pelo mercado de web software. E com os preços em dólares, este suporte nem sempre sai em conta.

Documentação e ajuda

A documentação e a ajuda presente no framework facilita também o processo. Verifique a quantidade de material de ajuda disponível para o framework que deseja adquirir. Visite sempre o site dos fabricantes e baixe tudo o que estiver disponível. Se o fabricante tem boa documentação para o usuário, isto provavelmente significa que o próprio desenvolvimento do framework é bem documentado, resultando em menos bugs e correções rápidas dos existentes.

Atualizações e customizações

Ao adquirir uma ferramenta de desenvolvimento, é natural que você precise de algumas customizações para que ela se adeque da melhor maneira ao seu projeto. Pesquise antes da compra a respeito da política de atualizações do framework. Considere que todo software é passível de falhas (bugs) e que certamente será necessário atualizar o seu framework após algum período de utilização.
Portanto, verifique sempre se a empresa oferece upgrades constantes do produto por algum tempo após você adquirí-lo.

AJAX

Como foi dito acima, utilizar AJAX nas aplicações WEB é muito importante. Confira se o framework a ser adquirido tem suporte para aplicações desenvolvidas em AJAX.

Suporte a banco de dados

Procure adquirir um framework que lhe possibilite utilizar várias plataformas de banco de dados. Assim, ele lhe será útil para tarefas futuras, ou mesmo para reescrever sistemas que utilizam plataformas de banco de dados já determinadas.

Multiplataforma

Com a crescente popularização do software livre, é cada vez mais importante que os produtos sejam multiplataforma. Verifique se o framework a ser adquirido pode ser utilizado em vários sistemas operacionais. O mesmo vale para o código gerado pelo framework.


Aplicação com independência da ferramenta

O framework deve ser utilizado apenas durante a construção e geração do seu programa. Depois disso, seu software deverá funcionar sem que seja necessário instalar o framework no seu servidor web. Isto é imprescindível para a agilidade na publicação e liberação das releases de seu produto. Além do mais, caso o framework precise ser instalado no servidor web, isto significará mais uma cópia a ser comprada, aumentando os custos de implantação.

Demonstrações

Jamais compre um framework sem ver algum programa gerado por ele. Se possível, solicite uma visita de um representante para mostrar como o produto funciona. A tarefa de criar um programa simples de demonstração não pode ser demorada.

Framework nacional

Se você leu tudo até aqui, é porque está mesmo interessado em adquirir um framework. ;).

O Scriptcase é um framework nacional, desenvolvido em Recife, que tem todas as características acima e muitas outras. Já utilizo regularmente na empresa em que trabalho e recomendo aos desenvolvedores PHP em busca de seu lugar ao sol.

Framework PHP

Framework PHP nacional e fácil de usar e aprender

A escolha deste framework não foi fácil. Testamos vários outros disponívies por aí! Porém, o tempo que gastamos para desenvolver uma tela de exemplo no Scriptcase, não era suficiente às vezes nem para colocar os outros em funcionamento. Além disso, desde o início tivemos apois do suporte via chat, que facilitou muito o nosso trabalho.

Além disso, a Netmake tem representantes em vários estados do Brasil, oferecendo cursos e treinamentos aos seus clientes.

Boa sorte, e não comprem framework sem testar bem o Scriptcase. Vale a pena se você quer um desenvolvimento ágil e rápido de aprender.