Desenvolvimento de Aplicações Web e Dispositivos Móveis Utilizando Frameworks. Web Application Development and Mobile Devices Using Frameworks



Documentos relacionados
Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Frameworks para criação de Web Apps para o Ensino Mobile

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Governança de TI. ITIL v.2&3. parte 1

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

ESCOLHA UM TESTE PARA EXECUTAR

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

PADRÕES PARA O DESENVOLVIMENTO NA WEB

Desenvolvendo Websites com PHP

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Corporativo. Transformar dados em informações claras e objetivas que. Star Soft.

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Google Android para Tablets

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

Artur Petean Bove Júnior Tecnologia SJC

Documento de Arquitetura

Figura 1 - Arquitetura multi-camadas do SIE

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Processos Técnicos - Aulas 4 e 5

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Forneça a próxima onda de inovações empresariais com o Open Network Environment

IMPORTÂNCIA DOS PADRÕES DE DESENVOLVIMENTO WEB

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

ATIVIDADES PRÁTICAS SUPERVISIONADAS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Por que Office 365? Office 365 Por que usar?

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

TÉCNICAS DE ESTRUTURAÇÃO PARA DESIGN RESPONSIVO: AMPLIANDO A USABILIDADE NO AMBIENTE WEB

Gerenciamento de software como ativo de automação industrial

ISHIFT: Informação em Movimento

Um Driver NDIS Para Interceptação de Datagramas IP

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Gestão de Relacionamento com o Cliente CRM

INSTITUTO VIANNA JÚNIOR LTDA FACULADE DE CIENCIAS ECONOMICAS VIANNA JUNIOR. Internet em dispositivos Móveis e Aparelhos Domésticos

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

ENGENHARIA DE SOFTWARE I

Scalable Vector Graphics. Kadu Neves Rafael Rocha

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Especificação Suplementar

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

Sistemas ERP. Profa. Reane Franco Goulart

Sistemas Distribuídos

agility made possible

Introdução à Computação

Web Services. Autor: Rômulo Rosa Furtado

Introdução ao Modelos de Duas Camadas Cliente Servidor

Adaptando o Plone para Plataformas Móveis. Fabiano Weimar dos Santos e Giuseppe Romagnoli

Desenvolvendo Websites com PHP

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

UFG - Instituto de Informática

Plone na Plataforma Mobile. Fabiano Weimar dos Santos e Giuseppe Romagnoli

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva

Curso ITIL Foundation. Introdução a ITIL. ITIL Introduction. Instrutor: Fernando Palma fernando.palma@gmail.com

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Apresenta. SofStore o mais novo aliado no gerenciamento do seu negócio

22 DICAS para REDUZIR O TMA DO CALL CENTER. em Clínicas de Imagem

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua Multiplataforma para Java e.net. Hudson

Planejando o aplicativo

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Projeto de Arquitetura

GARANTIA DA QUALIDADE DE SOFTWARE

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Integração de sistemas utilizando Web Services do tipo REST

Fábrica de Software 29/04/2015

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Afinal o que é HTML?

Projeto de Sistemas I

SenchaTouch + PhoneGap

PLATAFORMA DE DESENVOLVIMENTO DE APLICATIVOS CORPORATIVOS

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

BlackBerry Mobile Voice System

Professor: Curso: Disciplina:

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

pacotes de software na forma em que são É importante salientar que não é objetivo do software, suas atividades e produtos

Desenvolvimento híbrido versus desenvolvimento nativo de aplicativos móveis

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

APOO Análise e Projeto Orientado a Objetos. Requisitos

Semântica para Sharepoint. Busca semântica utilizando ontologias

Organização e Arquitetura de Computadores I. de Computadores

Transcrição:

Desenvolvimento de Aplicações Web e Dispositivos Móveis Utilizando Frameworks Web Application Development and Mobile Devices Using Frameworks Desarrollo de Aplicaciones Web y dispositivos móviles Marcos de Uso Carlos Henrique Gonçalves Dias 1 Wisney Almeida Amorim 2 Nelson Ribeiro de Carvalho Júnior 3 Resumo: Este artigo tem como tema uma análise de frameworks sob a perspectiva de demostrar a eficácia de sua utilização no processo de desenvolvimento em aplicações web e dispositivos móveis. O objetivo do estudo é apresentar as vantagens, facilidades de utilização e sua agilidade dos frameworks na construção de softwares. Trata-se de uma pesquisa exploratória com base em uma pesquisa bibliográfica sobre esta questão. Palavras-Chaves: Aplicações Web. Dispositivos móveis.frameworks.phonegap.processos ágeis. Abstract: This article is an analysis of theme frameworks from the perspective of showing the effectiveness of its use in the development process in web applications and mobile devices. The aim of the study is to present the advantages, facilities utilization and agility of frameworks in constructing software. This is an exploratory study based on a literature review on this issue. Keywords: Web applications. Mobile. Frameworks. PhoneGap. agile processes. Resumen: Este artículo se centra en uno de los marcos de análisis desde la perspectiva de mostrar la eficacia de su uso en el proceso de desarrollo de aplicaciones web y dispositivos móviles. El objetivo es dar a conocer las ventajas, el uso de las instalaciones y la agilidad de los marcos en la construcción de software. Se trata de un estudio exploratorio sobre la base de una revisión de la literatura sobre este tema. Palavras clave: Aplicaciones web. Los dispositivos móviles. Marcos. PhoneGap. Los procesos ágiles. 1 INTRODUÇÃO O aumento no uso de dispositivos móveis tem revolucionado como a sociedade se comunica e beneficia-se desses mecanismos para solucionar problemas. É cada vez mais fácil a utilização de smartphones e tablets para pagar uma conta, agendar uma entrevista, fazer uma chamada de vídeo conferência, acessar o saldo da conta bancária e até fazer uma compra. Entretanto o uso de diversos dispositivos móveis com sistemas operacionais diferentes torna difícil o desenvolvimento de aplicações que possam ser instaladas nesses dispositivos. 1 Graduando em Sistema de Informação pela Faculdade Infórium de Tecnologia. sou_rak@hotmail.com 2 Graduando em Sistema de Informação pela Faculdade Infórium de Tecnologia. wisney.amorim@gmail.com 3 Mestre e Professor da Faculdade Infórium de Tecnologia. Revista Pensar Tecnologia, v. 4, n. 1, jan. 2015

Neste contexto, é tema de estudo deste artigo as vantagens da utilização de frameworks 4 que auxiliam no processo de desenvolvimento de softwares para estrutura web em dispositivos móveis. Apresentar-se-á no estudo algumas dessas ferramentas que facilitam e agilizam na construção de softwares, avaliando suas diferenças e singularidades, bem como técnicas e inovações da atualidade, estrutura do framework Phone Gap desenvolvido pela Nitoby Software. Listando suas vantagens e facilidades na sua utilização. Desenvolver softwares que utiliza uma linguagem para múltiplas plataformas em conjunto com frameworks gera ganho no processo de desenvolvimento. Os frameworks são considerados como caixas de ferramentas que auxiliam, agilizam e facilitam o desenvolvimento de softwares. A World Wide Web Consortium 5 (W3C) definiu padrões para a criação e desenvolvimento de websites que facilita e normaliza a sua utilização.quando um projeto webé definido e segue esses padrões ele é capaz de beneficiar não só o usuário que o utiliza mas também todos que acompanha este software, o mesmo sendo compatível com as diversas versões e tipos de navegadores webe dispositivos (computadores pe ssoais, dispositivos móveis, etc.) provendo também recursos para que pessoas com necessidades visuais ou físicas tenham condições de utilizar e interagir com o mesmo. Assim, faz se necessário a agilidade na construção de software para atender a demanda e expectativas nas empresas, desenvolvendo aplicações web que sejam executadas em diversos dispositivos diferentes se torna essencial.a construção das aplicações devem ser robustas, seguras, eficientes, usual e amigável ao seu usuário, pois será o mesmo que utilizará a ferramenta disponibilizada. Para que isso seja possível é necessário a utilização de aplicações web e da internet para esses acessos. Vivencia-se a cada dia uma sociedade econômica mais competitiva e globalizada, o que torna essencial a utilização de padrões e procedimentos para o desenvolvimento e crescimento das atividades nas empresas. 4 Frameworks são uma tecnologia promissora para a retificação projetos de software comprovadas e implementações, a fim de reduzir o custo e melhorar a qualidade do software. 5 Principal organização de padronização da World Wide Web (www).

