stringtranslate.com

Эмбер Смолток

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

Основные характеристики

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

История

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

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

Установка

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

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

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

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

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

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

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

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

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

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

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

Развертывание

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

Смотрите также

Ссылки

  1. ^ "Выпуск версии 0.30.0". lolg.it . Получено 2021-03-25 .
  2. ^ ab Реализации Smalltalk (краткие сравнительные обзоры, описывающие диалекты Smalltalk)
  3. ^ abc Eng, Ричард (09.06.2015). «Нежное знакомство с Эмбер: общение с ней, читается как английский, и все равно лаконично!», «Оно живое! Оно живое!», Всевидящий Гелиос, тестирование D3». Medium . Получено 07.02.2016 .
  4. ^ Петтон, Николас. "Amber Smalltalk". amber-lang.net . Получено 30.01.2016 .
  5. ^ abcd Шустер, Вернер (22 августа 2011 г.). "Smalltalk IDE приходят в браузер: Jtalk, tODE, Lively Kernel 2.0" . Получено 20 октября 2011 г.
  6. ^ "Кламато".(Сайт проекта Clamato Smalltalk)
  7. ^ Петтон, Николас (август 2011 г.). Jtalk, Smalltalk для веб-разработчиков. Европейская конференция Smalltalk User Group (ESUG). Эдинбург, Шотландия, Соединенное Королевство. Архивировано из оригинала 28.01.2012.Слайды.
  8. ^ Majda, David (2010–2016). "PEG.js: Parser Generator for JavaScript". PEG.js.org . David Majda. Архивировано из оригинала 27 апреля 2011 г. . Получено 13 ноября 2016 г. .
  9. ^ Петтон, Николас (13 сентября 2011 г.). "Пока, пока Jtalk... Привет, Эмбер!". Группы Google . Google, Inc. Получено 13 ноября 2016 г. ... сейчас мы делаем первый релиз со скромным номером 0.9. Мы также воспользовались возможностью выбрать более броское название для Jtalk - Эмбер!
  10. ^ Шустер, Вернер (22 июня 2010 г.). «Дэн Ингаллс об истории Smalltalk и Lively Kernel» . Получено 26 октября 2011 г.
  11. ^ "amber-smalltalk/amber". GitHub . Получено 2016-01-30 .
  12. ^ "amber-smalltalk/amber". GitHub . Получено 2016-01-30 .
  13. ^ Петтон, Николас. "Установка Amber". Amber-lang.net . Получено 2016-01-30 .

Внешние ссылки