Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Amber Smalltalk , ранее называвшаяся Jtalk, представляет собой реализацию языка Smalltalk -80, которая работает в среде выполнения JavaScript веб-браузера . Он предназначен для разработки на стороне клиента с использованием языка программирования Smalltalk. [1] Среда программирования в Amber называется Helios. [2]

Ключевые особенности [ править ]

Amber включает интегрированную среду разработки (IDE) с обозревателем классов , рабочей областью, транскриптом, инспектором объектов и отладчиком . Amber написан сам по себе ( самостоятельно размещается ), включая компилятор , и компилируется в JavaScript, взаимно однозначно сопоставляя его с эквивалентом JavaScript. [3] Это взаимно однозначное сопоставление с помощью JavaScript отличает Amber от других вариантов Smalltalk, таких как Pharo , Seaside и Squeak . [1] Для разработки проекта Amber требуется Node.js для запуска инструментария; развернутому проекту для запуска нужен только браузер. Эмбер не бегает медленно по виртуальная машина с байт-кодом благодаря удобному отображению на JavaScript, что ускоряет выполнение скомпилированного кода.

История [ править ]

Первоначально Amber был создан Николасом Петтоном в 2011 году. [4] На Amber повлиял более ранний проект Smalltalk в браузере, названный Clamato , созданный Ави Брайант. [4] [5] И Амбер, и Кламато используют библиотеки грамматики синтаксического анализа (PEG) для анализа исходного кода Smalltalk . Amber использует основанную на JavaScript библиотеку PEG.js [6] [7], написанную Дэвидом Майда. Clamato использует PetitParser, библиотеку на основе Smalltalk, написанную Лукасом Ренггли. [4] Clamato и Эмбер оба были под влиянием более ранней работы Dan Ингаллс в разработке Lively Kernel реализацииMorphic для запуска в веб-браузерах через JavaScript. [4] [8]

Начиная с версии 0.12.0, модули Amber компилируются в определение асинхронного модуля (AMD). [9] Начиная с версии 0.12.6, инструмент интерфейса командной строки (CLI) помощника разработки извлекается в специальный модуль, который может быть установлен из npm как @ambers/cli; а настройка проекта и его экосистемы JavaScript (npm, grunt) значительно упрощается с помощью этого инструмента CLI, amber initзадавая несколько вопросов и отвечая на них. [10] С августа 2018 года структура проекта "amber init" упрощена, bower больше не используется, а основывается только на npm, а весь проект находится под организацией npm @ambers. Это упрощает настройку Amber Smalltalk для людей с небольшим опытом работы с JavaScript.[11]

Установка [ править ]

Актуальные инструкции должны быть на https://lolg.it/amber/amber .

Чтобы установить Amber, сначала необходимо установить Git , если он еще не установлен. Следующие команды установят Amber: [2]

# для macOS и Linux необходимы следующие две команды:
npm config set  prefix = ~ / npm export  PATH = " $ PATH : $ HOME / npm / bin"  # добавить в .bash_profile или .bashrcnpm install -g grunt-cli grunt-init @ Ambers / cli

Чтобы создать новый проект, напишите:

# Создаем пустой каталог проектаmkdir пример-проектcd example-project# Создать и инициализировать новый проект Amberянтарный init

Шаг "amber init" приведет к некоторым вопросам о проекте. Для большинства из них можно установить ответ по умолчанию. Следующим шагом будет запуск сервера:

янтарная подача

После этого набор http://localhost:4000в браузере попадет в приложение. Большинство браузеров по умолчанию блокируют всплывающие окна Helios IDE, поэтому может потребоваться изменить настройки браузера, чтобы разрешить появление всплывающего окна Helios IDE.

Интеграция внешних библиотек JavaScript [ править ]

Программное обеспечение Npm можно использовать для доступа к огромному количеству библиотек JavaScript. Библиотеку можно интегрировать, выполнив всего четыре шага: [2]

  1. Установите библиотеку с помощью npm.
  2. Если файлы local.amd.json не существуют для пакета npm, создайте файл libname.amd.json в корне проекта.
  3. Запустите grunt devel (или grunt deploy, если вы готовы развернуть приложение).
  4. Добавьте libname в #imports:.

Развертывание [ править ]

При запуске grunt deployпроект Amber упаковывается с помощью RequireJS всего в несколько файлов, как минимум, index.htmlи the.js. Вы можете разместить их статически, как любую другую статическую веб-страницу.

См. Также [ править ]

  • Pharo
  • Seaside (программное обеспечение)
  • Писк

Ссылки [ править ]

  1. ^ a b Реализации Smalltalk (краткие сравнительные описания диалектов Smalltalk)
  2. ^ a b c Eng, Ричард (09.06.2015). «Нежное знакомство с Эмбер: общение с ней на Smalltalk, читается как по-английски, и он по-прежнему лаконичен!». Он жив! », Всевидящий Гелиос, Тестирование D3» . Средний . Проверено 7 февраля 2016 .
  3. ^ Петтон, Николас. «Янтарный Смоллтолк» . amber-lang.net . Проверено 30 января 2016 .
  4. ^ a b c d Шустер, Вернер (22 августа 2011 г.). "Среды разработки Smalltalk переходят в браузер: Jtalk, tODE, Lively Kernel 2.0" . Проверено 20 октября 2011 года .
  5. ^ "Кламато" . (Веб-сайт проекта Clamato Smalltalk)
  6. ^ Majda, Дэвид (2010-2016). «PEG.js: Генератор парсеров для JavaScript» . PEG.js.org . Дэвид Майда . Проверено 13 ноября +2016 .
  7. ^ Petton, Николас (13 сентября 2011). "Пока, пока, Jtalk ... Привет, Эмбер!" . Группы Google . Google, Inc . Проверено 13 ноября +2016 . ... сейчас мы делаем первый релиз со скромным номером 0.9. Мы также пользуемся возможностью выбрать для Jtalk красивое название - Amber!
  8. Шустер, Вернер (22 июня 2010 г.). «Дэн Ингаллс по истории Smalltalk и живому ядру» . Проверено 26 октября 2011 года .
  9. ^ "янтарь-smalltalk / янтарь" . GitHub . Проверено 30 января 2016 .
  10. ^ "янтарь-smalltalk / янтарь" . GitHub . Проверено 30 января 2016 .
  11. ^ Петтон, Николас. «Установка янтаря» . docs.amber-lang.net . Проверено 30 января 2016 .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Jtalk, Smalltalk для веб-разработчиков Николаса Петтона, слайды, представленные на ESUG 2011 (Европейская конференция группы пользователей Smalltalk). Эдинбург, Шотландия, Великобритания. (Август 2011 г.)