18
Revista Pensar Tecnologia, v. 4, n. 1, jan. 2015 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. [email protected] 2 Graduando em Sistema de Informação pela Faculdade Infórium de Tecnologia. [email protected] 3 Mestre e Professor da Faculdade Infórium de Tecnologia.

Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

  • Upload
    ledien

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

Revista Pensar Tecnologia, v. 4, n. 1, jan. 2015

Desenvolvimento de Aplicações Web e Dispositivos Móveis UtilizandoFrameworks

Web Application Development and Mobile Devices Using Frameworks

Desarrollo de Aplicaciones Web y dispositivos móviles Marcos de Uso

Carlos Henrique Gonçalves Dias1

Wisney Almeida Amorim2

Nelson Ribeiro de Carvalho Júnior3

Resumo: Este artigo tem como tema uma análise de frameworks sob a perspectiva de demostrar aeficá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 dosframeworks na construção de softwares. Trata-se de uma pesquisa exploratória com base em umapesquisa 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 theeffectiveness of its use in the development process in web applications and mobile devices. The aimof the study is to present the advantages, facilities utilization and agility of frameworks in constructingsoftware. 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 mostrarla eficacia de su uso en el proceso de desarrollo de aplicaciones web y dispositivos móviles. Elobjetivo es dar a conocer las ventajas, el uso de las instalaciones y la agilidad de los marcos en laconstrucción de software. Se trata de un estudio exploratorio sobre la base de una revisión de laliteratura 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.

1Graduando em Sistema de Informação pela Faculdade Infórium de [email protected] em Sistema de Informação pela Faculdade Infórium de [email protected] e Professor da Faculdade Infórium de Tecnologia.

Page 2: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

Neste contexto, é tema de estudo deste artigo as vantagens da utilização de

frameworks4 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 Consortium5 (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 pessoais, 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.

4Frameworks são uma tecnologia promissora para a retificação projetos de software comprovadas eimplementaçõ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).

Page 3: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

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 Gap6,

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.

6Framework open-source para desenvolvimento de aplicaçõesweb e dispositivos móveis.

Page 4: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

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 podedesenvolver algo maior ou mais específico. É uma coleção de códigos-fonte, classes, funções, técnicas e metodologias que facilitam odesenvolvimento 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 sertornar mais ágeis. Através de equipes ágeis de sucesso essas empresasestão produzindo software de maior qualidade que atendem melhor àsnecessidades do usuário, com maior rapidez e a um custo menor do queequipes tradicionais. Além disso, quem não quer ser mais ágil? Hoje em diaa metodologia de desenvolvimento é uma realidade cada vez mais presentedentro 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.

Page 5: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

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 odesenvolvimento e a utilização do código de forma independente de cadaárea da produção. Se quisermos modificar o design, podemos fazê-lomanipulando apenas o CSS, sem se preocupar com HTML, Javascript ouprogramação server-side. Embora sejam independentes, a evolução decada camada influencia o caminho da outra. O CSS não consegue evoluirse o HTML manter-se congelado no tempo. Um dos principais problemasquando desenvolvíamos com tabelas era a mistura da formatação com ainformação. O código HTML estava tão entrelaçado com o código CSS quea manipulação do layout se tornava trabalhosa e muito cara. Não erapossível modificar colunas de lugar, características de textos ou até mesmotamanho dos elementos sem ter que modificar alguma coisa do códigoHTML. Nada era independente. Esse era um dos motivos que encareciamos projetos para web. Fazer um site entre os anos de 96 e 2001 não eracoisa 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 responsivo9. 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 variedadede plataformas de mesa e móveis, incluindo Android e iOS (iPhone/iPad).Para executar um aplicativo HTML5 em seu smartphone ou tablet, bastaabri-lo no navegador Web compatível com HTML5 do aparelho.(PAULDEITEL, 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 efontes.9 Design Responsivo é um conceito, referente ao desenvolvimento de sites que apresenta ainformação de forma acessível e confortável para os diversos meios de acesso, sendo estesaparelhos com telas de diversos tamanhos.

Page 6: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

aplicações disponíveis para diversos dispositivos móveis utilizando o mesmo código-

fonte.

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 nabase de dados, as operações de inclusão, exclusão e alteração sãopraticamente iguais para todas as tabelas envolvidas. Não teria sentidorepetir o esforço para desenvolver esse código-fonte várias vezes, e ageração dessas funções poderia ser automatizada por alguma ferramentacontida 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

Page 7: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

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-side11.O Hypertext Preprocessor (PHP)é uma das linguagens que são

utilizadas do lado do servidor. Elaé uma linguagem de script open-source12 de uso

geral, muito utilizada e especialmente guarnecida para o desenvolvimento de

aplicações web embútivel dentro do HTML (PHP, 2014).

10Disponível em: <http://tableless.com.br/dicas-de-como-fazer-seu-proprio-framework-css/>.Acesso em: 15 nov. 201411Server-side, ou “Lado do servidor”, é um termo usado para designar operações que são executadasno servidor.12Open-source, ou “Código aberto”, é um software livre que atende aos seguintes tópicos: distribuiçãolivre, código fonte, trabalhos derivados, integridade do autor, distribuição da licença, distribuição dalicença, não discriminação contra pessoas, grupos e áreas de atuação, não restrição a outrosprogramas e licença neutra em relação à tecnologia.

Page 8: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

Principais frameworks para desenvolvimento de aplicações web e para dispositivos

móveis.

Page 9: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

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.

Page 10: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

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)

