IDC: Tabletům a chromebookům se globálně daří, trhy v 1Q20 vyrostly o 55 % a 350 %

3. 5. 2021
Doba čtení: 2 minuty

Sdílet

Autor: © jackfrog - Fotolia.com
Největší zájem mezi tablety je o zařízení 2v1, na některých vyspělých trzích ovšem tablety vytlačují chromebooky. Většímu rozmachu brání ceny a závislost na cloudových službách.

Společnost IDC informuje, že zatímco velká část světa se stále potýká s pandemií covidu-19, prodej tabletů a chromebooků vesele bují. Globální trh tabletů v prvním čtvrtletí posílil o ohromujících 55,2 % na 39,9 milionu kusů.

Analytici poukazují na to, že se jedná o nejrychlejší růst od třetího čtvrtletí 2013, kdy si trh polepšil o 56,9 %. Celosvětové dodávky chromebooků se v 1Q21 vyšplhaly na 13 milionů kusů; pro srovnání – ve stejném období loňského roku to bylo 2,8 milionu.

Ačkoli probíhající vakcinace a znovuotevírání kanceláří mohou zpomalit trend práce z domova, od návratu k ‚normálním‘ pracovním podmínkám jsme stále ještě daleko,“ popisuje aktuální situaci Anuroopa Natarajová z IDC.

Vytlačí chromebooky tablety?

I proto se podle ní ještě nějakou dobu udrží vysoká poptávka po tabletech, zejména pak po zařízeních 2v1. Těm však stále více budou konkurovat ultratenké a lehké notebooky pro práci a zábavu a chromebooky pro vzdělávání.

Rostoucí popularita chromebooků podle analytiků rychle ukrajuje z prodejů tabletů na trzích, jako jsou Spojené státy, západní Evropa a v poslední době také Japonsko. „Není pochyb, že chromebooky na mnoha trzích nahradily tablety,“ potvrzuje Jitesh Ubrani z IDC.

Většímu rozmachu chromebook podle Ubraniho brání pořizovací cena a závislost na cloudových službách. „Kromě toho chromebooky ještě plně nepronikly na spotřebitelský trh, kde si silnou pozici udržují konkurenční notebooky i tablety, jako jsou iPad, zařízení Galaxy a tablety Fire,“ uzavírá.

Tabulka 1 – Výsledky globálního trhu tabletů v 1Q21 (miliony kusů)

Výrobce

Prodej 1Q21

Podíl 1Q21

Prodej 1Q20

Podíl 1Q20

Meziroč. změna

1. Apple

12,7

31,7 %

7,7

30,0 %

64,3 %

2. Samsung

8,0

20,0 %

5,0

19,3 %

60,8 %

3. Lenovo

3,8

9,4 %

1,6

6,1 %

138,1 %

4. Amazon

3,5

8,7 %

1,4

5,6 %

143,0 %

5. Huawei*

2,7

6,8 %

2,7

10,4 %

1,7 %

ostatní

9,3

23,3 %

7,3

28,5 %

26,5 %

Celkem

39,9

100,0 %

25,7

100,0 %

55,2 %

* bez Honoru

Zdroj: IDC

Tabulka 2 – Výsledky globálního trhu chromebooků v 1Q21 (miliony kusů)

Výrobce

Prodej 1Q21

Podíl 1Q21

Prodej 1Q20

Podíl 1Q20

Meziroč. změna

1. HP

4,4

33,5 %

0,6

20,9 %

633,9 %

2. Lenovo

3,3

25,6 %

0,7

25,6 %

356,2 %

3. Acer

1,9

14,5 %

0,8

26,4 %

150,9 %

4. Dell

1,5

11,3 %

0,3

12,1 %

327,1 %

5. Samsung

1,0

8,0 %

0,2

6,1 %

496,0 %

ostatní

0,9

7,2 %

0,3

8,9 %

267,2 %

Celkem

13,0

100,0 %

2,8

100,0 %

357,1 %

Zdroj: IDC

Graf – Vývoj trhů tabletů a chromebooků 1Q20-1Q21

Graf – Vývoj trhů tabletů a chromebooků 1Q20-1Q21

Zdroj: IDC

Čtěte dále

AMD kupuje Nod.ai, posílí možnosti open source softwaru pro umělou inteligenci
AMD kupuje Nod.ai, posílí možnosti open source softwaru pro umělou inteligenci
Téměř dvě třetiny firem preferují uchovávat zálohu v cloudu
Téměř dvě třetiny firem preferují uchovávat zálohu v cloudu
Polovina českých podnikatelů neví, jak se bránit proti kybernetickým útokům
Polovina českých podnikatelů neví, jak se bránit proti kybernetickým útokům
IDC: Cla necla, globální dodávky počítačů by letos měly vyrůst o 4 %
IDC: Cla necla, globální dodávky počítačů by letos měly vyrůst o 4 %
Tři hlavní důvody, proč malé a středně velké firmy potřebují ke správě sítí umělou inteligenci
Tři hlavní důvody, proč malé a středně velké firmy potřebují ke správě sítí umělou inteligenci
3D tisk – jaké jsou náklady na 3D tisk?
3D tisk – jaké jsou náklady na 3D tisk?
'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »