Domanda

Ho la seguente situazione. Un cliente usa JavaScript con jQuery per creare un sito web complesso. Vorremmo usare JavaScript e jQuery sul server (IIS) per i seguenti motivi:

  1. il trasferimento delle competenze - vorremmo usare JavaScript e jQuery sul server e non è necessario utilizzare ad esempio VB Script. / ASP classico. NET Framework / Java etc è escluso a causa di questo.

  2. opzioni migliorate per la ricerca / accessibilità. Vorremmo essere in grado di utilizzare jQuery come un sistema di template, ma questo non è praticabile per i motori di ricerca e gli utenti con js spento -. A meno che non siamo in grado di selettivamente eseguire questo codice sul server

C'è significativi investimenti in IIS e Windows Server, in modo da cambiare che non è un'opzione.

Lo so è possibile eseguire JScript su IIS utilizzando Windows Script Host, ma sono sicuro della scalabilità e il processo che circonda questo. Sono anche incerto se questo avrebbe accesso al DOM.

Ecco un diagramma che spiega la situazione si spera. Mi chiedevo se qualcuno ha fatto qualcosa di simile?

EDIT: io non sono alla ricerca di critico su architettura web, sto semplicemente che vogliono sapere se ci sono delle opzioni per la manipolazione del DOM di una pagina prima di essere inviato al client, utilizzando JavaScript. Jaxer è uno di questi prodotti (no IIS) Grazie.

È stato utile?

Soluzione

Date un'occhiata al portando il browser al server , Rhino , e IIS Usa Microsoft come un motore di servlet Java .

Il primo collegamento è da John Resig di (creatore di jQuery) blog.

Aggiorna 2 agosto 2011

Node.js è in arrivo a Windows.

Altri suggerimenti

L'idea di client riutilizzo JS sul server può sembrare allettante, ma non sono sicuro che jQuery per sé sarebbe pronto per l'esecuzione in ambiente server.

È necessario definire contesto globale per jQuery in qualche modo inizializzando window, document, self, location, etc.. Io non sono sicuro che sia fattibile.

Inoltre, come ha detto Cheeso, Active Server Pages è una tecnologia molto vecchio, è stato sostituito con ASP.Net da Microsoft agli inizi del secolo. Ho usato per mantenere un sistema legacy utilizzando ASP 3.0 per più di un anno e che è stato il dolore. Il passatempo più bello è stato il debug: sarà difficile trovare qualche cosa per lo scopo oggi e dovrà decript belle errori come nel registro di IIS:

  

errore '800a9c68'
  Application-defined o object-defined

Tuttavia, posso confermare che sono riuscito a cliente il riutilizzo e il server di JScript. Ma questo è stato il codice scritto da me, che sapeva che stava per essere utilizzato sul server.

P.S. Non suggerirei muoversi in quel modo. Ci sono quadri di templating abbondanza, che sono familiari a coloro che scrivono HTML e JavaScript.

JScript gira su IIS tramite qualcosa chiamato ASP.
Active Server Pages.
E 'la prima volta disponibile nel 1996.

Alla fine ASP.NET è stato introdotto come successore. Ma ASP è ancora supportato.

Non v'è alcun DOM per la pagina HTML, però.

Potrebbe essere necessario riconsiderare la vostra architettura un po '.

Credo che le soluzioni praticabili solo è molto probabile per trovare da nessuna parte vicino pronto ad andare coinvolgere mettere IIS davanti a Java. Ci sono due browser come ambienti Sono a conoscenza di codice per Java:

1) ENV-js (vedi http://groups.google.com/group/envjs e http://github.com/thatcher/env-js ) Credo che questo ha contributo di jQuery John Resig ed è stato messo insieme con jQuery testing / supporto in mente.

2) HtmlUnit (vedi http://htmlunit.sourceforge.net/ ) Questo suo più vecchio, e non è stato originariamente concepito intorno a jQuery, ma ci sono segnalazioni in natura di usarlo per eseguire la suite di test di jQuery con successo ( http://daniel.gredler.net/2007/08/08/htmlunit-taming-jquery/ ).

Se si desidera qualcosa di puro-IIS / MS, penso che la tua osservazione circa windowsScript host e / o di qualcosa di simile al JScript.NET semi-abbandonata è probabilmente quanto di più vicino si sta andando a venire, insieme ad una porta ( che probabilmente dovrete iniziare) di qualcosa come ENV-js o HtmlUnit.

Inoltre, non so se hai visto l'elenco delle soluzioni Wikipedia JavaScript lato server:

http://en.wikipedia.org/wiki/Server-side_JavaScript

Infine ... si potrebbe forse scrivere un utile jQuery-come libreria in qualsiasi lingua che ha già un qualche tipo di DOM funzioni di libreria e di prima classe (o, in mancanza di un impianto di eval). Vedere, per esempio pQuery per Perl ( http://metacpan.org/pod/pQuery ). Questo sarebbe ottenere i benefici dello stile jQuery di manipolare documenti. il trasferimento di competenze è grande e JavaScript ha una meravigliosa confluenza di caratteristiche molto piacevoli, ma d'altra parte, avendo gli sviluppatori che si preoccupano abbastanza per imparare più lingue è anche grande, e js non è l'unica bella lingua là fuori.

Credo che sia soprattutto uno script basato su browser quindi probabilmente si è meglio di utilizzare tecnologie basate su .NET VB o per eseguire o generare codice HTML dai modelli. Sono sicuro che ci sono perché nel mondo Java ci sono alcuni di questi in giro (come velocità). Farebbe quindi utilizzare jQuery per creare o aggiungere funzionalità lato client e l'usabilità in modo che rende il sito più usabile di quanto lo sarebbe stato.

Che cosa si intende per

  

"Un cliente usa JavaScript con   jQuery per creare un sito web complesso "

La metà il punto di jQuery è quello di rendere più facile per gli sviluppatori di manipolare il DOM, e quindi aggiungere miglioramenti interattivi per un sito web. Eseguendo il Javascript sul server e solo il rendering HTML si perde la possibilità di aggiungere questi miglioramenti, senza fare un viaggio di andata al server (si pensi WebForms postback modello ... ugh).

Ora, se ciò che si intende è il cliente utilizza un costruttore sito sulla base di jQuery, perché non hanno che l'HTML uscita utensile piatto, in primo luogo?

Date un'occhiata a questo tecnologia . È possibile richiamare gli script per l'esecuzione sul server, al client, o entrambi. Inoltre, questo implementa davvero il motore di Firefox sul server. Date un'occhiata a questo.

Jaxer di Aptana è il primo server AJAX Web finora. Non ho ancora tryed, ma lo farò. Sembra essere molto promettente e molto potente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top