• Nenhum resultado encontrado

3.1 Ferramentas

3.1.5 Filezilla 3.8.0 – Free

O Filezilla é uma rápida e confiável plataforma de FTP, FTPS e SFTP com características úteis e uma interface de usuário gráfica e intuitiva, além de ter seu código aberto distribuído gratuitamente sob os termos da GNU General Public License (FILEZILLA, 2011, p.29). Suas principais características são:

 Fácil de usar;

 Suporta FTP, FTP sobre SSL / TLS (FTPS) e SSH File Transfer Protocol (SFTP);

 Multi-plataforma. Roda em Windows, Linux, * BSD, Mac OS X, etc;  Suporte IPv6;

 Disponível em vários idiomas;

 Suporta currículo e transferência de arquivos grandes (4GB);  Interface com abas;

 Poderoso Site Manager e fila de transferência;  Favoritos;

 Suporte para arrastar e soltar;

 Limites de velocidade de transferência configurável;  Comparação de diretórios;

 Edição de arquivos remotos;

 Suporte a HTTP/1.1, SOCKS5 e FTP-Proxy;  Navegação no diretório sincronizado;

3.2 WAMP

WAMPs são pacotes e programas criados de forma independente e instalados em computadores que usam um sistema operacional Microsoft Windows. WAMP é um acrônimo formado pelas iniciais do sistema operacional Microsoft Windows e os componentes principais do pacote: Apache, MySQL e um de PHP, Perl ou Python (WAMP, 2011, p.30).

Para a criação do protótipo da ferramenta será realizada em um servidor local, neste caso WAMP, que servirá como uma plataforma de testes podendo ser migrado para qualquer servidor na web.

3.2.1 Apache

O Apache HTTP Project Server é um software colaborativo que visa criar um servidor HTTP robusto, de nível comercial, com mais recursos, com código aberto disponível às implementações. O projeto é administrado em conjunto por um grupo de voluntários espalhados pelo mundo, usando a Internet e a Web para se comunicar, planejar e desenvolver o servidor e sua respectiva documentação. Este projeto faz parte da Apache Software Foundation e também das centenas de usuários que contribuíram com ideias, código e documentação para o projeto (APACHE SOFTWARE FOUNDATION).

3.2.2 MySQL

O banco de dados MySQL tornou-se o banco de dados open source mais popular do mundo por causa de seu alto desempenho, alta confiabilidade e facilidade de uso (ORACLE, INC., 2014, p.30). De acordo com a Oracle (2014, p.30), administradora do projeto, muitas das grandes organizações e de crescimento mais rápido do mundo, incluindo Facebook, Google, Adobe, Alcatel Lucent e Zappos utilizam o MySQL para poupar tempo e dinheiro ao otimizar os seus sites Web que possuem um alto volume de tráfego, sistemas críticos aos negócios e software empacotado.

Ainda segundo a Oracle (ORACLE, INC., 2014, p.31), o MySQL é um sistema de banco de dados relacional, ou seja, seus dados são armazenados em tabelas separadas em vez de colocar todos os dados em um só local. Isso adiciona velocidade e flexibilidade. Além de que qualquer pessoa, a partir da internet, pode baixar baixa-lo e usá-lo sem pagar nada. E se desejar, você pode estudar o código fonte e mudá-lo para atender às suas necessidades.

3.2.3 PHP

PHP, que significa "PHP: Hypertext Preprocessor" é uma linguagem de programação de ampla utilização, interpretada, que é especialmente interessante para desenvolvimento para a Web e pode ser mesclada dentro do código HTML. A sintaxe da linguagem lembra C, Java e Perl, e é fácil de aprender. O objetivo principal da linguagem é permitir a desenvolvedores escreverem páginas que serão geradas dinamicamente rapidamente, mas você pode fazer muito mais do que isso com PHP (ABT, AHTO, et al., 2011?).

A escolha da linguagem PHP para o desenvolvimento se deve ao fato de alguns fatores, tais como:

 Suporte a quase todos os serviços de hospedagens existentes na Web;  Experiência do desenvolvedor;

 Possui funções que permitem acessar os servidores de banco de dados MySQL;

 Grande comunidade de desenvolvedores ativos, prontamente para lhe dar suporte;

 Assim como o MySQL, qualquer um pode baixar a partir da Internet e sua utilização é gratuita;

3.3 FRAMEWORKS E BIBLIOTECAS

Segundo Fayad & Schmidt (1997, p.32-38), Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

Os frameworks possuem muitas vantagens tais como:  Maior facilidade para detecção de erros;

 Foco no problema que estamos tratando;

Já as bibliotecas, são coleções de subprogramas utilizados no desenvolvimento de software. Bibliotecas contêm código e dados auxiliares, que provém serviços a programas independentes, o que permite o compartilhamento e a alteração de código e dados de forma modular (Wikipédia, a enciclopédia livre. BIBLIOTECA (COMPUTAÇÃO), 2014, p.32).

As escolhas das ferramentas e bibliotecas que serão utilizadas para o desenvolvimento da ferramenta se devem aos seguintes fatores:

 Gratuitos – todos os frameworks e bibliotecas possuem licenças gratuitas para a sua utilização;

 Suporte e documentação são imprescindíveis para uma boa utilização. Os itens listados abaixo possuem uma comunidade de desenvolvedores espalhados pelo mundo inteiro bastante ativa e prontamente para prestar ajuda aos necessitados;

 Todos os itens trabalham junto, um dando suporte ao outro;  Rápidos e leves não comprometendo a aplicação.

3.3.1 Twitter Bootstrap

Um kit completo de componentes de interface para iniciar algo mais complexo (Twitter, 2014, p.32).

É um framework projetado para auxiliar pessoas de todos os níveis, seja você um desenvolvedor client-side ou back-end. Ele foi desenvolvido para navegadores modernos, mas os antigos não ficam de fora não. Possui ótima documentação, dezenas de componentes funcionais totalmente prontos para uso, e alguns plugins. Assim unindo CSS ao Javascript torna-se mais fácil ter um layout bonito e agradável e de fácil interação com o usuário.

3.3.2 jQuery

O jQuery é uma nova biblioteca do JavaScript. Anunciada oficialmente pela primeira vez em 14 de janeiro de 2006 por seu criador John Resig em uma sessão de demonstração de projetos em um feira chamada BarCampNYC Wrap-up (RESIG, 2006, p.33).

O jQuery é uma maneira rápida, concisa e simples de acessar e percorrer os elementos HTML. Através disso, um desenvolvedor pode manipular eventos fazendo animações e interações Ajax para um rápido desenvolvimento web (JQUERY, 2014, p.33).

Resumindo, o jQuery foi projetado para mudar a maneira que o desenvolvedor escreve JavaScript.

De acordo com site do projeto (JQUERY, 2014, p.33), suas principais características são:

 Rápido e leve

 Suporte aos seletores CSS 1 ao 3;

 Cross-browser – é funcional em todos os navegadores, incluindo suas versões mais antigas.

3.3.3 CodeIgniter

O CodeIgniter é um framework de desenvolvimento de aplicativos para quem constrói sites e aplicações PHP. Seu objetivo é permitir que desenvolva-se projetos mais rapidamente do que poderia se estivesse escrevendo o código do zero,

proporcionando um rico conjunto de bibliotecas para as tarefas mais comuns necessárias, bem como uma interface simples e estrutura lógica para acesso àquelas bibliotecas. O CodeIgniter permite que o desenvolvedor mantenha o foco em seu projeto minimizando a quantidade de código necessário para uma dada tarefa (ELLISLAB, INC., 2011, p.34).

De acordo com o Guia do usuário, escrito pela empresa mantenedora do projeto Ellislab (2011, p.34) e seus contribuintes, o CodeIgniter é ideal para o desenvolvedor que:

 Quer um framework leve com um grau de aprendizado pequeno;  Precisa de um desempenho excepcional;

 Precisa de compatibilidade entre os servidores de hospedagens;  Quer um framework que requer uma configuração quase zero;

 Quer um framework que não requer que você use a linha de comando;  Não quer ser forçado a aprender uma linguagem de templates (embora um parser de template esteja disponível opcionalmente, se você desejar um);

 Precisa de documentação clara e completa.

Além disso, o CodeIgniter utiliza o padrão de arquitetura de software MVC (Model, View, Controller) que separa a lógica de negócio da lógica de apresentação, permitindo um melhor controle na criação de softwares entre equipes, pois permite o desenvolvimento, teste e manutenção isolado de ambos.

O padrão MVC é composto por três camadas: model, view e controller. Cada camada será responsável por executar funções distintas dentro da aplicação e o núcleo do framework irá fazer a comunicação entre as camadas.

A camada Model (modelo) é a responsável por fazer a interação com o banco de dados. É o Model que tem contato com as informações armazenadas e que são mostradas ao usuário final. É no Model e somente no Model que as operações de select, insert, update e delete devem acontecer.

A camada View (visão), é a apresentação, é o que aparece, é o que é visualizado pelo usuário do sistema. É na View que todas as informações, incluindo às buscadas na Model, serão exibidas. É nessa camada também, que será aplicado o design da interface e a estrutura organizacional para que seja um ambiente agradável ao usuário final.

Já a camada Controller (controlador), como o próprio nome sugere é o responsável por controlar todo o fluxo do sistema. O controller é o ―cérebro‖ e o ―coração‖ da aplicação. É esta camada que faz comunicação entre a camada model e a camada view, desde o que vai ser consultado no banco de dados à tela que vai ser exibida para o usuário que usa o sistema.

A Figura 3 mostra o fluxo do sistema, criado com o codeigniter juntamente com o padrão de arquitetura MVC que está destacado, mostrando a comunicação entre as camadas e como as requisições são tratadas.

Figura 3 - Fluxo de dados do CodeIgniter.

Fonte: CodeIgniter (2011, p.36).

Documentos relacionados