• Nenhum resultado encontrado

Os micro frameworks web back-end foram selecionados utilizando a plataforma do Github. Porém, se fosse utilizado outra plataforma de armazenamento distribuído de código, possivelmente resultaria na seleção de outros micro frameworks web back-end. Para mitigar essa ameaça é utilizado uma plataforma que foi empregada em muitos trabalhos na literatura, como por exemplo (XAVIER, COELHO e L., 2018), (ALMEIDA, 2018) e (COUTO e FOSCHINI, 2015).

59

7 CONCLUSÃO E TRABALHOS FUTUROS

Este trabalho teve como objetivo principal apresentar um estudo comparativo entre os micro framework web back-end em Java mais populares da plataforma do Github, usando para alcançar esse objetivo critérios de comparação relevantes extraidos de trabalhos cientificos. No Quadro 17 é mostrado os resultados.

Quadro 17 – Comparação dos micro frameworks.

Critérios Spark Jooby Pippo

Documentação Boa Regular Muito Boa

Curva de aprendizado Curta Média Curta

Popularidade Alta Média Baixa

Suporte a IOC Não Sim Sim

Suporte a REST Sim Sim Sim

Validação da entrada Sim Sim Sim

Artigos publicados Muitos Poucos Poucos

Tamanho da comunidade Média Pequena Inexistente

Fonte: Elaborado pelo Autor.

É esperado que, com a avaliação dos micro frameworks nesses critérios, mesmo que estes sejam subjetivos, seja possível auxiliar principalmente os desenvolvedores na escolha dessas tecnologias para um determinado projeto e também prover para quaisquer pesquisador ou grupo de pesquisadores, uma base na área de estudo de micro framework web back-end.

A utilização de qualquer um dos micro frameworks estudados neste trabalho garantem a obtenção de boa parte dos beneficios que um framework de aplicação trás, em qualquer área, seja ela web, mobile, desktop e até mesmo em dispositivos com sistemas embarcados.

Segundo a avaliação do pesquisador o micro framework web back-end considerado o melhor dentre os três selecionados é o Spark, pelos seguintes motivos:

 Sua documentação é completa, correta (tem exemplos de código que funcionam) e demonstra variadas formas de uso da ferramenta.

 A curva de aprendizado foi curta, dado o fato que é necessario ter conhecimento apenas nas features do Java 8, como por exemplo, funções Lambda.

 No Suporte a IOC apesar de não possuir, o Spark sugere uma alternativa a esse conceito com as dependências estáticas.

60

Dado que o presente trabalho tem como objeto de estudo micro frameworks, onde umas da caracteristicas principais é minimalismo, foi elaborado uma tabela com a demonstração da diferença entre a quantidade de linhas de código das classe da camada de Controller da aplicação de teste bem como o tamanho em KB, para ilustrar qual das ferramentas obteve a melhor colocação no quesito supracidato. A Tabela 1 mostra este resultado.

Tabela 1 – Diferença de linhas de código e tamanho em KB das implementações.

Micro frameworks N° linhas Tamanho em KB

Spark 149 1.40

Jooby 258 2.49

Pippo 226 1.60

Fonte: Elaborado pelo Autor.

Trabalhos futuros identificados a partir das descobertas deste trabalho sugerem: i) Analisar outros critérios de comparação, como desempenho por exemplo. ii)Analisar mais micro frameworks como o Rapidoid e iii) Analisar micro frameworks implementados em outras linguagens como por exemplo Python com o Flask.

61

REFERÊNCIAS

ABES. Mercado Brasileiro de Software. Panorâma e Tendências. São Paulo: [s.n.], v. I, 2018.

ALMEIDA, F. E. V. D. Um comparativo entre frameworks JavaScript para

desenvolvimento de aplicações front-end. Trabalho de Conclusão de Curso bacharelado em Engenharia de Software, Quixadá, p. 45, 2018.

AMARAL, R. A. D.; NERIS, V. P. D. A. Análise comparativa entre frameworks de front- end para aplicações web ricas visando reaproveitamento do back-end. Tecnologias, Infraestrutura e Software (TIS), São Carlos, v. IV, n. 1, p. 88-96, Janeiro 2015.

BAGESTAN, F. H. Estudo comparativo de frameworks PHP, com enfoque no

Codeigniter. Monografia de Graduação, Sistemas para Internet do Instituto Federal Sul-rio- grandense, Campus Passo Fundo. PASSO FUNDO, v. I, n. 1, 2016.

BERNERS-LEE, T. Information Management: A Proposal. CERN, v. I, p. 1-21, [S.l], Maio 1990.

BERNERS-LEE, T.; CAILLIAU, R.; GROFF, J.-F. The world-wid web. Computer Networks and ISDN Systems, Geneva, I, 1992. 454-459.

BONFIM, T. et al. Padrão para Validação de Entrada de Dados de Usuários. Universidade Federal do Vale do São Francisco (UNIVASF) , Juazeiro-BA, p. 10, 2010.

COUTO, R. S.; FOSCHINI, I. J. Análise comparativa entre dois Frameworks MVC para a Plataforma Java EE: JSF e VRaptor. Revista T.I.S (Tecnologias, Infraestrutura e Software), São Carlos, v. IV, p. 11, jul. 2015.

EIS, D. Guia Front-End - O Caminho das Pedras para ser um dev Front-End. [S.l.]: Casa do Código, v. I, 2015.

FLASK. index. Flask, [S.l], 2010. Disponivel em: https://flask.palletsprojects.com/en/1.1.x/. Acesso em: 25 Ago. 2019.

FOWLER, M. InversionOfControl. [S.l], 2005. Disponivel em:

https://martinfowler.com/bliki/InversionOfControl.html. Acesso em: 07 Dez. 2019.

FRANCO, R. S. T. Estudo comparativo entre frameworks java para desenvolvimento de aplicações web: JSF 2.0, Grails e Spring web MVC. (Monografia de especialização) - Departamento Acadêmico de Informática da Universidade Tecnológica Federal do Paraná .Curitiba, p. 90, 2011.

GERDESSEN, A. Framework comparison method. Tese de mestrado em engenharia de software pela universidade de Amsterdam, Amsterdam, p. 78, 13 ago. 2007.

GIANNINI, N. J. Vulnerable Web Application Framework. University of Rhode Island - DigitalCommons@URI - Open Access Master's Theses, Kingston, v. I, n. 629, p. 1-79, 2015. IDEAL MARKETING. Web 4.0. Ideal Blog, [S.l,], 2018. Disponivel em:

62

JOOBY. index. Jooby.org. . [S.l], 2014. Disponivel em: https://jooby.org/. Acesso em: 03 maio 2019.

LERDORF, R. into-whatis. Php, [S.l], 1995. Disponivel em:

https://www.php.net/manual/pt_BR/intro-whatis.php. Acesso em: 27 maio 2019.

MALHOTRA, R. Rapid Java Persistence and Microservices. In: MALHOTRA, R. Rapid Java Persistence and Microservices. Berkeley: Apress, v. I, 2019. Cap. 2, p. 9-25. MARKOFF, J. Entrepreneurs See a Web Guided by Common Sense. The New York Times, San Francisco, Nov 2006. Disponivel em:

https://www.nytimes.com/2006/11/12/business/12web.html. Acesso em: 21 maio 2019. MATTSON, M. Object-Oriented Frameworks. A survey of methodological issues. Tese (Licenciatura em Ciência da Computação) Departamento de Ciência da Computação, Universidade de Lund, Sweden, p. 128, 1996.

MDN. Introduction. MDN web docs, [S.l], 2005. Disponivel em:

https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Introduction. Acesso em: 14 maio 2019.

MOREIRA, D. D. R. Um estudo da tecnologia Web 2.0. (Monografia) - Curso de

Bacharelado em Ciência da Computação. Universidade Federal de Goiás Campus Catalão. Catalão, v. I, n. 1, p. 1-101, 2009.

NEW MEDIA CAMPAIGNS. An-interview-with-the-founder-of-slim-php-framework- our-josh-lockhart. New Media Campaigns, [S.l], 2014. Disponivel em:

https://www.newmediacampaigns.com/blog/an-interview-with-the-founder-of-slim-php- framework-our-josh-lockhart. Acesso em: 02 maio 2019.

ORACLE CORPORATION. java. Java, [S.l], 1991. Disponivel em: https://www.java.com/pt_BR/. Acesso em: 27 maio 2019.

O'REILLY, T. what is web 2.0. 0reilly, [S.l], 2005. Disponivel em:

