Amber Smalltalk
Oryginalni autorzy | Nicolasa Pettona |
---|---|
Deweloperzy | Bursztynowa Wspólnota |
Pierwsze wydanie | 13 września 2011 |
Wersja stabilna | 0.30.0 / 23 lutego 2021
|
Magazyn | |
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 |
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:
- Zainstaluj bibliotekę za pomocą npm.
- Jeśli pliki „local.amd.json” nie istnieją dla pakietu npm, utwórz plik „libname.amd.json” w katalogu głównym projektu.
- Uruchom „grunt devel” (lub „grunt wdrażania”, jeśli jest gotowy do wdrożenia aplikacji).
- 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.