O objetivo das empresas é alcançar metas como alta produtividade, qualidade, eficiência, rapidez na execução e manutenção de serviços e produtos. Por isso faz-se necessário perguntar: a utilização de frameworks contribui para o processo de desenvolvimento de aplicações web em dispositivos móveis? A falta de conhecimento da existência dos frameworks, faz com que o processo de desenvolvimento se torne lento e cansativo, prejudicando a evolução das empresas. Ao descrever estes frameworks que auxiliam e agilizam o processo de desenvolvimento de software para webe dispositivos móveis podese demonstrar aspectos como qualidade, capacidade de adequação quando acessados e visualizados em dispositivos móveis, validação de sua estrutura e o processo de carregamento nos navegadores atuais. Assim o objetivo geral deste objeto de estudo é apresentar as vantagens de utilização de frameworks no processo de desenvolvimento de aplicações web em dispositivos móveis. O objetivo específico é descrever técnicas e inovações da atualidade para aplicações web em dispositivos móveis com a utilização do framework Phone Gap 6, bem como questionar e contextualizar formas e métodos de desenvolvimento ágeis para aplicações web e dispositivos móveis; comparar e avaliar a dependência da usabilidade de frameworks; demonstrar como o framework PhoneGap pode agilizar o desenvolvimento de aplicações web e mobile garantindo ótimos benefícios como a reuso de códigos, padronização de desenvolvimento e modularidade. Para melhor entendimento deste tema, este artigo foi dividido em cinco seções. A seção 1, compõe a introdução, e indicativa do estudo; a seção 2 apresenta os Frameworks; a seção 3 as necessidades de utilizar os frameworks; a seção 4 trata do framework Phone Gap; a seção 5 discusão sobre o assunto; a seção 6 trata as conclusões do artigo. 6 Framework open-source para desenvolvimento de aplicaçõesweb e dispositivos móveis.

2 FRAMEWORKS: FERRAMENTAS DE DESENVOLVIMENTO A utilização de frameworks contribui no processo de desenvolvimento de aplicações web em dispositivos móveis.pode-se obter vantagens na construção de softwares em organizações de forma a garantir agilidade,conforme assinala Minetto (2007),os frameworks permite a facilidade no processo de desenvolvimento de software por ser uma coleção métodos já prontos. Um framework de desenvolvimento é uma base de onde se pode desenvolver algo maior ou mais específico. É uma coleção de códigosfonte, classes, funções, técnicas e metodologias que facilitam o desenvolvimento de novos softwares. (MINETTO, 2007, p. 17) Destaca-se do pensamento de Minetto(2007) que um framework de desenvolvimento é o alicerce para o processo de construção de software. A agilidade é necessária para o desenvolvimento das aplicações, por este motivo as empresas buscam versatilidade no processo de construção de software, segundo Cohn (2011). Muitas empresas de desenvolvimento de software estão buscando ser tornar mais ágeis. Através de equipes ágeis de sucesso essas empresas estão produzindo software de maior qualidade que atendem melhor às necessidades do usuário, com maior rapidez e a um custo menor do que equipes tradicionais. Além disso, quem não quer ser mais ágil? Hoje em dia a metodologia de desenvolvimento é uma realidade cada vez mais presente dentro das fabricas de softwares, muitas utilizando a metodologia do Scrum. (COHN, 2011, p.25) A intenção é demostrar que pode se ganhar tempo ao desenvolver uma aplicação com seus respectivos requisitos de forma ágil e segura, que sugere Cohn(2011), com ajuda de frameworks que ajudam no processo de desenvolvimento de software robusto,mensurando o quanto é possível aumentar no ganho no processo de desenvolvimento software. O desenvolvimento de uma aplicação web deve ser um processo de fácil construção a reformulação da estrutura do HyperText Markup Language(HTML) 7, Cascading 7 HTML é a linguagem para descrever a estrutura de páginas da Web usando marcação.

Style Sheets(CSS) 8 se vez necessário, pois garante a agilidade na construção dessas aplicações, deixando de ser apenas páginas estáticas e engessadas. (EIS;FERREIRA, 2012) O desenvolvimento em camadas conhecido com client-side facilitam o desenvolvimento e a utilização do código de forma independente de cada área da produção. Se quisermos modificar o design, podemos fazê-lo manipulando apenas o CSS, sem se preocupar com HTML, Javascript ou programação server-side. Embora sejam independentes, a evolução de cada camada influencia o caminho da outra. O CSS não consegue evoluir se o HTML manter-se congelado no tempo. Um dos principais problemas quando desenvolvíamos com tabelas era a mistura da formatação com a informação. O código HTML estava tão entrelaçado com o código CSS que a manipulação do layout se tornava trabalhosa e muito cara. Não era possível modificar colunas de lugar, características de textos ou até mesmo tamanho dos elementos sem ter que modificar alguma coisa do código HTML. Nada era independente. Esse era um dos motivos que encareciam os projetos para web. Fazer um site entre os anos de 96 e 2001 não era coisa fácil. (EIS; FERREIRA 2012, p. 19) Com a utilização de frameworks e técnicas no processo de desenvolvimento é possível criar estrutura design responsivo 9. Com a passagemhtml4 para HTML5 e CSS2 para CSS3, estabeleceu melhorias no processo de desenvolvimento para aplicações web, conforme Poplade (2014). As novas propriedades dessas ferramentas precisam ser declaradas para gerar efeitos na interface. Com o surgimento de diversos dispositivos móveis,o aprimoramento das tecnologias de desenvolvimento e a evolução do HTML5 e CSS3 a construção de aplicações se tornou necessária, conforme assinala Paul Deitel et al. (2013). As novas de tecnologias do HTML5, combinadas CSS3 e JavaScript, é possível escrever aplicativos que são portáteis entre uma grande variedade de plataformas de mesa e móveis, incluindo Android e ios (iphone/ipad). Para executar um aplicativo HTML5 em seu smartphone ou tablet, basta abri-lo no navegador Web compatível com HTML5 do aparelho.(paul DEITEL, et al, 2013 p. 3) Ao desenvolver uma aplicação web ou para dispositivos móveis utilizando a estrutura web atual no processo de desenvolvimento se tornou mais aplicável, conforme destaca-se do pensamento Paul Deitel, et al (2013), tornado essas 8 CSS é a linguagem para descrever a apresentação de páginas da Web, incluindo cores, layout e fontes. 9 Design Responsivo é um conceito, referente ao desenvolvimento de sites que apresenta a informação de forma acessível e confortável para os diversos meios de acesso, sendo estes aparelhos com telas de diversos tamanhos.

