Assessing the usage of new JavaScript features: a survey and mining study
| Ano de defesa: | 2022 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |