Korzystanie z JavaScript w aplikacjach C++

Hakerzy pracujący na hackathonie na laptopach w ciemnym biurze

Obrazy bohaterów / Obrazy Getty





Kiedy Google wypuścił przeglądarkę Chrome, firma włączyła szybką implementację JavaScript o nazwie V8, po stronie klienta skrypty język zawarty we wszystkich przeglądarkach. Pierwsi użytkownicy JavaScript w erze Netscape 4.1 nie lubili tego języka, ponieważ nie było narzędzi do debugowania, a każda przeglądarka miała inne implementacje, a różne wersje przeglądarek Netscape również się różniły. Pisanie kodu w różnych przeglądarkach i testowanie go na wielu różnych przeglądarkach nie było przyjemne.

Od tego czasu Mapy Google i Gmail pojawiły się przy użyciu całego Ajax (asynchroniczny JavaScript iXML), a JavaScript cieszył się dużym powrotem. Są teraz do tego przyzwoite narzędzia. Google V8 , który jest napisany w C++, kompiluje i wykonuje kod źródłowy JavaScript, obsługuje alokację pamięci dla obiektów i garbage zbiera obiekty, których już nie potrzebuje. V8 jest o wiele szybszy niż JavaScript w innych przeglądarkach, ponieważ kompiluje się do natywnego kodu maszynowego, a nie kod bajtowy które zostało zinterpretowane.



JavaScript V8V8 jest przeznaczony nie tylko do użytku z Chrome. Jeśli aplikacja C++ wymaga skryptów, aby użytkownicy mogli pisać kod, który jest wykonywany w czasie wykonywania, możesz osadzić wersję 8 w swojej aplikacji. V8 to wysokowydajny silnik JavaScript o otwartym kodzie źródłowym na liberalnej licencji BSD. Google dostarczył nawet przewodnik embedera .

Oto prosty przykład podany przez Google — klasyczny Hello World w JavaScript. Jest przeznaczony dla programistów C++, którzy chcą osadzić V8 w aplikacji C++



|_+_|

V8 działa jako samodzielny program lub może być osadzony w dowolnej aplikacji napisanej w C++.