aplicações disponíveis para diversos dispositivos móveis utilizando o mesmo códigofonte. 3 NECESSIDADE DE UTILIZAR FRAMEWORKS Trabalhar utilizando frameworks parte da necessidade do estudo prévio da ferramenta antes de colocá-la em pratica, pois encontrará forma diferente de utilizar essa ferramenta da qual não se está habituado promovendo a sensação de estar engessado, conforme Minetto (2014). Quando um desenvolvedor começa a estudar um novo framework, ele se depara muitas vezes, com uma forma diferente deprogramar ou até de pensar um sistema. (MINETTO, 2014, p. 17). Os desenvolvedores que utilizam algum framework estão familiarizados com sua estrutura, classes e bibliotecas, aplicar manutenção em software em que foi utilizado um framework se torna mais fácil, pois o mesmo segue os padrões de implementações por isso desta facilidade(minetto, 2007). Os frameworks trazem grandes vantagens, que não seja apenas a facilidade de implementação dentro dos padrões estabelecidos. Em parte podem ser automatizados em tarefas repetitivas, em operações que deve-se manipular dados vindos do banco de dados, as operações como inclusão, exclusão e alteração são praticamente iguais para todos na base de dados. Desta forma, não faz sentido repetir essa parte do código-fonte que podem ser automatizadas contida em uma ferramenta do framework(minetto, 2007). Em uma aplicação que tenha de manipular dados vindos de uma tabela na base de dados, as operações de inclusão, exclusão e alteração são praticamente iguais para todas as tabelas envolvidas. Não teria sentido repetir o esforço para desenvolver esse código-fonte várias vezes, e a geração dessas funções poderia ser automatizada por alguma ferramenta contida no framework. (MINETTO, 2007 p. 18) Outras vantagens dos frameworks é a facilidade de geração de testes automatizados, geração de documentação, separação de apresentação e lógica. Alguns frameworks são mantidos por comunidade de desenvolvimento que vão aprimorando sua estrutura gerando mais usabilidade de facilidade de manuseio e

implementação facilitando assim seu uso. Estas comunidade realizam teste minuciosos em seus frameworks antes de sua liberação (MINETTO, 2007, p. 18). Afirmando, o que assinala Minetto(2007) e seguindo a mesma linha de pensamento, Eis(2014) 10,cita as vantagens de usar frameworks que são: aumentar a eficiência, consistência e padrão de código, compatibilidade mais confiável, fácil manutenção e facilidade na repetição de tarefas. O funcionamento dos frameworks da atualidade se baseia em padrões definidos em padrões de projetos, pois são formas já testadas e documentadas de se resolver algum tipo de problema(minetto, 2007). A grande maioria dos frameworks existentes baseia seufuncionamento em um ou mais desses padrões (MINETTO, 2007, p. 19). No processo de desenvolvimento webé necessário a utilização de uma linguagem server-side 11.O Hypertext Preprocessor (PHP)é uma das linguagens que são utilizadas do lado do servidor. Elaé uma linguagem de script open-source 12 de uso geral, muito utilizada e especialmente guarnecida para o desenvolvimento de aplicações web embútivel dentro do HTML (PHP, 2014). 10 Disponível em: <http://tableless.com.br/dicas-de-como-fazer-seu-proprio-framework-css/>. Acesso em: 15 nov. 2014 11 Server-side, ou Lado do servidor, é um termo usado para designar operações que são executadas no servidor. 12 Open-source, ou Código aberto, é um software livre que atende aos seguintes tópicos: distribuição livre, código fonte, trabalhos derivados, integridade do autor, distribuição da licença, distribuição da licença, não discriminação contra pessoas, grupos e áreas de atuação, não restrição a outros programas e licença neutra em relação à tecnologia.

