Sunteți pe pagina 1din 7

FACULDADES INTEGRADAS DE CARATINGA

ROMRIO JOS HUEBRA HENRIQUE

ANLISE COMPARATIVA DE FRAMEWORKS JAVASCRIPT


PARA DESENVOLVIMENTO DE SISTEMAS NO MODELO
SPA

BACHARELADO EM CINCIA DA COMPUTAO

FIC MINAS GERAIS


2015

1 PROBLEMATIZAO

O ambiente web tem se tornado cada vez mais a escolha das empresas que
desejam desenvolver um novo software. Isso acontece graas facilidade de
acesso a esses sistemas, que em alguns casos tm como nico requisito um
navegador de internet instalado no sistema operacional, outro fator importante de
no existir a necessidade de instalar um sistema para que o mesmo seja usado.
Segundo Mazza (2012) estamos em uma poca revolucionria para o
desenvolvimento web. Graas a avanos como a banda larga possvel acessar a
internet por aparelhos de TV, smartphones, tablets e videogames. Com essas novas
possibilidades, surgiu a necessidade de aumentar a interatividade desses sites para
que eles possam concorrer de igual para igual com as aplicaes nativas desses
dispositivos. Ainda de acordo com Mazza (2012) diversas dessas melhorias se
devem a empresas que investem pesado em novas tecnologias web, dentre elas
podemos citar Google, Facebook, Microsoft e Apple.
Cannings, Dwivedi e Lackey (2008) dizem que com a Web 2.0, os
consumidores esto vendo um conjunto de tecnologias e solues para enriquecer a
experincia do usurio na Internet. Graas a essa evoluo, hoje possvel ver sites
da internet executando tarefas que somente programas nativos do sistema
operacional era capaz de fazer a 10 anos atrs.
Ainda de acordo com Cannings, Dwivedi e Lackey (2008) a web 2.0
composta por novas tecnologias que so usadas para trazer mais interatividade para
aplicaes web, com o uso de tecnologias como AJAX, CSS, Flash, XML e uso de
JavaScript avanado. Segundo Flanagan (2011) as principais linguagens e suas
responsabilidades so: o HTML que usado para especificar o contedo das
pginas web, CSS que usado para especificar a apresentao de pginas web, e
JavaScript que usado para especificar o comportamento de pginas web
Segundo Ogeden (2015) JavaScript uma linguagem de programao que
comeou como uma maneira de fazer pginas web mais interativas. Hoje em dia o
JavaScript executado em mais lugares do que apenas os navegadores da web.
Hoje em dia existem plataformas que permitem executar JavaScript em servidores,

em aplicativos de celulares, consoles de jogos e at mesmo em robs. Flanagan


(2011) diz que JavaScript a linguagem de programao mais ubqua da histria.
Para Elliott (2014) JavaScript no s a lngua dominante do lado do cliente
na Web. tambm a linguagem que tomou conta do mundo. uma das linguagens
de programao mais avanadas e expressivas desenvolvidas at a data. Esse
trabalho poderia ser feito sobre qualquer outra linguagem, porm o JavaScript a
linguagem de programao que tem ganho maior destaque ultimamente, sendo dita
por vrios autores como a linguagem que mais se expande para outras plataformas.
De acordo com Elliott (2014) em 2004 o Gmail estava tirando vantagem da
nova tecnologia AJAX, criando um single page application, rpido e gil que mudaria
para sempre a maneira que os aplicativos web so projetados.
J o Asynchronous JavaScript and XML (AJAX) uma maneira de usar o
JavaScript para efetuar queries no servidor depois que uma pgina j tiver sido
carregada, o que diz Messenlehner e Coleman (2014), o AJAX permite que um
sistema web busque dados em um servidor e que um cdigo-fonte JavaScript
manipule esses dados conforme o necessrio, isso evita a necessidade de
recarregar o sistema web para buscar uma nova informao, essa uma base
importante para as single page applications.
De acordo com Takada (2015) o modelo single page application (SPA)
distingue-se pela sua capacidade de redesenhar qualquer parte da interface do
usurio sem a necessidade de uma ir e voltar no servidor para recuperar cdigofonte HTML, ou seja, ao acessar uma nova pgina de um site no necessrio
buscar todos os arquivos do site novamente, todos os arquivos baixados na primeira
requisio permanecem at o usurio fechar o site, desse modo no h
recarregamento de contedo. Isso passa ao usurio a impresso de utilizar uma
aplicao nativa do sistema operacional, alm de reduzir o consumo de
processamento e memria do servidor e o consumo de rede do servidor e do
usurio.
O modelo SPA pode ser aplicado em qualquer plataforma que execute
JavaScript, ele pode ser aplicado em programas para Android, iOS, Windows Phone
entre outros graas ao Cordova que executa cdigo-fonte JavaScript em aplicativos
mobile. Pode ser aplicado tambm a complementos para o navegador Google
Chrome e tambm ao Chrome OS e tambm plataforma web por meio dos
navegadores. Com isso tendo um cdigo-fonte escrito para uma plataforma pode ser

