19
DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS MÓVEIS UTILIZANDO FRAMEWORKS 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 demonstrar 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 a 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 a forma 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.

DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Page 1: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS MÓVEIS

UTILIZANDO FRAMEWORKS

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 demonstrar 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 a 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 a forma 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 Tecnologia.

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

Page 2: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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 frameworkPhoneGap desenvolvido pela Nitoby Software. Listando suas

vantagens e facilidades na sua utilização.

Desenvolver softwares que utilizam 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 web sites 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 web e 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ária 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 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).

Page 3: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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 web e dispositivos móveis pode se 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 PhoneGap6,

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 móbile 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 frameworkPhoneGap; a seção 5 discussã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: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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 software

sem 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ódigos-fonte, 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 é demonstrar 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: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

Style Sheets(CSS)8se 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 responsivo9. Com a passagem HTML4 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 webou para dispositivos móveis utilizando a estrutura

webatualno processo de desenvolvimento se tornou mais aplicável, conforme se

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.

Page 6: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

destaca do pensamento Paul Deitel, et al (2013), tornado essas 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

de programar 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 se deve 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

Page 7: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

implementação facilitando assim seu uso. Estas comunidades realizam testes

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 seu funcionamento 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).

10

Disponível em: <http://tableless.com.br/dicas-de-como-fazer-seu-proprio-framework-css/>. Acesso em: 15 nov. 2014 11Server-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.

Page 8: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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

móveis.

Page 9: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

Figura 1. Adaptado pelos autores.

3.1Comparando os frameworks

Comparação dos recursos disponível em cada framework apresentando na

Figura2avaliando a disponibilidade dos mesmos, demonstrando 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 aberto Massachusetts

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 possuem 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: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

A figura 3 a seguir representa 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 discussõ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ícios da 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

custo e melhorar a qualidade do software. (FAYAD, Mohamed; SCHMIDT, Douglas,

2014)

Page 11: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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

Page 12: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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 demonstrar 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)

4FRAMEWORK 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 JavaScript15, 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.

Page 13: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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ã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ária 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 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.

Page 14: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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

Page 15: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

6 CONCLUSÃO

Para compreensão do tema do estudo, utilização de frameworks para o

desenvolvimento de aplicações web 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 frameworks

para 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 facilidade no processo de

desenvolvimento.

Os autores, Fayad e Schmidt (2014) apresentaram os benefícios 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ão

a 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: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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/what-is-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

Page 18: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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-php-frameworks/>. 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-sites-prontos-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-mobile-magazine-39/23128 >

Acesso em: 15 nov. 2014

SYMFONY. Disponível em:<http://symfony.com/about>. Acessado em: 08 nov. 2014

Page 19: DESENVOLVIMENTO DE APLICAÇÕES WEB E DISPOSITIVOS …revistapensar.com.br/tecnologia/pasta_upload/artigos/a147.pdf · tornou necessária, conforme assinala Paul Deitel et al. (2013)

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