Názory k článku
Do hlubin implementací JavaScriptu: 5. díl - implementace mimo prohlížeče
Adobe AIR
celé vláknoRe: Adobe AIR
celé vláknoZajímavé, děkuji za doplnění. RIA platformy nejsou moje silná stránka a v Resigově přehledu vede do AIR jen šipka z JSCore, o kterém jsme psal minule, tak jsem to dál nezkoumal.
Dynamické jazyky v Javě
celé vláknoRe: Dynamické jazyky v Javě
celé vláknoV článku zcela záměrně píšu "jde o jednu z prvních", "Konkurovat mu v tomto ohledu může asi jen Jython" apod. - popravdě jsem trochu čekal, že někdo bude vědět o nějakém ještě starším projektu, tak jsem volil opatrné formulace. Že to je zrovna implementace lispu mě vůbec nepřekvapuje :-)
V8 na serveru
celé vláknotimto (snad relevantnim) komentarem bych si rad udelal malinkate PR na svuj drobny projekt - http://code.google.com/p/v8cgi/ - c++ wrapper nad V8 s cilem pouzit JS na serveru (jako CGI/FastCGI). V soucasne dobe funguje podpora pro MySQL a sepsal jsem i par podpurnych c++/js knihoven pro HTTP, sablony atp. Na udrzbu a dalsi featury nemam tolik casu, kolik bych chtel, takze do projektu rad prijmu nejakeho dalsiho zajemce :)
V8 mi prislo jako optimalni volba, neb se (v porovnani se SpiderMonkey) chlubi vyssi rychlosti, coz muze byt v CGI/FastCGI prostredi celkem vyhoda.
spustanie javy z javascriptu
celé vlákno
var test = new java.util.Date();
var doc = document.open();
doc.write("java.util.Date.toString = " + test + "
");
doc.write("typeof(java.util.Date) = " + typeof(test) + "
");
doc.close();
Re: spustanie javy z javascriptu
celé vláknoPro ostatní čtenáře doplním, že se jedná o technologii LiveConnect a slouží primárně ke komunikaci skriptů na webových stránkách s applety v Javě.
Je to poměrně obskurní technologie a do budoucna se počítá s jejím odstraněním s tím, že s applety se bude komunikovat pomocí standardního NPAPI. Zdá se, že nyní se čeká na to, než bude k dispozici NPAPI-enabled plugin na Mac OS X.
Jaxer
celé vláknoRe: Jaxer
celé vláknoRe: Jaxer
celé vláknoRe: Jaxer
celé vláknoRhino rozhodně není jen "technologická kuriozita", zcela seriozních uplatnění má mnoho, například:
- doplnění skriptování do nějaké apliakce v Javě (analogie Visual Basicu v Microsoft Office)
- psaní unit testů k aplikacím v Javě v jazyce, který není tak ukecaný
- sdílení kódu mezi klientskou a serverovou částí webové aplikace, která běží na platformě Java
- snadná práce s XML uvnitř jinak Javové apliakce pomocí E4X
- psaní celých multiplatformních desktopových aplikací v JavaScriptu
- psaní celých webových aplikací v JavaScriptu
Jistě by se daly vymyslet uplatnění další, ostatně viz příklady použití odkazované z článku. Situace u JScript.NET je analogická.
Re: Jaxer
celé vláknoJinak teoretické možnosti JScript.NET jsou podobné možnostem Rhina, ale na platformě .NET je to v podstatě mrtvý, skoro nepoužívaný jazyk (v porovnání s jinými).
Re: Jaxer
celé vláknoTeď se mi podařilo najít pouze:
"Jaxer's core engine is based on the same Mozilla engine that you'll find in the popular Mozilla Firefox browser." (http://www.aptana.com/jaxer zalozka How Jaxer works)
Rhino bych tedy nezatracoval, protoze na nem lze vybudovat prave i Vami zminovany Jaxer. :)
Re: Jaxer
celé vláknoRe: Jaxer
celé vláknoTeď se mi daří najít jen to, že je v Jaxeru zabudované celé jádro Firefoxu.
Takže máte asi pravdu, ale nejde mi do hlavy, proč to tam tedy psali.
Re: Jaxer
celé vláknoRe: Jaxer
celé vláknoJá bych v podobném duchu upozornil i na zajímavý projekt jslibs - http://code.google.com/p/jslibs/ . Umožňuje používat javascript z command line spolu se sadou zajímavých modulů. Je to také postaveno na SpiderMonkey.
Chybka a Narcissus
celé vláknoA napadlo mě využití Narcissus engine - nevím jak moc to je efektivní, ale v principu by se dal použít na oddělení vkládaného Javascriptu do stránky tak, aby tento vložený Javascript neměl přístup k původní stránce (třeba pro bezpečné mashupy aplikací apod.) - někde jsem četl, že je to docela velký bezpečností problém - právě třeba u používání několika vložených Javascriptových kódů vložených do stránky, které by neměli být schopné si navzájem číst data.
Re: Chybka a Narcissus
celé vláknoPřeklep je opraven, děkuji.
Nápad o využití Narcissusu k oddělení skriptů je zajímavý. Problém by mohl být v tom, že Narcissus je poměrně hodně svázán se svým hostitelským prostředím a používá mnohé jeho globální objekty jako své vlastní, což znamená, že je nejspíš možné hostitelské prostředí ze spouštěného skriptu ovlivnit (například mu předefinovat metody u oněch použitých objektů). Nezkoumal jsem to ale důkladně, takže je možné, že se mýlím. Vyřešit by se to samozřejmě dalo emulací, což by ale jen zhoršilo už tak pravděpodobně nízký výkon.
Re: Chybka a Narcissus
celé vláknoJS v Adobe PDF
celé vláknoRe: JS v Adobe PDF
celé vláknoNamet na pokracovani
celé vláknoMel bych jeden namet na pokracovani, co treba jednoduchy popis SpiderMonkey (API+priklad) coby externe pripojitelneho JS interpretu? Typicky kdyz chci svuj C/C++ kod ovladat pomoci JS skriptu...
Re: Namet na pokracovani
celé vláknoManaged.JScript
celé vláknoBohuzel pro Managed.JScript nejsou uvolneny zdrojaky, takze jsem musel pod .NET rozbehat Spidermonkey (skriptovani na serveru s propojenim na C# knihovny - analogie z Rhina).