Amber Smalltalk

Amber Smalltalk
Oryginalni autorzy Nicolasa Pettona
Deweloperzy Bursztynowa Wspólnota
Pierwsze wydanie 13 września 2011 ; 11 lat temu ( 13.09.2011 )
Wersja stabilna
0.30.0 / 23 lutego 2021 ; 23 miesiące temu ( 23.02.2021 )
Magazyn lolg .it / bursztyn / bursztyn
Napisane w Smalltalk , JavaScript
System operacyjny Międzyplatformowe
Platforma przeglądarka internetowa
Dostępne w język angielski
Typ Obiektowy język programowania, IDE
Licencja MIT
Strona internetowa www .amber-lang .net

Amber Smalltalk , wcześniej nazywany Jtalk, to implementacja języka programowania Smalltalk -80, która działa w środowisku wykonawczym JavaScript przeglądarki internetowej . Został zaprojektowany, aby umożliwić rozwój po stronie klienta przy użyciu Smalltalk. Środowisko programistyczne w Amber nazywa się Helios.

Kluczowe cechy

Amber zawiera zintegrowane środowisko programistyczne (IDE) z przeglądarką klas , obszarem roboczym, transkrypcją, inspektorem obiektów i debuggerem . Bursztyn jest napisany sam w sobie (jest samoobsługowy ), w tym kompilator i kompiluje się do JavaScript, mapując jeden do jednego z odpowiednikiem JavaScript. To mapowanie jeden do jednego z JavaScriptem odróżnia Amber od innych wariantów Smalltalk, takich jak Pharo , Seaside i Squeak . Rozwój projektu Amber wymaga Node.js do uruchomienia narzędzi; wdrożony projekt wymaga tylko przeglądarki do uruchomienia. Amber nie działa wolno na maszynie wirtualnej z kodem bajtowym dzięki wygodnemu mapowaniu na JavaScript, co sprawia, że ​​skompilowany kod działa szybko.

Historia

Amber został pierwotnie stworzony przez Nicolasa Pettona w 2011 roku. Wpływ na Amber miał wcześniejszy projekt Smalltalk w przeglądarce o nazwie Clamato , stworzony przez Aviego Bryanta. Zarówno Amber, jak i Clamato używają bibliotek gramatyki analizowania wyrażeń (PEG) do analizowania kodu źródłowego Smalltalk . Amber wykorzystuje JavaScript bibliotekę PEG.js napisaną przez Davida Majdę. Clamato używa PetitParser, biblioteki opartej na Smalltalk, napisanej przez Lukasa Renggli. Clamato i Amber byli pod wpływem wcześniejszych prac Dana Ingallsa nad opracowaniem implementacji Morphic w Lively Kernel do uruchamiania w przeglądarkach internetowych za pośrednictwem JavaScript.

Począwszy od wersji 0.12.0, moduły Amber kompilują się do definicji modułu asynchronicznego (AMD). Począwszy od wersji 0.12.6 narzędzie Development Helper Command-Line Interface (CLI) jest wyodrębniane do dedykowanego modułu, który można zainstalować z npm jako @ambers/cli ; a konfiguracja projektu i jego ekosystemu JavaScript (npm, grunt) jest znacznie uproszczona przy użyciu tego narzędzia CLI poprzez wydanie amber init i udzielenie odpowiedzi na kilka pytań. Od sierpnia 2018 r. rusztowanie projektu "amber init" jest uproszczone, nie korzysta już z altany i opiera się tylko na npm, a cały projekt znajduje się pod organizacją npm @ambers . To sprawia, że ​​ustawienie Amber Smalltalk jest łatwiejsze dla osób z niewielkim doświadczeniem w JavaScript.

Instalowanie

Aktualne instrukcje powinny znajdować się na stronie https://lolg.it/amber/amber .

Aby zainstalować Amber, Git musi być najpierw zainstalowany, jeśli nie jest jeszcze zainstalowany. Następujące polecenia zainstalują Amber:

    # dla systemów macOS i Linux wymagane są następujące dwa polecenia:  npm config  set  prefix  =  ~/npm  export  PATH  =  "  $PATH  :  $HOME  /npm/bin"  # add to .bash_profile lub .bashrc  npm install -g grunt-cli grunt -init @ambers/cli 

Aby utworzyć nowy projekt, napisz:

 # Utwórz pusty projekt dir  mkdir example-project  cd  example-project  # Utwórz i zainicjuj nowy projekt Amber  amber init 

Krok „amber init” doprowadzi do kilku pytań dotyczących projektu. Dla większości z nich można ustawić domyślną odpowiedź. Kolejnym krokiem jest uruchomienie serwera:

bursztynowy serw

Następnie wpisanie w przeglądarce http://localhost:4000 spowoduje przejście do aplikacji. Większość przeglądarek domyślnie blokuje wyskakujące okienka Helios IDE, więc ustawienia przeglądarki mogą wymagać zmiany, aby umożliwić wyświetlanie wyskakujących okienek Helios IDE.

Integracja zewnętrznych bibliotek JavaScript

Za pomocą oprogramowania Npm można uzyskać dostęp do szerokiej gamy bibliotek JavaScript. Bibliotekę można zintegrować, wykonując tylko cztery kroki:

  1. Zainstaluj bibliotekę za pomocą npm.
  2. Jeśli pliki „local.amd.json” nie istnieją dla pakietu npm, utwórz plik „libname.amd.json” w katalogu głównym projektu.
  3. Uruchom „grunt devel” (lub „grunt wdrażania”, jeśli jest gotowy do wdrożenia aplikacji).
  4. Dodaj „libname” do #imports pakietu aplikacji: .

Zastosowanie

Uruchamiając grunt Deploy , projekt Amber jest pakowany przy użyciu RequireJS do zaledwie kilku plików, przynajmniej tylko index.html i the.js , które mogą być hostowane statycznie, jak każda inna statyczna strona internetowa.

Zobacz też

Linki zewnętrzne