Principais frameworks para desenvolvimento de aplicações web e para dispositivos móveis.

Figura 1. Adaptado pelos autores. 3.1 Comparando os frameworks Comparação dos recursos disponível em cada frameworkapresentando na Figura2avaliando a disponibilidade dos mesmos, demostrando assim a necessidade da utilização destas ferramentas para o desenvolvimento de aplicações web. Figura 2. Adaptado pelos autores. Fonte: (BESTWEBFRAMEWORK, 2014). Essas ferramentas apresentam o tipo de licença de código abertomassachusetts Institute of Technology(MIT) 13 e Berkeley Software Distribution(BSD) 14. A figura 2 ainda traz informações sobre documentação, informando que todos os frameworks apresentados possui uma documentação, o que facilita seu entendimento e funcionamento. São compatíveis com a linguagem de programação PHP principalmente na versão 5, informações de cache e validação em que todas utilizam deste benefício. 13 MIT é uma licença de programa de computadores (Software). 14 BSD é uma licença de código aberto incialmente utilizada para sistemas operacionais.

A figura 3 a seguirrepresenta os melhores frameworks conforme o site PHPFRAMEWORKS (2014). Cada framework recebe votos conforme sua utilização dentro e fora das comunidades de desenvolvimento. Figura3. Adaptado pelos autores. Fonte: (PHPFRAMEWORKS, 2014). São disponibilizadas informações de discursões e uso de cada ferramenta, facilitando a escolha adequada do programador. Estes tipos de comparativos são eficientes pois eles irão influenciar na escolha de uma ferramenta mais estável e eficiente no momento, podendo apresentar suas vantagens e desvantagens. (PHPFRAMEWORKS, 2014) 3.2 Benefíciosda utilização dos frameworks Os frameworks são desenvolvidos com uma tecnologia de orientação a objetos, prometedora para usar projetos e execuções de software testados a fim de reduzir o cisto e melhorar a qualidade do software. (FAYAD, Mohamed; SCHMIDT, Douglas, 2014)

Ainda conforme o autor citado acima, os principais benefícios de frameworks decorrem da modularidade, usabilidade, extensibilidade e inversão de controle, a saber: Modularidade - Frameworks aprimorar modularidade, encapsulando detalhes voláteis de implementação de relações estáveis. Framework modularidade ajuda a melhorar a qualidade do software através da localização do impacto do design e implementação mudanças. Esta localização reduz o esforço necessário para entender e manter software existente. Reutilização - As interfaces estáveis fornecidas pelos quadros aprimorar a reutilização através da definição de componentes genéricos que podem ser reaplicadas para criar novas aplicações. Framework reutilização aproveita o conhecimento de domínio e esforço antes de desenvolvedores experientes, a fim de evitar a re-criação e re-validação de soluções comuns para os recorrentes requisitos das aplicações e desafios de design de software. A reutilização de componentes de estrutura pode produzir melhorias substanciais na produtividade do programador, bem como melhorar a qualidade, desempenho, confiabilidade e interoperabilidade de software. Extensibilidade - Um quadro aumenta a extensibilidade do fornecimento de métodos de gancho explícitas [Pree: 94] que permitem que aplicativos para estender suas interfaces estáveis. Métodos de gancho dissociar sistematicamente as relações estáveis e os comportamentos de um domínio de aplicação das variações exigidas por instâncias de uma aplicação em um contexto particular. Framework extensibilidade é essencial para garantir personalização atempada de novos serviços e funcionalidades da aplicação. Inversão de controle - A arquitetura de tempo de execução de um quadro é caracterizado por um inversão de controle'' Essa arquitetura permite que as etapas de processamento aplicação canônicas para ser personalizado por objetos de manipulador de eventos que são chamados via mecanismo de envio reativa do quadro. Quando ocorrem eventos, expedidor do quadro reage chamando métodos de gancho em objetos manipuladores pré-registrados, que realizam o processamento específico do aplicativo sobre os acontecimentos. Inversão de controle permite que o quadro (em vez de cada aplicação) para determinar o conjunto de métodos específicos de aplicativos para invocar em resposta a eventos externos (como mensagens de janela que chegam de utilizadores finais ou pacotes que chegam nas portas de comunicação).(fayad, Mohamed; SCHMIDT, Douglas, 2014) Benefícios que são eficazes para a construção de softwares, seguindo padrões e especificações dentro de suas características. Promovendo a facilidade de uso por programadores.(fayad, Mohamed; SCHMIDT, Douglas, 2014) Desenvolvedores em certos domínios têm aplicado com sucesso frameworks de aplicação OO por muitos anos. Estruturas orientadas a objetos iniciais (tal como MacApp e Entrevistas) originou-se no domínio das interfaces gráficas de usuário (GUIs). O Microsoft Foundation Classes (MFC) é uma estrutura de GUI contemporâneo, que se tornou o de facto padrão da indústria para a criação de aplicações gráficas em plataformas de PC. Embora MFC tem limitações (como a falta de portabilidade para

plataformas não-pc), sua adoção generalizada demonstra os benefícios de produtividade da reutilização de quadros comuns para desenvolver aplicativos de negócios gráficos.(fayad, Mohamed; SCHMIDT, Douglas, 2014) Os frameworks são utilizados pelas maiores empresa de desenvolvimento de aplicações podendo demostrar que a utilização dessas ferramentas facilitam a construção de aplicações e softwares mais robustos, promovendo ganhos e benefícios de produtividade e reutilização de código. (FAYAD, Mohamed; SCHMIDT, Douglas, 2014) 4 FRAMEWORK PARA DESENVOLVIMENTO MOBILE: PHONEGAP O PhoneGap é um framework utilizado para o desenvolvimento de aplicações web e dispositivos móveis open-souce. Fornece um ambiente para hospedar seu conteúdo HTML5/CSS/JavaScript dentro de um fino invólucro nativo(phone, 2014). O PHONEGAP é um framework para o desenvolvimento web e mobile que permite desenvolver aplicações em HTML5, CSS e JavaScript, facilitando o trabalho do desenvolvedor. Além disso, os frameworks, tais como o PHONEGAP, fornecem funcionalidades para os aplicativos Web puros acessarem a funcionalidade do dispositivo móveis possuindo suporte a alguns recursos de extrema utilidade como: acelerômetro, câmera, compass, contatos, file, geolocalização, media, network, notificação (alert), notificação (sound), notificação (vibration) e storage embutidos no HTML. (OEHLMAN E BLANC, 2012, p.243) Uma aplicação web para dispositivos móveis é um aplicativo construído com as tecnologias web centradas no cliente em HTML, CSS e JavaScript 15, e é especificadamente projetado para dispositivos móveis(oehlman E BLANC, 2012). [...] ele permite o uso de tecnologias web padrão, como HTML5, CSS3 e JavaScript, para o desenvolvimento multi-plataforma, com isso o desenvolvimento evita o uso de linguagens nativas que dificultaria ter uma aplicação que seja acessado por diversas plataformas móveis. (PHONEGAP, 2014) Esta ferramenta disponibiliza recursos para o desenvolvimento em qualquer plataforma com suporte para os sistemas operacionais ios, Android, Palm, Symbiam e Windows Phone. Com ele é possível desenvolver aplicações utilizando HTML5, 15 JavaScript é uma linguagem de programação baseada em scripts client-side (Lado do cliente), sua execução ocorre do lado do cliente.

CSS3 e JavaScript, dispensando o uso de SDKs 16 ou compiladores sem a necessidade de utilizar a linguagem nativa dessas plataformas.(santiago, 2011) PhoneGap é um dos muitos brindging frameworks (ferramenta de conexão em dispositivos móveis). Embora o termo brindging framework não seja de uso geral atualmente, ele não representa muito bem aquilo para o qual foram projetados. No núcleo, O PhoneGap é o mais puro desses frameworks, oferecendo apenas a estrutura básica requerida para acessar os recursos nativos, sem fazer nenhuma suposição a respeito de outras partes da construção de seu aplicativo (OEHLMAN; BLANC, 2012, p. 243) A construção de aplicativos móveis utilizando o frameworkphonegap apresenta grandes vantagens,uma delas e o acesso as funcionalidades nativas de cada sistema operacionalios, Android, Palm,Symbiam e Windows Phone, este framework trata estas funcionalidades em especial. A segunda situação, é a simplicidade de empacotar um aplicativo com o Phonegap em estágios posteriores(oehlman E BLANC, 2012). Desenvolver uma aplicação web e utilizar a mesma construção da aplicação em uma aplicação para disposto móveis utilizando os frameworks, sem que seja necessário a reconstrução para cada plataforma especifica.(oehlman E BLANC, 2012) A ferramenta de desenvolvimento mobile com grande potencial apresenta grandes vantagens, principalmente com o retorno da popularização da linguagem JavaScript, que havia perdido sua imagem entre os programadores por ser uma linguagem client-side 17. (SANTIAGO, 2011) O JavaScript tem se transformado na linguagem de programação mais popular da web. Inicialmente, no entanto, muitos profissionais denegriram a linguagem. Com o advento do Ajax, o JavaScript teve sua popularidade de volta e recebeu mais atenção profissional. O resultado foi a proliferação de frameworks e bibliotecas, práticas de programação melhoradas e o aumento no uso do JavaScript fora do ambiente de navegadores bem como o uso de plataformas de JavaScript server-side. (SANTIAGO, 2011) 16 SKD Software Development Kit (Kit de Desenvolvimento de Software). 17 Refere-se as operações que são executadas pelo cliente em um relacionamento cliente-servidor em uma rede de computadores.

