;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Rodolfo Rodrigues

São Paulo e Vasco são os que mais utilizam jogadores da base no Brasileirão

Diego Costa disputa lance com Léo Cittadini, na partida entre São Paulo e Athletico - Divulgação/Athletico
Diego Costa disputa lance com Léo Cittadini, na partida entre São Paulo e Athletico Imagem: Divulgação/Athletico

04/09/2020 04h00Atualizada em 04/09/2020 10h42

Até essa 7ª rodada, 490 jogadores entraram em campo pelas 20 equipes do Campeonato Brasileiro. Desses, 102 vieram das categorias de base dos seus times atuais. Vasco, com 11 jogadores, e São Paulo, com 10, são os clubes que mais utilizaram pratas da casa, seguidos por Athletico-PR, Fluminense e Santos, com 9 cada.

Só no clássico contra o Corinthians, pela 6ª rodada, o São Paulo colocou em campo nove jogadores da base, incluindo o veterano Hernanes, que começou no tricolor e depois voltou ao clube. Entre os garotos, destaque agora para o zagueiro Diego Costa, que virou titular do time, desbancado Arboleda e Bruno Alves, e o meia-atacante Paulinho Boia, titular do time de Fernando Diniz.

O Vasco, que vem fazendo um bom início de campeonato sob o comando do técnico Ramon Menezes, tem utilizado também com frequência seus garotos da base, como os zagueiros Ricardo Graça e Miranda, os laterais Cayo Tenório e Henrique, o volante Andrey e o atacante Talles Magno, de apenas 18 anos.

E falando em jovens, Santos e Fluminense colocaram já garotos de 17 anos nesse Brasileirão. No Flu, o meia Miguel fez um jogo. Já no Peixe, o atacante Marcos Leonardo já atuou duas vezes. E o técnico Cuca colocou ainda outros dois novatos, o meia Ivonei e o atacante Kaio Jorge, de apenas 18 anos.

Clubes que mais utilizaram jogadores formados em suas categorias de base no Brasileirão 2020:
11 - Vasco

10 - São Paulo
9 - Athletico-PR
9 - Fluminense
9 - Santos
7 - Goiás
6 - Botafogo
6 - Flamengo

6 - Grêmio
5 - Corinthians

4 - Internacional
4 - Palmeiras

4 - Sport
3 - Coritiba
2 - Atlético-MG
2 - Bahia
1 - Atlético-GO

1 - Bragantino
1 - Ceará

1 - Fortaleza

Com uma sequência grande de jogos após essa parada do futebol por conta da pandemia e também a má fase de alguns jogadores mais experientes, os jovens ganhando espaço até mesmo nas principais equipes. No Palmeiras, os volantes Gabriel Menino e Patrick de Paula se tornaram titular da equipe de Luxemburgo. No Corinthians, Lucas Piton, ganhou a vaga de Sidcley na última partida. No Inter, o garoto Zé Gabriel botou Moledo no banco, assim como Evanílson, do Flu, que deixou Fred na reserva.

Jogadores formados em suas categorias de base no Brasileirão 2020:

Você pode me encontrar também no twitter (@rodolfo1975) ou no Instagram (futebol_em_numeros)

Errata: este conteúdo foi atualizado
O Vasco tem 11 e não 10 jogadores formados na base. Faltou listar o volante Bruno Gomes.