История JSON и люди, которые его создали

История JSON и люди, которые его создали

20 декабря 2022 г.

История JSON — это история людей, которые его создали, и того, что они собирались делать с написанным ими программным обеспечением.


Дуглас Крокфорд почти случайно заинтересовался программированием в колледже. Он взял несколько уроков компьютерного программирования, чтобы выполнить свои научные требования, и быстро влюбился. Его первым опытом было программирование Фортрана на перфокартах, что требовало усердия и эффективности, чтобы делать все правильно. Это был опыт и методология, которые сопровождали его на протяжении всей его карьеры. Поработав в начале 80-х по компаниям, производящим компьютерные и видеоигры, включая Atari, Крокфорд в конце концов оказался в Lucasfilm, где познакомился с Чипом Морнингстаром.

Morningstar работал над чем-то под названием Habitat, предшественницей игр MMPORG, которые объединяли компьютеры в сеть в виртуальном мире. В то время на рынке не было ничего подобного, и Morningstar была одержима идеей сделать базовую кодовую базу достаточно простой и надежной для обработки сотен одновременных запросов. Крокфорд недолго помогал в проекте Habitat, прежде чем они вдвоем ушли, чтобы основать собственную компанию Electric Communities.

Их компания якобы была стартапом, занимающимся созданием виртуальных миров в Интернете, чтобы люди могли встречаться и общаться. Они приобрели часть программного обеспечения под названием The Palace, которое позволяло пользователям подключаться к графическим чатам и мероприятиям, а также привлекли внимание и венчурный капитал в период бума доткомов.

Но, как и в случае с Lucasfilm, Morningstar и Crockford больше всего занимались повышением эффективности и переносимости кодовой базы Palace. Они переработали программу, чтобы максимально улучшить ее. Когда этого оказалось недостаточно, они приступили к созданию собственного языка программирования, известного как E, отпочковавшегося от Java, который основывался на отправке сообщений для выполнения программ.

В конце концов, Electric Communities была разделена на что-то другое, и Крокфорд и Морнингстар остались искать свое следующее предприятие. Им пришло в голову, что они довольно хорошо научились брать сложные кодовые базы и системы, проводить рефакторинг и расширять их до эффективного и надежного программного обеспечения. Имея это в виду, они основали новую консалтинговую фирму по разработке программного обеспечения, известную как State Software.

Работая в State Software, дуэт начал заниматься Интернетом и, в частности, JavaScript. Они хотели иметь возможность передавать данные туда и обратно между сервером и браузером (вид обмена сообщениями, управляемыми событиями, который был тривиальным в E), без необходимости полного обновления страницы. Не было хорошего способа сделать это. Поэтому Крокфорд взял идею, о которой он впервые узнал от кого-то из Netscape, и внедрил объект JavaScript внутрь фрейма HTML, который затем передал сообщение на страницу.

Выглядело это так:

    document.domain = 'fudco';
    parent.session.receive(
        { to: "session", do: "test",
          text: "Hello world" }
    )

Но это не сработало. Слово do нельзя использовать, так как оно зарезервировано языком JavaScript. Чтобы обойти это, Крокфорд заключил все в кавычки. Который выглядел так:

    document.domain = 'fudco';
    parent.session.receive(
        { "to": "session", "do": "test",
          "text": "Hello world" }
    )

И этот формат, грубо говоря, в конечном итоге стал известен как JSON, формат обмена данными на основе JavaScript, который можно использовать для упаковки и отправки сообщений с веб-сервера. В 2001 году Крокфорд создал веб-страницу с описанием формата, чтобы другие тоже могли его использовать. Затем, в 2002 году, он ушел из State Software.

An early version of the JSON.org homepage, which described the spec

Крокфорд провел следующее десятилетие своей карьеры в JavaScript, выступая за простоту понимания языка. Когда он написал книгу, то назвал ее просто JavaScript: The Good Parts. Когда на протяжении многих лет JavaScript пытался добавить сложности в свою спецификацию, Крокфорд часто сопротивлялся этому. JSON был еще одним выражением этой идеологии.

Годы спустя, описывая историю JSON, Крокфорд подчеркивал простоту формата. «Одной из ключевых целей дизайна JSON был минимализм. Моя идея заключалась в том, что чем меньше нам нужно согласовать для взаимодействия, тем больше вероятность того, что мы сможем хорошо взаимодействовать, — начал он. — У меня была цель установить стандарт JSON. на обратной стороне визитной карточки».

JSON имеет несколько жестких правил. Это не позволяет комментировать. Все ключи и значения должны быть заключены в кавычки. Запятых быть не может. Но с учетом этих требований спецификация является лаконичной, а синтаксические анализаторы относительно легко реализуются программистами. Долгое время у JSON даже не было номера версии. Никаких дополнений к нему не было. Но это сработало. Вы действительно можете напечатать стандарт на визитной карточке. Это выглядит так:

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

В 2005 году Джесси Джеймс Гарретт дал AJAX имя, аббревиатуру для асинхронного JavaScript и XML. Это был способ описания интерактивных веб-приложений, использующих мощь JavaScript. Ссылаясь на работу, проводимую в Google с такими приложениями, как Google Suggest и Google Maps, Гарретт описал веб-сайты, которые больше напоминают настольные приложения, которые обновляют данные на странице и остаются динамичными, периодически запрашивая данные с сервера и добавляя их на страницу с помощью JavaScript. .

Волна приложений Web 2.0 в середине 2000-х годов опиралась на технологию AJAX, привнося в Интернет новые наборы функций и технологий. На основе JavaScript и новой волны венчурного капитала запускалось все больше и больше динамичных приложений для совместного использования, хранения и создания в Интернете.

В этой новой парадигме приложения использовали разные форматы для передачи данных с серверов в браузер: XML, JSON и YAML. В своем первоначальном посте Гарретт признал, что XML не является обязательным требованием, подойдет любой формат, который может просто и эффективно передавать данные. Поскольку AJAX начался с XML — в конце концов, это было в названии, — некоторые считали, что это единственный верный способ создания динамических приложений в Интернете. Критики считали, что простой формат JSON не может масштабироваться для решения задач высокопроизводительных веб-приложений.

Но многие люди боролись со сложностью и часто чрезмерными требованиями формата XML. JSON предложил альтернативу, которая после многих лет постепенного роста с использованием языков и фреймворков стала относительно широко распространенной и доступной. Полдесятилетием ранее Крокфорд сделал ставку на простоту. А растущие требования к приложениям Web 2.0 заставили веб-разработчиков искать простой способ склеить их вместе. Со временем JSON получил более широкое распространение.

В 2007 году Ruby on Rails добавила поддержку сериализации JSON в свой API извлечения данных, автоматически активировав JSON для тысяч приложений. Это был поворотный момент для формата. Спустя годы, в 2014 году, JSON был принят органом по стандартизации ECMA и официально определен. К тому времени это уже был более популярный выбор среди веб-разработчиков.

Вот как вы получили AJAX для повседневного использования без X.

Узнай свою историю

Выходящий два раза в месяц выпуск об истории Интернета, невероятных людях, которые его создали, а также обо всех веб-сайтах, коде и браузерах, о которых вы никогда не слышали.


В этом сообщении представлены 3 вехи на временной шкале.

AJAX

  • 18 февраля 2005 г., 18 февраля 2005 г.
  • Джесси Джеймс Гарретт использует Ajax (сокращение от асинхронного Javascript и XML), чтобы описать использование Javascript для извлечения данных с сервера и их отображения на странице без обновления страницы. Хотя этот метод уже использовался в течение некоторого времени, Гарретт официально кодифицировал методологию.

JSON

  • 12 ноября 2002 г., 12 ноября 2002 г.
  • Дуглас Крокфорд запускает JSON.org, в котором описывается формат обмена данными, который он и Чип Морнингстар создали годом ранее. JSON изначально был простым способом передачи данных с сервера обратно в браузер, но после появления AJAX он станет важной альтернативой XML.

XML версии 1.0

  • 10 февраля 1998 г., 10 февраля 1998 г.
  • W3C публикует спецификацию XML — способа структурирования данных, который может быть прочитан как машинами, так и компьютерами. XML широко используется в веб-службах и позволяет веб-серверам и клиентам программно передавать информацию туда и обратно.

:::подсказка Просмотреть полную хронологию

:::

Источники


Впервые опубликовано здесь.

Написано Джеем Хоффманном 13 декабря 2022 г.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE