Assessing the usage of new JavaScript features: a survey and mining study

dc.creatorThiago Augusto Nicolini Silva
dc.date.accessioned2023-07-17T12:34:29Z
dc.date.accessioned2025-09-09T01:31:10Z
dc.date.available2023-07-17T12:34:29Z
dc.date.issued2022-12-15
dc.description.abstractJavaScript é a linguagem de programação mais utilizada em aplicações web. Todos anos, uma nova versão dessa linguagem é lançada, adicionando novas funcionalidades muitas vezes mais performáticas e seguras. Entretanto, nem todos navegadores (e suas respectivas versões) são compatíveis com esses lançamentos. Da mesma forma, a adoção dessas funcionalidades pelos desenvolvedores não se dá de maneira imediata. Nesta dissertação, nós inicialmente aplicamos um questionário com 54 desenvolvedores JavaScript (com pelo menos 5 anos de experiência), obtendo uma taxa de resposta de 72\%. O objetivo é compreender quais são os principais motivos e desafios na adoção de novas funcionalidades JavaScript. A partir dos resultados, percebemos que questões ligadas à qualidade de código, como legibilidade, manutenibilidade e velocidade de desenvolvimento são os principais motivos para a adoção dessas novas funcionalidades. Os resultados também mostraram a importância dos transpiladores JavaScript, ferramentas que transformam o código da nova funcionalidade em um código JavaScript com sintaxe mais antiga, para superar o desafio da compatibilidade com os navegadores. Em seguida, realizamos um estudo de mineração em projetos open-source JavaScript para verificar o uso do plugin Babel, que é o transpilador JavaScript mais utilizado. Detectamos a presença do Babel em 35\% dos top 1000 projetos JavaScript do GitHub. Também investigamos, por meio de uma mineração de dados no Stack Overflow, os desafios enfrentados para utilizar essas novas funcionalidades. Concluímos que os transpiladores desempenham um papel importante no desenvolvimento de software moderno. Sem a presença dessas ferramentas, os desenvolvedores seriam limitados no uso de novas funcionalidades JavaScript devido a incompatilidade destas com os navegadores e suas versões mais antigas.
dc.identifier.urihttps://hdl.handle.net/1843/56367
dc.languageeng
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/pt/
dc.subjectComputação – Teses
dc.subjectJavaScript (Linguagem de programação de computador) – Teses
dc.subjectBrowsers (Programas de computador)- Compatibilidade – Teses
dc.subjectSoftware – Manutenção – Teses
dc.subject.otherJavaScript
dc.subject.otherTranspilers
dc.subject.otherBabel
dc.subject.otherBrowser Compatibility
dc.subject.otherSoftware maintenance
dc.titleAssessing the usage of new JavaScript features: a survey and mining study
dc.typeDissertação de mestrado
local.contributor.advisor-co1Eduardo Magno Lages Figueiredo
local.contributor.advisor1André Cavalcante Hora
local.contributor.advisor1Latteshttp://lattes.cnpq.br/4957418183504876
local.contributor.referee1Marco Tulio de Oliveira Valente
local.contributor.referee1Rafael Serapilha Durelli
local.creator.Latteshttp://lattes.cnpq.br/4939032983760238
local.description.resumoJavaScript is the most used programming language in web applications. Every year, a new version of this language is released, adding features that are often more performant and secure. However, not all browsers (and its respective versions) are compatible with these releases. Likewise, the adoption of these functionalities by developers does not happen immediately. In this master thesis, we initially applied a questionnaire to 54 JavaScript developers (with at least five years of experience), obtaining a response rate of 72\%. The goal is to understand the main reasons and challenges when adopting new JavaScript features. From the results, we realized that motives related to code quality, such as readability, maintainability, and development speed, are the main reasons for adopting these new features. The results also showed the importance of JavaScript transpilers, tools that transform new functionality code into JavaScript code with older syntax, to overcome the challenge of compatibility with browsers. Then, we do a mining study on open-source JavaScript projects to verify the use of the Babel plugin, which is the most used JavaScript transpiler. We detected the presence of Babel in 35\% of GitHub's top-1k JavaScript projects. Through data mining on Stack Overflow, we also investigated the challenges when using these new features. We conclude that transpilers play a relevant role in modern software development. Without these tools, developers would have limited usage of new JavaScript features due to their incompatibility with browsers and their older versions.
local.identifier.orcid0000-0002-6966-3895
local.publisher.countryBrasil
local.publisher.departmentICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
local.publisher.initialsUFMG
local.publisher.programPrograma de Pós-Graduação em Ciência da Computação

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
Thiago_Nicolini-New_JavaScript_Features___Dissertação__Modelo_Biblioteca_ (1).pdf
Tamanho:
1.1 MB
Formato:
Adobe Portable Document Format

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2.07 KB
Formato:
Plain Text
Descrição: