Опрос экосистемы JavaScript 2018/2019 проводился с 1 декабря 2018 года по 8 января 2019 года. Вопросы были сформулированы npm после консультаций с экспертами в предметной области относительно конкретного языка и ответов на конкретные вопросы. Об опросе было объявлено по электронной почте более 800 000 зарегистрированных пользователей npmjs.com, страниц пакетов на npmjs.com и учетных записей npm и ее сотрудников в Twitter, а также веб-сайтов и учетных записей Twitter многих партнеров по экосистеме, чтобы обеспечить максимально широкий охват.

Целью опроса было узнать больше о потребностях и поведении сообщества JavaScript, а также помочь npm и другим участникам сообщества npm сделать лучший технический выбор и лучше обслуживать своих пользователей. В опросе было получено 33 478 ответов.

Что собирали и не собирали

В опросе было 54 вопроса - от базовых демографических данных (см. Ниже) до подробных вопросов о выборе инструментов, технических предпочтениях и отношении к различным профессиональным практикам. Опрос был открытым, то есть пользователям не нужно было дойти до конца опроса, и все вопросы были необязательными.

Хотя мы задавали вопросы о том, какой опыт имеют разработчики, мы не спрашивали респондентов, сколько им лет. Точно так же мы не собирали демографические данные о расе или гендерной идентичности. Цели исследования не оправдали сбора этих данных.

Мы собрали информацию по нескольким демографическим темам, имеющим отношение к нашим целям:

Страна

Мы спросили респондентов: «В какой стране вы живете?» Ответили респонденты из 194 стран и территорий. В таблице ниже представлены 30 лучших стран.

Трудно точно измерить распределение пользователей npm по всему миру, поэтому, хотя некоторые страны чрезмерно представлены по сравнению с их населением, возможно, что это все еще относительно точный показатель базы пользователей npm во всем мире. Мы попытались выявить любую предвзятость в этом примере, сравнив эти ответы с другим источником использования npm: веб-трафиком на npmjs.com, измеренным с помощью Google Analytics.

Что касается веб-трафика, есть некоторые существенные различия: Германия здесь # 2, но # 5 по веб-трафику, Китай # 16 здесь, но # 4 в Интернете, и Япония # 26 здесь, но # 12 в Интернете. В последних двух случаях кажется вероятным, что доступность опроса только на английском языке была фактором, но мы не уверены, почему жители Германии с большей вероятностью ответят на опрос.

Язык

Мы спрашивали респондентов их основной разговорный язык. Было представлено двадцать два языка. Опрос проводился только на английском языке, и это изменило демографию ответивших. В частности (см. Выше), мы полагаем, что он не соответствует выборке из Китая и Японии. 16% респондентов, ответивших на «другие» языки, предполагают, что наш список вариантов можно улучшить, см. Ниже. Наши результаты определенно смещены в сторону англоговорящих.

Образование

Мы спросили респондентов, получают ли они сейчас дневное образование. Респонденты, ответившие «да» на этот вопрос, были исключены из вопросов (см. Ниже) о размере компании и отрасли.

Мы попросили всех респондентов, включая тех, кто еще учится, указать наивысший уровень образования, который они получили. Эти результаты соответствуют более широким измерениям уровня образования, поэтому мы не считаем, что на этой оси есть какое-либо смещение.

Размер компании

Респондентов спрашивали, сколько человек работает у их работодателя или не работают в настоящее время. Распределение ответов соответствует данным переписи по размеру компании, поэтому мы считаем, что наши результаты не смещены в сторону какого-либо конкретного размера компании.

Промышленность

Мы спросили респондентов, в какой отрасли они работают. В нашем предыдущем опросе доминировали «технологии». Нам известно, что многие компании, будучи технологическими компаниями, также являются частью одной или нескольких конкретных отраслей: например, Google - технологическая компания, которая также работает в сфере рекламы, СМИ и, возможно, в других отраслях. Airbnb - технологическая компания, которая также занимается недвижимостью. Чтобы попытаться исправить это, мы сначала спросили респондентов, считается ли компания, в которой они работают, «технологической»:

Затем у нас был второй вопрос, в котором респондентов просили сказать, в каких отраслях находится их компания. Было разрешено несколько отраслей, а вариант «технологии» был помечен как «Это действительно просто технология, а не конкретная отрасль». По сравнению с результатами прошлого года это вызвало гораздо более широкий диапазон ответов, гораздо менее сконцентрированных на технологиях.

Количество респондентов

Из 33 478 собранных ответов 25 034 были сочтены «полными», что означает, что респондент дошел до последней страницы опроса и указал, что он закончил отвечать. На вопросы, на которые ответили как респонденты, которые заполнили опрос, так и те, кто не заполнил, мы сравнили результаты и не обнаружили статистически значимых различий между группами, поэтому мы включили данные из неполных ответов в результаты.

Однако из-за того, что вопросы позже в опросе с большей вероятностью будут пропущены респондентами, которые отказались от опроса, общее количество респондентов по этим вопросам было меньше. Наименьшее количество ответов на вопрос, которое дали все респонденты, составило 24 781 человек.

Некоторые вопросы были заданы условно на основании предыдущих ответов, например пользователей, которые сказали, что они не используют TypeScript, не спросили, как часто они его используют. По этой причине у этих вопросов меньше респондентов, но мы полагаем, что их точность скорее увеличится, чем уменьшится.

Отличия от опроса 2017/2018 гг.

Мы многому научились из нашего опроса 2017/2018, проведенного с декабря 2017 года по январь 2018 года, и это отразилось на изменениях в нашем опросе в этом году.

Настольные, мобильные и оригинальные приложения

В прошлогоднем опросе наши вопросы были неоднозначными относительно того, что подразумевается под словом «мобильный»: считается ли мобильное веб-приложение или нативное мобильное приложение? В этом году мы задали несколько недвусмысленных вопросов о разработчиках, которые пишут код «для браузеров», «для серверов», «собственные приложения» и «встроенные устройства», и включили варианты «Я не пишу такой код» для всех. Это дает нам полезные, однозначные данные о том, кто и какие типы приложений пишет.

Отрасли

Как упоминалось выше, наш вопрос о промышленности в прошлом году включал несколько двусмысленностей: безработным, получающим очное образование и компаниям, которые конкурируют в различных отраслях, были даны неясные варианты ответа. Мы считаем, что наши отдельные уточняющие вопросы в этом году многое сделали для разрешения этих неясностей.

Фреймворки

В прошлом году наш список веб-фреймворков был меньше, поэтому в этом году мы расширили его. Мы также предоставили единственный вариант для «Angular», но от сообщества Angular узнали, что есть две отдельные и несовместимые структуры с таким именем: Angular 1.x (также известный как AngularJS) и Angular 2.x + (известный как Angular). В этом году мы предоставили отдельные варианты этих фреймворков.

Что мы намерены улучшить

Хотя мы считаем, что наш опрос значительно улучшил ответы на вопросы прошлого года, все еще есть возможности для дальнейшего улучшения, которые мы надеемся сделать в последующие годы.

Порядок вопросов

Респонденты с меньшей вероятностью будут отвечать на вопросы ниже в опросе, что приводит к неуклонному сокращению числа респондентов, ответивших на более поздние вопросы. Хотя в некоторых случаях порядок вопросов имеет значение, мы можем в некоторой степени рандомизировать порядок вопросов, чтобы обеспечить лучшее распределение респондентов.

Количество языков

Из нашего списка разговорных языков исключено 15% респондентов; у нас должен быть более длинный список.

Список территорий

Были некоторые досадные ошибки в названиях некоторых территорий, отражающие политические конфликты, и некоторые столь же досадные упущения.

Чем респонденты отличаются от населения в целом

Как упоминалось выше, респонденты отличаются от обычных пользователей JavaScript в том, что англоговорящие слишком представлены, что накладывает отпечаток на то, какие страны представлены.

Мы не собирали возрастную или гендерную идентичность респондентов, поэтому мы не знаем, репрезентативен ли наш опрос для более широкой популяции пользователей JavaScript по этим показателям.

Мы полагаем, что более 15 миллионов человек получили возможность ответить на вопросы опроса, но в качестве добровольных ответов на опрос всегда будут предвзято относиться к тем людям, которые готовы потратить некоторое время на то, чтобы ответить на вопросы о JavaScript. Возможно, что наши методы охвата этих пользователей создают некоторую предвзятость в наших ответах в отношении пользователей, которые больше похожи на npm как на организацию. Хотя мы не можем исключить этот эффект, когда мы задавали аналогичные вопросы, наши ответы соответствуют другим, не связанным с npm усилиям, таким как 2018 State of JS Survey.

Как наш опрос, так и State of JS Survey могут иметь предвзятость в отношении пользователей, которые с большим энтузиазмом относятся к JavaScript в целом. Хотя мы не можем обнаружить или исправить эту ошибку, мы полагаем, что наши цифры по-прежнему полезны в качестве относительной меры как между вариантами в рамках опроса этого года, так и между ответами в этом опросе и в прошлом году.

Какие выводы мы можем сделать

Несмотря на некоторые ошибки в вопросах и предвзятость в наших выборках, наш опрос содержит множество данных о пользователях JavaScript, и мы рады опубликовать серию сообщений о различных аспектах использования JavaScript.