Јаваскрипт покретач

Јаваскрипт покретач (енг. ЈаваСцрипт енгине) или Џаваскрипт покретач је програм или библиотека која извршава Јаваскрипт код. Јаваскрипт покретач може да буде традиционални интерпретер или може да користи динамичко превођење (енг. јуст-ин-тиме цомпилатион) до бајткода.[1] Иако постоји више употреба за Јаваскрипт покретач, најчешће се користи у веб прегледачима.[2]

Историја

уреди

Пре другог рата прегледача 2008—2009., Јаваскрипт покретачи (такође назван Јаваскрипт интерпретер или Јаваскрипт имплементација) су просто били интерпретери који су читали и извршавали Јаваскрипт изворни код.

Први Јаваскрипт покретач је направио Брендан Ајх у Корпорацији Нетскејп Комуникације за Нетскејп Навигатор веб прегледач. Покретач, кодног имена СпајдерМанки, је имплементиран у C++. Од тада је ажуриран (у ЈаваСкрипт 1.5) да се прилагоди ЕЦМА-262 издању 3. Рино покретач, направљен примарно од стране Нориса Бојда (такође у Нетскејпу) је Јаваскрипт имплементација у Јави. Попут СпајдерМанкија, Рино је компатибилан са ЕЦМА-262 издањем 3. Примене техногије укључују Нитро од Епл-а, Сафари 4, В8 од Гугл кроум-а и ТрејсМанки од Мозиле фајерфокс 3.5.

Најчешће домаће окружење за Јаваскрипт је веб прегледач. Веб прегледачи углавном користе јавни апликациони програмски интерфејс (АПИ) да направе „домаће објекте" одговорне за представљање Објектног модела документа (ДОМ) у Јаваскрипту.

Процена перформанси

уреди

Типичан велики веб прегледач има графички покретач и независни Јаваскрипт покретач, што допушта, лакше тестирање, поновну имплементацију или коришћење у другим пројектима. На пример, Каракан се користи са Пресом; Нитро са Веб китом; СпајдерМанки са Геком; КЈС са КХТМЛ; Рино по почетним поставкама нема покретач распореда (лаyоут енгине). Друге комбинације су такође могуће, на пример, В8 са Блинком у Гугл Кроуму. Јаваскрипт покретач даје девелоперима приступ функционалностима (мреже, руковање ДОМ-ом, екстерни догађаји, ХТМЛ5 видео, платно и складиштење података ) потребним за контролу веб прегледача.

Трка Јаваскрипт покретача: 2008. и 2009.

уреди

Током овог периода била је трка од стране девелопера прегледача да се развије још бржи Јаваскрипт покретач као одговор на растуће коришћење Јаваскрипт програмских оквира и Ајакс-а, пошто на корисничко искуство директно утиче могућност прегледача да извршава код клијентске стране. Током 2008, Гугл Кроум је хваљен за његове Јаваскрипт перформансе, али остали прегледачи су убрзо добили нове Јаваскрипт покретаче који су били бржи. Касније, Кроум је победио у тркама бољих перформанси. Његове снаге су перформансе апликација и брзина процесирања Јаваскрипта, обе су независно потврђене од стране више веб сајтова да је најбржи међу већим прегледачима тог времена.[3][4][5] Са напретком Скврлфиша од Веб кита и Мозилине ТрејсМанки виртуалне машине, брзина којом Кроум извршава Јаваскрипт се сматра споријом.[6][7][8][9] Гугл је одговорио са В8 кога су развијали Данци и побољшао је Јаваскрипт перформансе у Гугл Кроум 2.

Дана 2. јуна 2008., Веб кит развојни тим је најавио Скврлфиш,[10] тада нови Јаваскрипт покретач који веома побољшава брзине којима Сафари интерпретира скрипте.[11] Покретач је био једна од нових одлика Сафари 4 и изашао је за девелопере 11. јуна 2008.; коначни Јаваскрипт покретач се звао Нитро.

Јануара 2009., покретач тада познат као Скврлфиш Екстрим (СФX) је омогућен за Мац ОС X на x86-64 архитектурама јер пролази све тестове на тој Епл-овој платформи.[12] Изашао 30. Јуна 2009, Фајерфокс 3.5 укључује оптимизациону технику која нуди „побољшања перформанси у размерама од 20 до 40 пута" приликом поређења са Фајерфокс 3 у неким случајевима.[13]

Трка Јаваскрипт покретача: 2010.

уреди

Почетком 2010, норвешки веб прегледач Опера је заменила већ старећи Футарк са бржим Караканом, који је у раном тестирању био бржи 2.5 пута. Други учесници су били, Епл-ов прегледач Сафари Нитро (покретач раније познат као Скврлфиш) и нови Фајерфоксов ЈегерМанки (настала мешавином Нитроа са старијим покретачом ТрејсМанки).[2] Мајкрософт је заостајао, недостајао им је посвећен покретач Јаваскрипта и имали су најспорији од свих великих прегледача. ЈегерМанки је почео тестирање у јавно избаченом Фајерфоксу 4.0 бети у лето 2010.[14] Сафари 5, такође избачен у лето 2010., имао је 30 посто бржи наступ Јаваскрипта од Сафари 4 (који је користио покретач Нитро).[15]

Трка Јаваскрипт покретача: 2011

уреди

У 2011., Фајерфокс 4 и Интернет Експлорер 9 су избачени са њиховим Јаваскрипт софтвером.

Јаваскрипт покретачи

уреди

Активни пројекти

уреди
  • Рино, од стране Мозила Фондације (енгл. Mozilla Foundation), софтвер отвореног кода, развијен у Јави.
  • СпајдерМанки, први Јаваскрипт покретач, на коме је био базиран Нетскејп Навигатор а данас и Фајерфокс.
  • В8 - софтвер отвореног кода, развијен од стране Гугла у Данској, део Гугл Кроума.
  • ЈаваСкриптЈезгро - софтвер отвореног кода, рекламиран као Nitro а развијен од стране Епл-а за Сафари.
  • КЈС - КДЕ-ов ЕЦМАСкрипт/ЈаваСкрипт покретач првобитно развијен од стране Хари Портена за КДЕ-ов пројекат, Konqueror веб прегледач.
  • Чакра (ЈСкрипт9), за Интернет Експлорер.[16][17]
  • Чакра (ЈаваСкрипт) за Мајкрософт Еџ.
  • дyн.јс, софтвер отвореног кода, написан од стране Дагласа Кампоса и сарадника.[18]
  • Нешхорн, софтвер отвореног кода као део OpenJDKа, написан од стране групе за Оракл Јава језике и алате (енгл. Oracle Java Languages and Tool Group).[19]
  • Јуце, C++ оквир за апликацију, садржи специјално дизајнирани уметнути интерпретер који користи део ЈаваСкрипт синтаксе.
  • Дуктејп,[20] софтвер отвореног кода, укључив, лак за интегрисање у C пројектима, лиценциран од стране MIT, Јаваскрипт покретач са фокусом на преносивост и употребом мале количине простора.
  • МуЈС,[21] софтвер отвореног кода, укључив и проширив интерпретер развијен за МуПДФ.
  • Хигс, софтвер отвореног кода, JIT компајлер написан у језику D.[22]
  • ив, ЕЦМАСкрипт Лексер / Парсер / Интерпретер / ВМ / метод ЈИТ написан у језику C++.[23]

Неактивни пројекти

уреди
  • Тамарин, од стране Адоби системс корпорације.
  • Каракан, од стране Опера Софтвер корпорације, користио се у Опера веб прегледачу до верзије 10.50 након чега се прешло на В8 са Опером 14.00 (која је пуштена у рад 2013-те године).[24][25]
  • Футарк, од стране Опера Софтвер корпорације, коришћен Опера веб прегледачем од верзије 9.50 до 10.10 док се није заменио Каракан-ом у Опери 10.50 (која је пуштена у рад у марту 2010-те године).
  • Нарцисус софтвер отвореног кода, написан од стране Брендана Ајха, који је такође написао СпајдерМанки.

Имплементације

уреди

ЈаваСкрипт је дијалекат ЕЦМАСкрипте која је подржана од стране многих апликација, поготово веб прегледача. Дијалекти понекад укључују екстензије у језику или у стандарној библиотеци и сродним апликационим програмским интерфејсовима (АПИ) као што је WWW Конзорцијум (енгл. World Wide Web Consortium) спецификовао Објектни Модел Документа (енгл. Document Object Model). Ово подразумева да апликација написана на једном дијалекту може бити компатибилна са другом, осим уколико су апликације написане да користе само заједнички подскуп подржавајућих карактеристика и АПИ-ја („срж“).

Дијалекат и имплементација су посебни: дијалекат језика је важна варијанта тог језика, док је имплементација језика (или дијалекта) извршава програм написан на том језику (или дијалекту).

Назив апликације Дијалекат и последња верзија Верзија ЕЦМАСкрипте
Гугл Кроум, В8 покретач ЈаваСкрипт ЕЦМА-262, издање 5
Мозила Фајерфокс, Геко покретач распореда (енгл. layout engine), СпајдерМанки, и Рино ЈаваСкрипт 1.8.5 ЕЦМА-262, издање 5
Сафари, Нитро покретач ЈаваСкрипт ЕЦМА-262, издање 5.1
Опера веб прегледач ЕЦМАСкрипт са елементима ЈаваСкрипт 1.5
и ЈСкрипт екстензијама[26]
ЕЦМА-262, издање 5.1
КХТМЛ покретач распореда (енгл. лаyоут енгине), КДЕ-ов Конqуерор ЈаваСкрипт 1.5 ЕЦМА-262, издање 3
Адобе Ацробат ЈаваСкрипт 1.5 ЕЦМА-262, издање 3
ОпенЛасзло ЈаваСкрипт 1.4 ЕЦМА-262, издање 3
Маx/МСП ЈаваСкрипт 1.5 ЕЦМА-262, издање 3
АНТ Галио 3 ЈаваСкрипт 1.5 са РМАИ екстензијама ЕЦМА-262, издање 3

Референце

