JavaScript: - aktualizacja ECMAScript 6 pozwoli na modularyzację
- Józef Muszyński,
- IDG News Service,
- 06.10.2011, godz. 08:30
Kolejne duże uaktualnienie platformy JavaScript, o roboczej nazwie ECMAScript 6 umożliwi modularyzację kodu oraz zapewni deweloperom większą wygodę programowania i bezpieczeństwo.
Modularyzacja pozwoli na wielokrotne użycie raz napisanego kodu JavaScript w wielu aplikacjach. Według Hermana, system modułowy jest najważniejszą cechą nowej wersji JavaScript, ponieważ zapewnia programistom większe możliwości udostępniania kodu.
Uwagę zwraca też wsparcie danych binarnych w wersji 6, co umożliwia takie operacje, jak czytanie plików binarnych czy binarnych protokółów sieciowych. Można np. czytać zawartość pliku PDF bez konieczności reprezentowania poszczególnych pozycji w postaci łciągów znaków. Obsługa danych binarnych jest użyteczna w aplikacjach intensywnie obsługujących dane i zapewnia możliwość obniżenia czasu ich przetwarzania jak ilości potrzebnej pamięci .
Z kolei zawarta w uaktualnieniu ECMAScript możliwość stosowania kluczy prywatnych pomoże programistom poprawić bezpieczeństwo programów - będą mogli "zakrywać" informacje, uniemożliwiając kodom złośliwym lub przypadkowym intruzom wgląd we fragmenty programu.
Nowe możliwości generatorów w wersji 6 ułatwiają wyrażanie sekwencji zdarzeń w programach webowych. Generatory te będą szczególnie przydatne dla programów asynchronicznych. Inna nowość - interpolacja ciągów znaków - pozwoli na umieszczanie zmiennych w łańcuchu.Do ciągów znaków będą dodawane zabezpieczania (szczepionki) przez dopisaniem do nich (injection) złośliwego kodu. ECMAScript 6 uzyska również dodatkowe udogodnienia programistyczne, takie jak ulepszenia składni.
ECMA rozważa też dodanie klas w ramach ECMAScript, co powinno dać korzyści, w postaci możliwości strukturalizowania programu. Ponadto w ECMAScript pojawia się nowy typ obiekt o nazwie proxy. Są to obiekty, których domyślne zachowania w typowych sytuacjach mogą być kontrolowane, eliminowane lub zmieniane. Pozwoli to programistom na pewne manipulowanie semantyką obiektów JavaScript i może być użyteczne dla eksperymentów z różnymi stylami technik programowania lub reimplementacji istniejących Web API, takich jak DOM (Document Object Mode). Projekt dom.js, prowadzony przez Mozilla, wykorzystuje proxy do reimplementacji biblioteki DOM w JavaScript, zamiast C++, co powinno dać zauważalną poprawę wydajności.
Nowe mechanizmy JavaScript mogą być dodane do przeglądarki, która oficjalnie ich nie obsługuje, za pośrednictwem transpilera (translatora kodu). Mozilla prowadzi projekt Narcissus (interpretator JavaScript), który może wykorzystywać transpiler, ale jeszcze z tego nie korzysta.