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

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: Thiago Augusto Nicolini Silva
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Minas Gerais
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://hdl.handle.net/1843/56367
Resumo: JavaScript é 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.
id UFMG_d816aa7d538ba9602e7ca97f084d1699
oai_identifier_str oai:repositorio.ufmg.br:1843/56367
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Assessing the usage of new JavaScript features: a survey and mining studyComputação – TesesJavaScript (Linguagem de programação de computador) – TesesBrowsers (Programas de computador)- Compatibilidade – TesesSoftware – Manutenção – TesesJavaScriptTranspilersBabelBrowser CompatibilitySoftware maintenanceJavaScript é 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.Universidade Federal de Minas Gerais2023-07-17T12:34:29Z2025-09-09T01:31:10Z2023-07-17T12:34:29Z2022-12-15info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1843/56367enghttp://creativecommons.org/licenses/by-nc-nd/3.0/pt/info:eu-repo/semantics/openAccessThiago Augusto Nicolini Silvareponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMG2025-09-09T01:31:10Zoai:repositorio.ufmg.br:1843/56367Repositório InstitucionalPUBhttps://repositorio.ufmg.br/oairepositorio@ufmg.bropendoar:2025-09-09T01:31:10Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.none.fl_str_mv Assessing the usage of new JavaScript features: a survey and mining study
title Assessing the usage of new JavaScript features: a survey and mining study
spellingShingle Assessing the usage of new JavaScript features: a survey and mining study
Thiago Augusto Nicolini Silva
Computação – Teses
JavaScript (Linguagem de programação de computador) – Teses
Browsers (Programas de computador)- Compatibilidade – Teses
Software – Manutenção – Teses
JavaScript
Transpilers
Babel
Browser Compatibility
Software maintenance
title_short Assessing the usage of new JavaScript features: a survey and mining study
title_full Assessing the usage of new JavaScript features: a survey and mining study
title_fullStr Assessing the usage of new JavaScript features: a survey and mining study
title_full_unstemmed Assessing the usage of new JavaScript features: a survey and mining study
title_sort Assessing the usage of new JavaScript features: a survey and mining study
author Thiago Augusto Nicolini Silva
author_facet Thiago Augusto Nicolini Silva
author_role author
dc.contributor.author.fl_str_mv Thiago Augusto Nicolini Silva
dc.subject.por.fl_str_mv Computação – Teses
JavaScript (Linguagem de programação de computador) – Teses
Browsers (Programas de computador)- Compatibilidade – Teses
Software – Manutenção – Teses
JavaScript
Transpilers
Babel
Browser Compatibility
Software maintenance
topic Computação – Teses
JavaScript (Linguagem de programação de computador) – Teses
Browsers (Programas de computador)- Compatibilidade – Teses
Software – Manutenção – Teses
JavaScript
Transpilers
Babel
Browser Compatibility
Software maintenance
description JavaScript é 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.
publishDate 2022
dc.date.none.fl_str_mv 2022-12-15
2023-07-17T12:34:29Z
2023-07-17T12:34:29Z
2025-09-09T01:31:10Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1843/56367
url https://hdl.handle.net/1843/56367
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/3.0/pt/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/3.0/pt/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv repositorio@ufmg.br
_version_ 1856413939643973632