Com o uso primário do JavaScript no Framework PhoneGap é possível escrever funções que são transferidas para as páginas HTML e que se entregam com o Document Object Model 18 (DOM). A vantagem da utilização da linguagem JavaScripté rodar diretamente no navegador local promovendo uma comunicação mais rápida do que um comunicação com o servidor remoto.(santiago, 2011) JavaScript a única linguagem que a maioria dos navegadores populares suportam, tem se tornado uma linguagem alvo para muitos frameworks em outras linguagens, a despeito do fato de não ter sido planejado para tal. (SANTIAGO, 2011) Destaca do pensamento de Santiago (2011), que o JavaScript se tornou alvo para muitos frameworks por ser uma linguagem disponibilizada na maioria dos navegadores. O PhoneGap já está sendo utilizado por diversas empresas, como é o caso da Adobe, que integrou o framework ao Adobe Dreamweaver, facilitando a criação de aplicativos para dispositivos móveis, podendo ainda testar estes aplicativos em emuladores a partir do próprio editor do Dreamweaver. (SANTIAGO, 2011) Torna-se fácil a utilização de framewoks principalmente o Phonegap que em sua estrutura apresente uma linguagem popular como o JavaScript, sendo utilizado por diversas empresa.(santiago, 2011) 18 Modelo de Objeto do Documento é a interface entre a linguagem Javascript e os objetos do HTML. DOM é o método padrão para construção de aplicações ricas com Javascript e é amplamente conhecido e utilizado

5 DISCUSSÃO SOBRE UTILIZAÇÃO DOS FRAMEWORKS A utilização dos frameworks traz grandes benefícios para o desenvolvimento de aplicações web e dispositivos móveis, como reuso de código garantindo agilidade no desenvolvimento, redução de custos, melhor compatibilidade entre as aplicações e visualização em diversos dispositivos diferentes. Para atender as necessidades deste projeto foi utilizado como objetivo de pesquisa o framework PhoneGap, devida à sua facilidade de utilização e integração para diversas plataformas e sistema operacionais através de APIs padronizadas com isso a estrutura desenvolvida através do PhoneGapé a mesma utilizada no formato web(html, CSS e JavaScript). Os frameworks em geral possuem desvantagens que devem ser ressaltadas.a construção de um framework é demorada, a velocidade com que nova APIs surgem no mercado dificulta essa integração levando a equipe que desenvolveu o framework prover integração com estas novas APIs, isso gasta tempo dos desenvolvedores. Os esforços para desenvolver este trabalho trouxeram os resultados esperados, já que foi possível apresentar as principais vantagens e desvantagens da utilização de frameworks para o desenvolvimento de aplicações web e dispositivos móveis.contribuindo para a experiência acadêmica dos discentes, além de demonstrar que a utilização dessas ferramentas é um diferencial competitivo no mercado garantindo qualidade e padronização das aplicações móveis.

6 CONCLUSÃO Para compreensão do tema do estudo, utilização de frameworks para o desenvolvimento de aplicaçõesweb e dispositivos móveis, buscou-se inicialmente rever a base conceitual e teórica sobre esta questão. Assim, a fundamentação teórica permitiu verificar que a utilização de frameworks para o processo de desenvolvimento, necessita de atenção especial por parte dos programadores, pois essas ferramentas podem diminuir o seu esforço ao desenvolver um programa. Autores como Minetto (2007) e Eis (2014) caracterizam a utilização do frameworkspara o processo de desenvolvimento como eficiente, seguindo uma consistência e padrão de código, compatibilidade mais confiável, fácil manutenção e facilidade na repetição de tarefas. Permitindo afirmar que a utilização de frameworks na construção de softwares proporciona agilidade, eficácia e facilidadeno processo de desenvolvimento. Os autores, Fayad e Schmidt (2014) apresentaram os benefício da utilização dos frameworks, levantando o uso dessas ferramentas dentro de organizações que compõe referência mundial em construção de softwares. Desta forma, pode-se concluir que a utilização de frameworks é adequada para o processo de desenvolvimento por manter uma transparência em sua usabilidade, essas ferramentas direcionarão o programador com certa fluidez no processo de construção do software garantindo agilidade e padrão de código que proporcionarãoa facilidade na manutenção do mesmo, gerando ganhos para as empresas que utilizam essas ferramentas. Diante do exposto, pode-se afirmar que a pergunta da pesquisa de estudo foi respondida e os objetivos alcançados.

