0 Compartilhamentos 865 Views

Introdução ao Symfony

20 de fevereiro de 2008

Um framework racionaliza o desenvolvimento de muitos padrões empregados para um determinado fim, acrescenta estrutura ao código, levando o programador a escrever melhor, mais legível e um código mais sustentável. Em última análise um framework torna a programação mais fácil, uma vez que transforma um pacote de complexas operações em simples afirmações.

symfony é um framework completo projetado para otimizar o desenvolvimento de aplicações web, através de várias características. Para começar ele separa um aplicativo web das regras do negócio, lógica e apresentação. Ele contém diversas ferramentas e classes que visam reduzir o tempo de desenvolvimento de uma complexa aplicação web. Além disso, ele automatiza tarefas comuns, para que o desenvolvedor possa se concentrar inteiramente nas especifidades da aplicação. O resultado final dessas vantagens é que não há necessidade de reinventar a roda a cada vez que um novo aplicativo web é construído.

O symfony foi escrito inteiramente em PHP 5. Ele foi testado em vários projetos do mundo real, é na verdade, no uso de alta demanda em sites de negócio. Ele é compatível com a maioria das bases de dados disponíveis, incluindo o MySQL, PostgreSQL, Oracle e Microsoft SQL Server. Ele roda em plataformas Windows e *nix. Vamos começar uma análise mais atenta às suas características.

Características symfony

O symfony foi construído a fim de cumprir os seguintes requisitos:

  • Fácil instalação e configuração em mais plataformas (garantido para trabalhar no padrão *nix e Windows)
  • Mecanismo de banco de dados independente
  • Simples de usar, na maior parte dos casos e suficientemente flexível para se adaptar aos casos complexos
  • Baseado na premissa de convenção sobre a configuração, o desenvolvedor precisa configurar apenas o convencional
  • Compatível com a maioria das melhores práticas web e padrões de design
  • Código legível, documentação e fácil manutenção
  • Fácil de estender, permitindo a integração com outras bibliotecas

Automatização de Projetos Web Características

A maior parte das características comuns de um projeto web são automatizadas no symfony, segue:

  • Camada de internacionalização permite a tradução dos dados e da interface, bem como conteúdo (localization)
  • A camada de apresentação utiliza templates e layouts que podem ser construídos pelos designers HTML sem qualquer conhecimento do framework. Ajudantes para reduzir a quantidade de código na camada de apresentação e escrever encapsulado de grandes porções de código em simples funções.
  • Automatização para trabalhar com formulários, validação e repovoamento, e isso garante uma boa qualidade dos dados na bases de dados e uma melhor experiência do usuário
  • Protege a aplicação contra ataques via dados corrompidos
  • Sistema de cache com a funcionalidade de reduzir o uso de banda larga e carga do servidor
  • Autenticação e credenciais, para facilitar a criação de seções restritas e gestão de segurança do usuário
  • Roteamento inteligente e URLS amigáveis fazem parte da interface e mecanismo amigáveis de busca
  • Paginação de resultados são mais fáceis, graças a automatizadores de paginação, seleção e filtragem
  • Plug-ins proporcionam um elevado nível de extensibilidade
  • Interações Ajax são fáceis de implementar, graças aos ajudantes e efeitos JavaScript

Ambiente de Desenvolvimento Ferramentas

Para cumprir os requisitos das empresas que possuem suas próprias orientações, regras de codificação e gestão do projeto, o symfony pode ser totalmente personalizado. Ele fornece, por padrão, vários ambientes de desenvolvimento, com várias ferramentas que automatização tarefas comuns de engenharia de software.

  • Ferramentas de geração de código, com apenas um clique é possível gerar interfaces administrativas
  • Testes de unidade e testes funcionais, o framework fornece ferramentas para permitir testes na fase de desenvolvimento
  • Painel de debugação acelera a depuração, apresentado todas as informações que o desenvolvedor precisa sobre a página que está trabalhando
  • A interface de linha de comando automatização a implantação da aplicação entre dois servidores
  • Configurações de mudança são possíveis e eficazes
  • Sistema de log fornece ao desenvolvedor detalhes completos sobre as atividades da aplicação

Quem fez o symfony e por quê?

A primeira versão do symfony foi lançada em Outubro de 2005 pelo fundador do projeto Fabien Potencier. Fabien é o CEO da Sensio (www.sensio.com), uma agência web francesa muito conhecida pelos seus pontos de vista inovadores sobre desenvolvimento web.

Já em 2003, Fabien passou algum tempo adquirindo conhecimentos sobre os instrumentos de desenvolvimento open source para aplicações web em PHP. Ele descobriu que nenhuma satisfazia os requisitos descritos anteriormente. Quando o PHP 5 foi liberado, ele decidiu que os instrumentos tinha atingido uma fase madura e suficiente para ser integrado em um framework.

Após o sucesso usando symfony em alguns projetos, Fabien decidiu divulgá-lo sob uma licença open source. Fez para doar o trabalho do projeto para a comunidade e beneficiar outros desenvolvedores.