уреди
  1. ^ Лоопер, Јен (21. 9. 2015). „А Гуиде то ЈаваСцрипт Енгинес фор Идиотс”. Телерик Девелопер Нетwорк. Приступљено 17. 3. 2016. 
  2. ^ а б Сханкланд, Степхен (2. 3. 2010). „Опера 10.5 брингс неw ЈаваСцрипт енгине”. ЦНЕТ. ЦБС Интерацтиве. Архивирано из оригинала 03. 10. 2013. г. Приступљено 30. 1. 2012. 
  3. ^ Сханкланд, Степхен (2. 9. 2008). „Спеед тест: Гоогле Цхроме беатс Фирефоx, ИЕ, Сафари”. ЦНЕТ Бусинесс Тецх. ЦБС Интерацтиве. Архивирано из оригинала 01. 05. 2012. г. Приступљено 28. 6. 2010. 
  4. ^ „Биг броwсер цомпарисон тест: Интернет Еxплорер вс. Фирефоx, Опера, Сафари анд Цхроме”. ПЦ Гамес Хардwаре. Цомпутец Медиа АГ. Архивирано из оригинала 02. 05. 2012. г. Приступљено 28. 6. 2010. 
  5. ^ „Лифехацкер Спеед Тестс: Сафари 4, Цхроме 2”. Лифехацкер. Архивирано из оригинала 14. 02. 2021. г. Приступљено 28. 6. 2010. 
  6. ^ Сханкланд, Степхен (31. 10. 2008). „Тхирд Цхроме бета анотхер нотцх фастер”. ЦНЕТ. ЦБС Интерацтиве. Приступљено 28. 6. 2010. 
  7. ^ Сханкланд, Степхен (19. 9. 2008). „Степ асиде, Цхроме, фор Сqуиррелфисх Еxтреме”. ЦНЕТ. ЦБС Интерацтиве. Архивирано из оригинала 25. 09. 2012. г. Приступљено 29. 6. 2010. 
  8. ^ „СqуиррелФисх Еxтреме: Фастест ЈаваСцрипт Енгине Yет”. сатине.орг. Приступљено 29. 6. 2010. 
  9. ^ Сханкланд, Степхен (3. 9. 2008). „Фирефоx цоунтерс Гоогле'с броwсер спеед тест”. ЦНЕТ Бусинесс Тецх. ЦБС Интерацтиве. Архивирано из оригинала 01. 05. 2012. г. Приступљено 29. 6. 2010. 
  10. ^ Гарен, Геоффреy (2. 6. 2008). „Анноунцинг СqуиррелФисх”. Архивирано из оригинала 12. 05. 2020. г. Приступљено 11. 6. 2008. 
  11. ^ Липскас, Вyгантас (11. 6. 2008). „Аппле Сафари 4”. Архивирано из оригинала 01. 05. 2012. г. Приступљено 11. 6. 2008. 
  12. ^ Цхангесет 40439 – WебКит
  13. ^ Паул, Рyан (22. 8. 2008). „Фирефоx то гет массиве ЈаваСцрипт перформанце боост”. арстецхница.цом. Арс Тецхница © 2010 Цондé Наст Дигитал. Приступљено 28. 6. 2010. 
  14. ^ „Фирефоx 4 Висион: фаст, поwерфул, анд емпоwеринг”. 
  15. ^ http://www.prnewswire.com/news-releases/apple-releases-safari-5-95817479.html Сафари 5 Релеасед
  16. ^ Оиага, Мариус (20. 3. 2010), „Интернет Еxплорер 9 Бета Неxт – Неw ИЕ9 Буилдс Еверy 8 Wеекс”, софтпедиа.цом, СофтНеwс НЕТ СРЛ, Архивирано из оригинала 05. 01. 2012. г., Приступљено 28. 6. 2010 
  17. ^ „Таргетинг Едге вс. Легацy Енгинес ин ЈсРТ АПИс”. Мицрософт.цом. Приступљено 10. 9. 2015. 
  18. ^ Сцхустер, Wернер (2. 10. 2011), ИнвокеДyнамиц анд ЈаваСцрипт - Неw Цомпилер Дyн.јс, Орацле Насхорн анд Рхино, ИнфоQ 
  19. ^ Ј. Ласкеy (19. 7. 2011), Адвентурес ин ЈСР-292 ор Хоw То Бе А Дуцк Wитхоут Реаллy Трyинг (ПДФ), Орацле, Архивирано из оригинала (ПДФ) 03. 06. 2016. г., Приступљено 13. 05. 2016 
  20. ^ Дуктапе
  21. ^ МуЈС: ан ембеддабле ЈаваСцрипт интерпретер
  22. ^ „Хиггс ЈаваСцрипт Виртуал Мацхине”. Приступљено 15. 11. 2015. 
  23. ^ „Цонстеллатион/ив”. Приступљено 15. 11. 2015. 
  24. ^ Дев.Опера — Блог
  25. ^ Дев.Опера — Блог
  26. ^ „Wеб специфицатионс суппорт ин Опера Престо”. Опера.цом. Опера Софтwаре АСА. Архивирано из оригинала 04. 06. 2012. г. Приступљено 28. 6. 2010. 

Спољашње везе

уреди