2011-02-03 6 views
14

Ho intenzione di includere uno script Pascal nella mia applicazione. Non richiede alcun accesso web, semplicemente l'accesso alle classi nella mia Applicazione. Dovrebbe essere veloce (compilato). Vedo che ci sono un certo numero di script disponibili, alcuni sono interpreti ma tra i compilatori RemObjects pascal script e Delphi Web Script (DWS) sembrano essere potenti e attivamente perseguiti.Quali sono i pro e i contro di RemObjects PascalScript rispetto allo script DWS?

Qualcuno può suggerire vantaggi uno rispetto all'altro per favore? Grazie

risposta

14

Essa si riduce a questo, imho:

  • Delphi Web script viene attivamente e aggressivamente sviluppati.

  • PascalScript è praticamente inattivo in termini di sviluppo e miglioramenti.

Tuttavia, DWS è un progetto di comunità sviluppato essenzialmente da un ragazzo (molto talentuoso e competente). PascalScript è supportato da RemObjects.

Ma: il numero di persone/dimensioni dell'organizzazione coinvolte nello sviluppo/supporto di un prodotto non è tanto importante quanto l'efficacia e l'entusiasmo dello sviluppo e del supporto che stanno effettivamente fornendo.

In entrambi i casi viene fornita la fonte, quindi anche se il "supporto ufficiale" si esaurisse, non verrebbe completamente perso.

Da quello che ho capito, il motore DWS è un'implementazione più facilmente comprensibile rispetto a PascalScript che può rendere più semplice il "self support", tuttavia in questi casi ciò che si è abituati è importante (in precedenza ho lavorato a uno script completamente diverso motore che capisco è più simile a DWS che PascalScript).

Infine, attualmente lavoro a un progetto che utilizza PascalScript e in questa fase si intende passare a DWS il prima possibile.

+1

+1 per "Ma:" :) –

+2

+1 Mi piacerebbe unirmi a DWS per via del suo rapido sviluppo. –

+0

Hai spinto a una porta aperta, grazie. Ho già provato DWS e sono rimasto molto colpito. Brian. –

4

Forse considerare una terza opzione. So che l'OP stava chiedendo specificatamente di PascalScript e DWS, ma consiglierei di guardare a TMS Scripter Studio o TMS Scripter Studio Pro come possibili soluzioni. Ottieni interpreti Pascal e BASIC, che sono stato in grado di utilizzare quando l'utente finale non è interessato all'apprendimento di Pascal ma ha uno sfondo VB.

+1

Sì, grazie Ho il prodotto TMS e l'ho valutato. Come ho detto nel mio post, non posso tollerare il bradipo di un interprete, ma grazie. –

+2

@Brian: hai testato interpreti contro script compilati? Questi script sono tutti compilati in bytecode ed eseguiti dalle VM; non è come se fossero quasi altrettanto veloci del codice compilato ** compilato ** effettivo ** comunque. –

+1

+1 per muratore. Misura e mearsure bene (con il codice pertinente dal tuo progetto non con idle for loops) –

4

Si dice che dovrebbe essere veloce, e quando la velocità conta non si può battere PaxCompiler. Non è gratuito, ma vale la pena considerarlo. Il set di funzionalità è unico ed è attivamente sviluppato da anni.

4

I tre principali motivi per cui ho inizialmente andato per DWS erano che:

  1. in DWS si può/potrebbe dichiarare intere nuove classi nello script, con l'ereditarietà, meta-classi, ecc e non sono stati limitati a quelle lezioni che hai esposto/importato.
  2. modello di esposizione più restrittivo (gli script possono accedere solo a ciò che si espone), questo consente il sand-boxing e la chiusura sicura degli script in qualsiasi momento.
  3. struttura del codice sorgente più semplice e leggibile, con un modello di esecuzione semplice e senza codice che è comparativamente più semplice da estendere, eseguire il debug di &.

Nota che praticamente non ho utilizzato il lato "Web" di DWS.

+1

+1 Attualmente utilizzo DWS su più servizi Web (: grazie per il tuo lavoro Eric !! – ComputerSaysNo

2

Il problema più grande con Pascal Script è che non esiste documentazione per la lingua stessa. E intendo zero. Ci sono vari siti Pascal generici, che in qualche modo si applicano ma non del tutto, naturalmente, e ci sono altri tutorial ad-hoc incompleti realizzati da varie persone. Ma quando si tratta di documentazione reale e completa, è praticamente uno scherzo. Per scrivere alcuni script "avanzati" per InnoSetup ho dovuto esaminare le fonti e capire che cosa fa realmente il compilatore.

Penso che chiunque consideri l'uso di Pascal Script debba riconsiderare il pronto. Senza documentazione pubblicamente disponibile, è quasi inutile. InnoSetup non dovrebbe usarlo, IMHO, è un tale dolore quando vuoi fare cose semplici a cui nessuno si è preoccupato di scrivere un tutorial per (ancora).

5

Ho usato Pascal Script di Rem Objects per diversi anni e, a mio parere, è il migliore. Per quanto riguarda la documentazione, guarda i manuali di programmazione Pascal. Non ci sono strane sintassi o chiamate di funzione in uno script. Rispondendo alla precedente risposta 0, non è necessaria la documentazione disponibile pubblicamente, se si conosce Delphi. Non mi sono imbattuto in un singolo caso in cui sarebbe stato necessario. Ci sono 2 articoli scritti su come implementare lo scripting in un'applicazione. Come importare classi, metodi e funzioni, nonché diversi esempi. Per qualsiasi altra cosa, è sufficiente la normale documentazione di Delphi. Tuttavia, con DWS, è necessario disporre di documentazione esplicita perché la sintassi è completamente diversa. Dover utilizzare TProgramInfo e IInfo, rende lo scripting strano e noioso.

Uso lo script Pascal di oggetti rem per controllare la funzionalità IVR delle chiamate telefoniche, simile all'implementazione della porta AGI di Asterisk. Dove ogni chiamata in arrivo a Asterisk, genera una presa sul mio socket del server. Solitamente eseguo fino a 2000 script contemporaneamente. Ogni script viene caricato, compilato ed eseguito e può gestire facilmente fino a 45 chiamate in entrata al secondo. Ogni script controlla la risposta, la riproduzione di file, la raccolta di DTMf, la registrazione, ecc. Per tutte le chiamate. Ci scusiamo per la lunga risposta ventosa, ma non posso dire abbastanza su come funziona Pascal Script. Grazie Rem Objects e Carlo Kok. Che bel prodotto. Forse non stanno facendo aggiornamenti, forse perché non è necessario. Funziona alla grande !!! PS. Un'altra grande caratteristica è che gli script che sono compilati in byte-code non possono essere facilmente invertiti. Pertanto, il tuo codice è sicuro. Inoltre, se necessario, è possibile pre-compilare gli script ed eseguirli in fase di esecuzione, senza doverli compilare. Tuttavia, non era necessario per me perché posso gestire un sacco. Forse un giorno, si spera, avrò bisogno di pre-compilare. Ciò significherebbe che ne gestiamo più di 45 al secondo.

+2

Hai * fatto * informazioni sui paragrafi a scuola? Funzionano qui. –

+0

Penso che questo commento sia positivo per l'equilibrio. –

0

ho usando TMS scripter per 3 anni e funziona bene buona documentazione, un buon supporto, continuare a sviluppare dal produttore, parser veloce, ui combinato sono le ragioni che ho scelto che per i nostri BPMS software