Hop (software) - Hop (software)
![]() | Tento článek musí být aktualizováno. Důvod je uveden: Kolem roku 2016 přejmenován na Hop.js, lze programovat také v HopScript (super-sada JavaScriptu)[1]. (Listopadu 2019) |
![]() | |
Paradigma | multi-paradigma |
---|---|
Navrhl | Manuel Serrano |
Poprvé se objevil | 2006 |
Stabilní uvolnění | 2.4.2 / 23. září 2013 |
Psací disciplína | silný, dynamický |
Licence | GPL 2+ |
webová stránka | poskok![]() |
Ovlivněno | |
Systém[1] |
Formace | 1967 |
---|---|
Účel | Výzkum |
Obsluhovaný region | Francie |
Poskok je Lisp -jako programovací jazyk podle Manuel Serrano pro web 2.0 a také jméno webový makléř (serveru a proxy ), který implementuje tento jazyk. Je napsán v Bigloo Systém. Jedná se o projekt financovaný INRIA.
Jazykový design
Hop je stratifikovaný jazyk, což znamená, že jeden programový soubor obsahuje pokyny pro server i klienta. Server provádí výpočty a operace náročné na CPU, které vyžadují systémová oprávnění pro přístup k souborům nebo jiným prostředkům. Klienti (kterých může být mnoho, jako jsou prohlížeče, mobilní telefony atd.) Se věnují provádění akcí souvisejících s programováním grafických uživatelských rozhraní.
(definovat službu (datum serveru) ;1 (dnešní datum)) ;2(<HTML> ;4 (<BUTTON> ;5 :při kliknutí ~(s hopem ($ datum serveru) ;6 (lambda (h) (výstraha h))) ;7 "Server time")) ;8
Fragment kódu výše ilustruje několik konceptů.
- 8 řádků kódu definuje kompletní program. Řádky 1 a 2 vedou k definici služby na serveru. Řádky 4 až 8 vedou k vytvoření stránky HTML s funkcemi javascript. Dává pokyn klientovi (prohlížeči), aby zobrazil tlačítko se štítkem „Server time“ a aby po kliknutí uživatele na tlačítko odeslal požadavek serveru. Hop automaticky generuje všechny pokyny potřebné pro komunikaci mezi klientem a serverem.
- Hop je založen na schématu. Hop program je tedy v podstatě seznam slov a / nebo seznamů, které začínají a končí závorkami. Například „(obsah HTML)“. „HTML“ je název funkce a „obsah“ je parametr funkce.
- Názvy funkcí v Hopu mohou obsahovat jiné znaky než písmena a číslice. Například „“ je platný název. Syntaxe Hopu proto vypadá velmi podobně jako HTML (záměrně). Hop výraz „( obsah)“ je podobný HTML výrazu „ obsah “.
- Parametry HTML začínají dvojtečkou; například „: onclick“.
- Znak $ v „$ server-date“ označuje, že server by měl před odesláním HTML klientovi nahradit název proměnné „server-date“ hodnotou proměnné. Je to velmi podobné tomu, jak fungují ASP a JSP.
- Znak ~ v „: onclick ~ (...)“ označuje, že klient by měl zpracovat to, co je mezi závorkami.
- Funkce „with-hop“ v „(with-hop (...) (...))“ je speciální funkce, která deleguje práci na server a má dva parametry. První parametr obsahuje požadavek, který by měl klient odeslat na server asynchronně. Druhý parametr obsahuje funkci zpětného volání, kterou by měl klient vyvolat, když přijde odpověď ze serveru. „(lambda (h) (alert h))“ je anonymní funkce, která přebírá jediný vstupní parametr „(h)“, který obsahuje odpověď serveru při volání funkce. „(upozornění h)“ je tělo funkce.
Problémy
Vzhledem k jeho nedávnému zavedení má Hop v současné době řadu slabin.
- Zabezpečení je slabé. Jde o oblast aktivního výzkumu[2]
- Selhání sítě jsou v současné době řešeny ručně kódovaným časovým limitem a rutinami výjimek, tento přístup je náročný na práci a relativně nespolehlivý.[2]
Reference
- ^ http://hop.inria.fr/usr/local/lib/hop/2.2.0/weblets/home/articles/hop-lang/article.html
- ^ A b Youtube: HOP: Jazyk pro programování webu 2.0 začínající v 33:50.