Page 11: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

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, encapsulandodetalhes voláteis de implementação de relações estáveis. Frameworkmodularidade ajuda a melhorar a qualidade do software através dalocalização do impacto do design e implementação mudanças. Estalocalização reduz o esforço necessário para entender e manter softwareexistente.

Reutilização - As interfaces estáveis fornecidas pelos quadros aprimorara reutilização através da definição de componentes genéricos quepodem ser reaplicadas para criar novas aplicações. Frameworkreutilização aproveita o conhecimento de domínio e esforço antes dedesenvolvedores experientes, a fim de evitar a re-criação e re-validaçãode soluções comuns para os recorrentes requisitos das aplicações edesafios de design de software. A reutilização de componentes deestrutura pode produzir melhorias substanciais na produtividade doprogramador, bem como melhorar a qualidade, desempenho,confiabilidade e interoperabilidade de software.

Extensibilidade - Um quadro aumenta a extensibilidade do fornecimentode métodos de gancho explícitas [Pree: 94] que permitem que aplicativospara estender suas interfaces estáveis. Métodos de gancho dissociarsistematicamente as relações estáveis e os comportamentos de umdomínio de aplicação das variações exigidas por instâncias de umaaplicação em um contexto particular. Framework extensibilidade éessencial para garantir personalização atempada de novos serviços efuncionalidades 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 permiteque as etapas de processamento aplicação canônicas para serpersonalizado por objetos de manipulador de eventos que são chamadosvia mecanismo de envio reativa do quadro. Quando ocorrem eventos,expedidor do quadro reage chamando métodos de gancho em objetosmanipuladores pré-registrados, que realizam o processamento específicodo aplicativo sobre os acontecimentos. Inversão de controle permite queo quadro (em vez de cada aplicação) para determinar o conjunto demétodos específicos de aplicativos para invocar em resposta a eventosexternos (como mensagens de janela que chegam de utilizadores finaisou 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 sucessoframeworks de aplicação OO por muitos anos. Estruturas orientadas aobjetos iniciais (tal como MacApp e Entrevistas) originou-se no domínio dasinterfaces gráficas de usuário (GUIs). O Microsoft Foundation Classes(MFC) é uma estrutura de GUI contemporâneo, que se tornou o de factopadrão da indústria para a criação de aplicações gráficas em plataformas dePC. Embora MFC tem limitações (como a falta de portabilidade para

Page 12: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

plataformas não-PC), sua adoção generalizada demonstra os benefícios deprodutividade da reutilização de quadros comuns para desenvolveraplicativos 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 quepermite desenvolver aplicações em HTML5, CSS e JavaScript, facilitando otrabalho do desenvolvedor. Além disso, os frameworks, tais como oPHONEGAP, fornecem funcionalidades para os aplicativos Web purosacessarem a funcionalidade do dispositivo móveis possuindo suporte aalguns 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 JavaScript15, e é

especificadamente projetado para dispositivos móveis(OEHLMAN E BLANC, 2012).

[...] ele permite o uso de tecnologias web padrão, como HTML5, CSS3 eJavaScript, para o desenvolvimento multi-plataforma, com isso odesenvolvimento evita o uso de linguagens nativas que dificultaria ter umaaplicaçã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), suaexecução ocorre do lado do cliente.