https://www.oreilly.com/pub/a/web2/archive/what-is-web-20.html. Acesso em: 12 maio 2019. PATRIOTA, K. R. M.; PIMENTA, R. D. D. H. Da Mídia 2.0 para a Mídia 3.0 perspectivas da próxima onda na Web. XXXI Congresso Brasileiro de Ciências da Comunicação. Natal- RN: [s.n.]. 2008. p. 14.

PETRIJEVCANIN , V.; SUDAREVIC, B. Use of Web Application Frameworks in the Development of Small Applications. Proceedings of the 34th International Convention MIPRO. Opatija, Croatia.: [s.n.]. 2011. p. 5.

PIPPO. Home. Pippo Micro Java Web Framework, [S.l], 2014. Disponivel em: http://www.pippo.ro/. Acesso em: 02 Dez 2019.

PIVOTAL. Spring Boot. Spring Boot, [S.l], 2017. Disponivel em: https://spring.io/projects/spring-boot. Acesso em: 23 Nov 2019.

63

ROSA, T. P. Um método para o desenvolvimento de software baseado em microsserviços. Trabalho de Conclusão de Curso bacharelado em Engenharia de Software, Quixadá, p. 66, 2016.

ROSSUM, G. V. index. Python, [S.l], 1991. Disponivel em: https://www.python.org/. Acesso em: 27 maio 2019.

SANTOS, T. R. D. Análise e Comparação de Frameworks para o Desenvolvimento Web em Java. Monografia de Graduação, Universidade Federal de Santa Catarina, Departamento de Informática e Estatística, Curso de Sistemas de Informação., Florianópoles, p. 60, 2007. SAXENA, R. App Architecture – Understanding Frontend, Backend and Web Servers. City Kitty Design, [S.l], 2018. Disponivel em: http://citykittydesign.com/app-architecture- understanding-frontend-backend-and-web-servers/. Acesso em: 29 maio 2019.

SCHMIDT, D.; FAYAD, M. Object-Oriented Application Frameworks. Communications of the ACM, p. 7, set. 1997.

SETH GODIN. web4. sethsblog, [S.l], 2007. Disponivel em: https://seths.blog/2007/01/web4/. Acesso em: 23 maio 2019.

SILVA, M. F. Utilização dos modelos full-stack framework e micro-framework para o desenvolvimento de aplicações web escaláveis em linguagem php. Monografia de Graduação, Faculdade de Ciência da Computação das Faculdades Integradas de Caratinga, Caratinga, v. I, n. 1, p. 1-77, Dezembro 2016.

SINATRA. intro. Sinatra website, [S.l], 2007. Disponivel em: http://sinatrarb.com/intro.html. Acesso em: 02 maio 2019.

SLIM FRAMEWORK. index. Slim, [S.l], 2010. Disponivel em: https://www.slimframework.com/. Acesso em: 30 maio 2019.

SOMMERVILLE, I. Engenharia de Software. 9°. ed. [S.l.]: Pearson, v. I, 2011.

SPARKJAVA. index. Spark, [S.l], 2011. Disponivel em: http://Spark.com/. Acesso em: 03 maio 2019.

STRUCTURIZR. Spring PetClinic. Structurizr. [S.l], 2010. Disponivel em: https://structurizr.com/share/1/diagrams#components. Acesso em: 01 Dez 2019. TECHEMPOWER. Round 18. TechEmpower, [S.l], 2019. Disponivel em:

https://www.techempower.com/benchmarks/#section=data-r18&hw=ph&test=plaintext&a=2. Acesso em: 07 Dez 2019.

WILLEMMANN, D. P.; IBARRA, G. B. Framework Java de Apoio ao Desenvolvimento de Aplicações Web com Banco de Dados, utilizando Struts, Tiles e Hibernate. Monografia de Graduação, Universidade Federal de Santa Catarina, Centro Tecnológico, Departamento de Infromática e Estatística. Florianópolis, v. I, n. 1, p. 1-155, 2007.

64

XAVIER, L.; COELHO, J.; L., L. S. Um Estudo Empírico sobre Critérios de Seleção de Repositórios GitHub. Conferência Brasileira de Software (CBSOFT) - VI Workshop de Visualização, Manutenção e Evolução de Software (VEM). São Carlos: [s.n.]. 2018. p. 8.

Documentos relacionados