REFERÊNCIAS BESTWEBFRAMEWORKS. Disponível em: <http://www.bestwebframeworks.com/compare-web-frameworks/php>. Acessado em: 08 nov. 2014 CAKEPHP. Disponível em: <http://book.cakephp.org/2.0/en/cakephp-overview/whatis-cakephp-why-use-t.html>. Acessado em: 08 nov. 2014 CODEIGNITER. Disponível em:<http://www.codeigniter.com/user_guide/>. Acessado em: 08 nov. 2014 COHN, Mike. Desenvolvimento de Software com Scrum, Aplicando Métodos Ágeis com Sucesso. 1. ed. Porto Alegre: Ed. Bookman, 2011. p. 25 DEITEL, Paul.et al. Aplicativo FavoriteTwitter Searches emhtml5.aplicativos móveis para navegadores com HTML5,CSS3, JavaScript e Web Storage. In:Android para Programadores. Uma abordagem baseada em aplicativos. 1. Ed. São Paulo. Ed. Bookman, 2013. Cap. 19 p. 3 EIS, Diego. Dicas de como fazer seu próprio framework CSS. Disponível em: <http://tableless.com.br/dicas-de-como-fazer-seu-proprio-framework-css/>. Acesso em: 15 nov. 2014 EIS, Diego; Ferreira, Elcio.Desenvolvimento client-side inteligente. São Paulo. Disponível em: <http://facos.edu.br/moodle27/pluginfile.php/26889/mod_resource/content/2/apostila/ 07112012-143935_Livro%20HTML5%20e%20CSS3.pdf >. Acesso em: 24 abr. 2014 FAYAD, Mohamed; Schmidt, Douglas.Frameworks de aplicação orientadas a objetos.disponível em: <http://www.cs.wustl.edu/~schmidt/cacm-frameworks.html> Acessado em: 15 nov. 2014 JQUERY. Disponível em:<http://learn.jquery.com/about-jquery/>. Acessado em: 08 nov. 2014 MINETTO, Elton. Frameworks para Desenvolvimento em PHP. 1. Ed.São Paulo: Novatec Editora, 2007. p. 17-19. OEHLMAN, Damon; Blanc, Sébastien. Aplicativos Web Pro Android, Desenvolvimento Pro Android Usando HTML5, CSS3 & JavaScript. 1.Ed. Rio de Janeiro: Ed. Ciência Moderna LTDA, 2012. p. 243 PHONEGAP. Disponível em: <http://docs.phonegap.com/en/3.4.0/guide_overview_index.md.html>. Acesso em: 13 mar. 2014 PHP. Disponível em:<http://php.net/manual/pt_br/intro-whatis.php>. Acessado em: 08 nov. 2014

PHPFRAMEWORKS. Disponível em: <http://www.phpframeworks.com/top-10-phpframeworks/>. Acessado em: 08 nov. 2014 POPLADE, Thaiana. Ferramentas e sites para tornar mais ágil o seu desenvolvimento. 2013,Disponível em: <http://tableless.com.br/ferramentas-e-sitesprontos-para-tornar-seu-processo-de-desenvolvimento-mais-agil/>. Acesso em: 15 nov. 2014 SANTIAGO, Mayron. PhoneGap com Android - Revista Mobile Magazine 39. 2011. Disponível em: <ww.devmedia.com.br/phonegap-com-android-revista-mobilemagazine-39/23128 > Acesso em: 15 nov. 2014 SYMFONY. Disponível em:<http://symfony.com/about>. Acessado em: 08 nov. 2014 W3C BRASIL. Disponível em:<http://www.w3c.br/home/webhome>. Acessado em: 15 nov. 2014 YII FRAMEWORK. Disponível em:<http://www.yiiframework.com/about/>. Acessado em: 08 nov. 2014 ZEND FRAMEWORK. Disponível em:<http://framework.zend.com/about/>. Acessado em 08 nov. 2014