Page 13: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

CSS3 e JavaScript, dispensando o uso de SDKs16 ou compiladores sem a

necessidade de utilizar a linguagem nativa dessas plataformas.(SANTIAGO, 2011)

PhoneGap é um dos muitos brindging frameworks (ferramenta de conexãoem dispositivos móveis). Embora o termo brindging framework não seja deuso geral atualmente, ele não representa muito bem aquilo para o qualforam projetados. No núcleo, O PhoneGap é o mais puro dessesframeworks, oferecendo apenas a estrutura básica requerida para acessaros recursos nativos, sem fazer nenhuma suposição a respeito de outraspartes 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-side17. (SANTIAGO, 2011)

O JavaScript tem se transformado na linguagem de programação maispopular da web. Inicialmente, no entanto, muitos profissionais denegriram alinguagem. Com o advento do Ajax, o JavaScript teve sua popularidade devolta e recebeu mais atenção profissional. O resultado foi a proliferação deframeworks e bibliotecas, práticas de programação melhoradas e o aumentono uso do JavaScript fora do ambiente de navegadores bem como o uso deplataformas 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-servidorem uma rede de computadores.

Page 14: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

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 Model18 (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 popularessuportam, tem se tornado uma linguagem alvo para muitos frameworks emoutras 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 casoda Adobe, que integrou o framework ao Adobe Dreamweaver, facilitando acriação de aplicativos para dispositivos móveis, podendo ainda testar estesaplicativos 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 é amplamenteconhecido e utilizado

Page 15: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

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.

Page 16: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

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.

Page 17: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

REFERÊNCIAS

BESTWEBFRAMEWORKS. Disponível em:<http://www.bestwebframeworks.com/compare-web-frameworks/php>. Acessadoem: 08 nov. 2014

CAKEPHP. Disponível em: <http://book.cakephp.org/2.0/en/cakephp-overview/what-is-cakephp-why-use-t.html>. Acessado em: 08 nov. 2014

CODEIGNITER. Disponível em:<http://www.codeigniter.com/user_guide/>. Acessadoem: 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.Aplicativosmóveis para navegadores com HTML5,CSS3, JavaScript e Web Storage. In:Androidpara 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/>. Acessoem: 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 aobjetos.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: 08nov. 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 deJaneiro: 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: 13mar. 2014

PHP. Disponível em:<http://php.net/manual/pt_BR/intro-whatis.php>. Acessado em:08 nov. 2014

Page 18: Frameworks Desarrollo de Aplicaciones Web y dispositivos …revistapensar.com.br/tecnologia/pasta_upload/artigos/a93.pdf · of the study is to present the advantages, facilities utilization

PHPFRAMEWORKS. Disponível em: <http://www.phpframeworks.com/top-10-php-frameworks/>. Acessado em: 08 nov. 2014

POPLADE, Thaiana. Ferramentas e sites para tornar mais ágil o seudesenvolvimento. 2013,Disponível em: <http://tableless.com.br/ferramentas-e-sites-prontos-para-tornar-seu-processo-de-desenvolvimento-mais-agil/>. Acesso em: 15nov. 2014

SANTIAGO, Mayron. PhoneGap com Android - Revista Mobile Magazine 39.2011.

Disponível em: <ww.devmedia.com.br/phonegap-com-android-revista-mobile-magazine-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/>. Acessadoem: 08 nov. 2014

ZEND FRAMEWORK. Disponível em:<http://framework.zend.com/about/>. Acessadoem 08 nov. 2014