;(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

Por que este é o pior momento do ano para você comprar um iPhone

iPhone 11 foi lançado em 2019 e uma nova versão está prestes a ser lançada - Divulgação
iPhone 11 foi lançado em 2019 e uma nova versão está prestes a ser lançada Imagem: Divulgação

Marcelle Duarte

Colaboração para Tilt

10/09/2020 14h13

Com os rumores sobre o novo iPhone 12, que poderá ser lançado na próxima terça-feira (15), este pode ser o pior momento para se comprar um smartphone da Apple. Se você está pensando em desembolsar cerca de R$ 4.000 para comprar um iPhone 11 agora ou adquirir um modelo anterior, considere esperar mais um pouco.

Com a chegada de novos aparelhos, é muito comum que os preços das versões antigas diminuam e que lojas invistam em promoções.

De olho na economia, você ainda pode aguardar por mais algumas semanas e pesquisar o preço do iPhone SE, o atual modelo "baratinho" da Apple. É um lançamento deste ano que chegou ao Brasil por a partir de R$ 3.699. O valor dele já caiu um pouco em lojas varejistas desde então.

Outra coisa a se considerar é que após o lançamento dos novos iPhones de 2020, provavelmente os modelos do ano ado também devem cair de preço ainda mais. E um iPhone do ano ado ainda rende bem por pelo menos dois anos de uso. Em outubro do ano ado, os modelos chegaram ao país com esses preços mínimos:

  • iPhone 11 64 GB: R$ 4.999
  • iPhone 11 Pro 64 GB: R$ 6.999
  • iPhone 11 Pro Max 64 GB: R$ 7.599

Apesar de ainda estarem com esses preços no site oficial da Apple, atualmente podem ser encontrados no comércio brasileiro por esses preços à vista:

  • iPhone 11 64 GB: R$ 4.199
  • iPhone 11 Pro 64 GB: R$ 5.899
  • iPhone 11 Pro Max 64 GB: R$ 6.499

Normalmente a Apple reduz o preço oficial de modelos antigos logo após os novos iPhones serem anunciados ou chegarem às lojas. E isso também deve acontecer no restante do ecommerce. Resta saber como (ou se) isso acontecerá neste ano, com o dólar custando mais de R$ 5.

Agora, se você está de olho em ter um iPhone de última geração, com certeza é melhor esperar o lançamento da nova família. Os modelos devem vir com conexão 5G e melhor processador com o chip A14 Bionic de cinco nanômetros, que pode reduzir em 30% o consumo de bateria e aumentar em até 50% o desempenho do aparelho, segundo os rumores.

A empresa de pesquisa de tecnologia TrendForce estimou os preços dos quatro possíveis lançamentos:

  • iPhone 12 (5,4 polegadas): US$ 700 a 750 (entre R$ 3.900 e R$ 4.170)
  • iPhone 12 (6,1 polegadas): US$ 800 a 850 (R$ 4.450 a R$ 4.730)
  • iPhone 12 Pro (6,1 polegadas): US$ 1.050 a 1.100 (R$ 5.840 a R$ 6.120)
  • iPhone 12 Pro Max (6,7 polegadas): US$ 1.150 a 1.200 (R$ 6.400 a R$ 6.680)

Além da tecnologia 5G e o chip mais moderno, a família 12 deve apresentar uma reformulação visual. Tudo indica que haverá um resgate do design do icônico iPhone 4, que permaneceu até o 5S: carcaça de metal com bordas "quadradas".

No lugar das curvas que acompanham o smartphone desde o 6, o chassi do iPhone 12 teria arestas mais duras, como as dos novos iPad Pro (terceira geração).

O polêmico entalhe seguirá na tela e rumores sugerem o lançamento de novas cores, incluindo um azul "navy". Os modelos Pro terão quatro câmeras traseiras (o 11 Pro tem três), com sistema duplo de estabilização e sensor LiDAR (laser que auxilia o foco automático e o modo noturno).

A expectativa é grande para os novos celulares, mas há quem diga que o iPhone 12 só será lançado em outubro. As apostas para o evento da próxima semana estão mais altas para a apresentação de novas versões do Apple Watch e iPad. Não se sabe se eles já estarão a venda, devido aos atrasos causados pela pandemia do novo coronavírus.

Mesmo com a conturbada implantação do 5G no Brasil, que ainda deve demorar para ser plenamente implantada por aqui, vale esperar o lançamento para decidir o melhor negócio para você.