facilmente portado para outra plataforma.


Assim como vrios modelos de desenvolvimento possuem frameworks que
facilitam o seu desenvolvimento, as aplicaes no modelo SPA tambm possuem
frameworks. Segundo Minetto (2007) um framework uma ferramenta que serve
como software base para o desenvolvimento de novos softwares maiores e mais
especficos. Trazendo uma coleo de cdigo-fonte, classes, funes, tcnicas e
metodologias para diminuir o trabalho necessrio para desenvolver um sistema,
aumentar a reusabilidade, facilitar a manuteno, aumentar a qualidade do software
final e assim reduzir custos.
Existem no mercado diversos fremeworks JavaScript que trazem facilidade no
desenvolvimento de sistemas no modelo SPA, dentre eles temos o Durandal,
Angular, Ember, scaleApp e muitos outros. Cada framework trabalha em uma
arquitetura de desenvolvimento diferente como o MVC, MVVM, MVP e alguns que
possuem seus prprios padres. Essa diversidade de ferramentas traz algumas
dificuldades ao desenvolvimento de sistemas e uma escolha errada pode levar o
desenvolvimento de um software ao fracasso.
Seshadri e Green (2014) dizem que o AngularJS um framework JavaScript
que faz uso do modelo SPA, e que usando ele voc ter que escrever menos
cdigo-fonte se comparar com uma soluo de JavaScript puro ou jQuery. O
AngularJS permite ter mais foco na lgica de negcio e nas funcionalidades do
ncleo da aplicao, e criar componentes que podem ser reutilizados em outras
partes da aplicao, cdigo-fonte mais limpo tambm um dos benefcios
levantados por Seshadri e Green (2014). Existem muitos outros benefcios e
tambm desvantagens nos vrios frameworks existentes que esse trabalho visa
levantar,
Em 2001 a CIO Magazine publicou um artigo com o ttulo Chega de
desperdiar US$ 78 bilhes por ano, sobre o fato de que as empresas americanas
gastavam bilhes em softwares que no faziam o que supostamente deveriam fazer.
A ComputerWorld tambm lamenta que:
Software de m qualidade est em praticamente todas as organizaes que
usam computadores, provocando horas de trabalho perdidas durante o
tempo em que a mquina fica parada, dados perdidos ou corrompidos,
oportunidades de vendas perdidas, custos de suporte e manuteno de TI
elevados e baixa satisfao do cliente.
(Hildreth, 2005)

A qualidade de software no pode ser definida em apenas uma expresso,

so vrios os fatores que trazem um software de qualidade, como o projeto do


software, o empenho da equipe, o tempo disponibilizado para o desenvolvimento do
projeto e as ferramentas de desenvolvimento. Software de qualidade o fator mais
importante dentro de uma empresa, um software de qualidade consome menos
recursos humanos, financeiros e tcnicos de uma empresa.
A qualidade de um projeto de software, se refere as caractersticas definidas
pelos projetistas a um produto. A qualidade dos materiais, as tolerncias e
as especificaes de desempenho, todos so fatores que contribuem para a
qualidade de um projeto.
(Pressman, 2011, p. 359)

Para Pressman (2011) a anlise e gesto de risco so aes que ajudam a


equipe a trabalhar com a incerteza. Muitos problemas podem acorrer com um
projeto, o risco um deles, ele podem ou no correr.
De acordo com Sommerville (2011) existem pelo menos 6 tipos de riscos que
podem ser includos em um projeto de desenvolvimento de software, um deles o
risco de tecnologia, que so riscos que derivam de software ou hardware usado no
desenvolvimento do sistema. Isso demonstra a importncia de utilizar o framework
certo no desenvolvimento de um software.
Para esse trabalho toma-se como marco terico o texto abaixo.
Especificao detalhada e avaliao de qualidade de produto de software
um fator-chave na garantia de qualidade adequada. importante que cada
caracterstica de qualidade de produto de software relevantes seja
especificada e avaliada, sempre que possvel usando medidas amplamente
aceitas ou validadas.
ISO/IEC 25010:2011 (2011)

A escolha das ferramentas para o desenvolvimento de um software afetam


todas as etapas de um projeto, desde o planejamento de custos de um software,
passando pelo treinamento de profissionais, manuteno de cdigo-fonte, reso de
cdigo-fonte e chegando at o usurio final como um software de qualidade ou no.
Vrios fatores destacados pela ISO/IEC 25010:2011 (2011) como sendo
fatores-chave na qualidade de um software, podem ser aplicados na avaliao de
um framework de desenvolvimento. Exitem fatores como, o desempenho,
compatibilidade, usabilidade, segurana, manutenibilidade, dentre outros, alguns
desses fatores precisam ser levemente adaptados para que a anlise dos
frameworks fique completa.

2 DELIMITAO DO OBJETO DE ESTUDO

Frameworks JavaScript que usam o modelo single page application.

3 REFERNCIAS

MINETTO, Lus Elton. Frameworks para Desenvolvimento em PHP, 1 edio.


So Paulo: Novatec, 2007, p. 17.
CANNINGS, Rich; DWIVEDI, Himanshu; LACKEY, Zane. Hacking Exposed
Web 2.0, 1 edio. New York: McGraw-Hill Osborne Media, 2008, p. 19-20.
SESHADRI, Shyam; GREEN, Brad. AngularJS: Up ang Running, 1 edio.
Sebastopol: O'Reilly Media, 2014, p. 3.
MESSENLEHNER, Brian; COLEMAN, Jason. Criando Aplicaes Web com
WordPress, 1 edio. So Paulo: Novatec, 2004, p. 299.
OGDEN, Max. JavaScript for Cats. Disponvel em: <http://jsforcats.com/>.
Acesso em: 29 de mar. 2015.
TAKADA,

Mikito.

Single

page

apps

in

depth.

Disponvel

em:

<http://singlepageappbook.com/>. Acesso em: 30 de mar. 2015.


ELLIOTT, Eric. Programming JavaScript Applications: Robust Web
Architecture with Node, HTML5, and Modern JS Libraries, 1 edio. Sebastopol:
O'Reilly Media, 2014, p. 1.
SOMMERVILLE, Ian. Engenharia de Software, 9 edio. So Paulo: Pearson
Prentice Hall, 2011, p. 417.
PRESSMAN, Roger S. Engenharia de software, uma abordagem profissional,
7 edio. New York: The McGraw-Hill Companies, 2011, p. 359.
HILDRETH, Sue. Buggy Software: Up From a Low-Quality Quagmire.
Disponvel em: <http://www.computerworld.com/article/2557403/appdevelopment/buggy-software--up-from-a-low-quality-quagmire.html>. Acesso em: 26
de mar. 2015.
LEVINSON, Meridith. SOFTWARE DEVELOPMENT - Let's Stop Wasting $78
Billion a Year. Disponvel em: http://www.cio.com/article/2441228/enterprisesoftware/software-development---let-s-stop-wasting--78-billion-a-year.html. Acesso
em 26 de mar. 2015.
MAZZA, Lucas. HTML5 e CSS3, 1 edio. So Paulo: Casa do Cdigo, 2012,
p. 1.
FLANAGAN, David. JavaScript: The Definitive Guide, 6 edio. Sebastopol:
O'Reilly Media, 2011, p 1.

S-ar putea să vă placă și