Para o symfony ser um êxito o projeto fonte foi aberto e foi necessário dispor uma documentação extensiva, em Inglês, para aumentar a taxa de desenvolvedores. Fabien pediu para o seu empregado François Zaninotto, verificar o código e escrever um livro on-line sobre o assunto. Demorou um pouco, quando o projeto foi tornado público, o que foi documentado foi suficiente para atrair numerosos colaboradores.

Comunidade do symfony

Logo que o site do symfony foi lançado (www.symfony-project.org), muitos desenvolvedores de todo o mundo baixaram e instalaram o framework, leram a documentação online e construiram sua primeira aplicação com o symfony.

Frameworks web foram ficando populares nessa época, bem como a necessidade de um framework completo em PHP foi elevado. O symfony ofereceu uma solução atraente devido às suas impressionantes qualidade de código e significativa documentação, duas grandes vantagens sobre os demais frameworks. Os colaboradores logo começaram a propor correções, melhorias e documentação.

Com código fonte aberto e sistema de repositório ofereceram uma maneira fácil de contribuir com o projeto. Fabien ainda é o principal coordenador do tronco do repositório e garante a qualidade do código.

Hoje, o fórum do symfony, lista de discussão e IRC, oferecem um grande apoio para tirar dúvidas. O wiki ajuda a documentação crescer e o número de aplicações conhecidas usando symfony aumenta, em média, cinco por semana.

Symfony é para mim?

Se você é um perito em PHP 5 ou um iniciante em aplicações web, você será capaz de usar o symfony. O principal fator para decidir se deve ou não usa-lo é o tamanho do seu projeto.

Se você quiser desenvolver um site simples com cinco a dez páginas, acesso limitado a um banco de dados e não obrigação de garantir o seu desempenho ou fornecer documentação, você deve usar PHP sozinho. Você não iria ganhar muito mais a partir do uso de um framework, usando orientação a objetos ou um modelo MVC provavelmente só iria abrandar o seu processo de desenvolvimento.

Por outro lado, se você precisar desenvolver aplicações web mais complexas, com pesadas lógica de negócio, PHP por si só não é suficiente. Se você planeja em manter ou aumentar o seu código no futuro, você vai precisar do seu código leve, de fácil leitura e eficaz. Se você quiser usar os mais recentes avanços na interação com Ajax, em uma forma intuitiva, você não pode simplesmente escrever centenas de linhas de Javascript. Se você quiser ter divertimento e desenvolver rapidamente, em todos esses casos o symfony é para você.

Objetivo desse Artigo

Nesse artigo quis mostrar algumas informações sobre frameworks e o symfony. Eu acredito que mais de 90% dos desenvolvedores web não usam nenhum tipo de framework, isso é um grande problema, atualmente existe a demanda de desenvolvimento de aplicações que exigem muito e muitos desenvolvedores não estão acompanhado a evolução. O mercado está pedido profissionais com essa características. A web cada vez mais está direcionando para olhares de usuários mais criteriosos e ansiosos por serviços de ótima qualidade. Meu objetivo é ajudar você a ver novos horizontes.

Nos próximos artigos falaremos sobre alguns conceitos fundamentais do symfony e na sequência vamos criar uma aplicação do zero usando symfony.

Carregando...

Você pode se interessar

Sir Clive Sinclair, o homem adiantado no tempo
Artigos
120 visualizações
Artigos
120 visualizações

Sir Clive Sinclair, o homem adiantado no tempo

Carlos L. A. da Silva - 18 de setembro de 2021

O inglês Clive Marles Sinclair nasceu de uma família de engenheiros. Seu avô foi engenheiro, assim como o seu pai. Com um talento natural pela Matemática e um forte interesse em eletrônica, ele se tornaria uma página importante da popularização da computação em diversas partes do mundo, construindo um legado que se perpetuará por anos […]

A cibersegurança por trás das vacinas
Artigos
227 visualizações
Artigos
227 visualizações

A cibersegurança por trás das vacinas

Carlos L. A. da Silva - 7 de setembro de 2021

Vacinas contra o coronavírus contam com aparato sofisticado de cibersegurança que bateu de frente com tentativa de ação de hackers.

Top 25 comandos do Git
Artigos
369 visualizações
Artigos
369 visualizações

Top 25 comandos do Git

Carlos L. A. da Silva - 28 de agosto de 2021

Git é uma mão na roda para source control, mas pode ficar melhor ainda conhecendo os comandos certos.

Deixe um Comentário

Your email address will not be published.

Mais publicações

Dez anos de Kotlin: origens e futuro
Artigos
422 visualizações
422 visualizações

Dez anos de Kotlin: origens e futuro

Carlos L. A. da Silva - 20 de agosto de 2021
10 jogos que todo programador deveria conhecer
Artigos
743 visualizações
743 visualizações

10 jogos que todo programador deveria conhecer

Carlos L. A. da Silva - 1 de agosto de 2021