Каковы плюсы и минусы RemObjects PascalScript по сравнению со сценарием DWS? - PullRequest
17 голосов
/ 03 февраля 2011

Я планирую включить скрипт Паскаль в моем приложении. Это не требует никакого доступа в Интернет, просто доступ к классам в моем приложении. Это должно быть быстро (скомпилировано). Я вижу, что есть ряд доступных сценариев, некоторые из которых являются интерпретаторами, но среди компиляторов RemObjects pascal script и Delphi Web Script (DWS) кажутся мощными и активно реализуемыми.

Кто-нибудь может предложить преимущества одного над другим, пожалуйста? Спасибо

Ответы [ 7 ]

14 голосов
/ 03 февраля 2011

Это сводится к этому, imho:

  • Delphi Web Script активно и активно разрабатывается.

  • PascalScript в значительной степени бездействует в плане разработки и улучшений.

Тем не менее, DWS - это проект сообщества, по сути разрабатываемый одним (очень талантливым и компетентным) парнем. PascalScript поддерживается RemObjects.

Но: количество людей / размер организации, вовлеченной в разработку / поддержку продукта, не так важно, как эффективность и энтузиазм разработки и поддержки, которые они фактически предоставляют.

В обоих случаях предоставляется источник, поэтому, даже если «официальная поддержка» иссякнет, вы не потеряетесь полностью.

Из того, что я понимаю, механизм DWS является более понятной реализацией, чем PascalScript, который может упростить "самостоятельную поддержку", хотя в таких случаях важно то, к чему вы привыкли (ранее я работал над совершенно другим механизмом сценариев который, как я понимаю, больше похож на DWS, чем на PascalScript).

Наконец, в настоящее время я работаю над проектом, использующим PascalScript, и на этом этапе намерен перейти на DWS как можно скорее.

5 голосов
/ 28 мая 2014

Я использую Pascal Script от Rem Objects уже несколько лет и, на мой взгляд, он лучший.Что касается документации, посмотрите руководства по программированию на Pascal.В скрипте нет странного синтаксиса или вызовов функций.Отвечая на ответ выше 0, вам не нужна общедоступная документация, если вы знаете Delphi.Я не сталкивался ни с одним случаем, где это было бы необходимо.Написано 2 статьи о том, как реализовать скрипты в приложении.Как импортировать классы, методы и функции, а также несколько примеров.Для всего остального, нормальной документации Delphi достаточно.Однако для DWS необходимо иметь явную документацию, поскольку синтаксис совершенно другой.Необходимость использования TProgramInfo и IInfo делает сценарии странными и утомительными.

Я использую сценарий Rem Objects Pascal для управления функциями IVR телефонных вызовов, аналогично реализации порта AGI Asterisk.Где каждый входящий звонок на Asterisk, порождает сокет для сокета моего сервера.Обычно я запускаю до 2000 сценариев одновременно.Каждый скрипт загружается, компилируется и выполняется и может легко обрабатывать до 45 входящих вызовов в секунду.Каждый скрипт управляет ответом, воспроизведением файлов, сбором DTMf, записью и т. Д. Для всех вызовов.Извините за долгий ответ, но я не могу сказать достаточно о том, как работает хороший Pascal Script.Спасибо Rem Objects и Карло Кок.Какой отличный продукт.Они могут не делать активных обновлений, возможно потому, что в этом нет необходимости.Работает отлично !!!PS.Еще одна замечательная особенность заключается в том, что скрипты, скомпилированные в байт-код, не могут быть легко изменены.Поэтому ваш код в безопасности.Также, при необходимости, вы можете предварительно скомпилировать сценарии и выполнять их во время выполнения, не компилируя их.Тем не менее, это было не нужно для меня, потому что я могу справиться с большим количеством.Может быть, когда-нибудь, надеюсь, мне нужно будет предварительно скомпилировать.Это будет означать, что мы обрабатываем намного больше, чем 45 в секунду.

5 голосов
/ 21 марта 2011

Три главные причины, по которым я изначально использовал DWS, заключались в том, что:

  1. в DWS вы можете / могли объявить в скрипте совершенно новые классы с наследованием, мета-классами и т. Д. И weren 'Ограничено теми классами, которые вы выставили / импортировали.
  2. более ограниченная модель воздействия (скрипты могут получить доступ только к тому, что вы выставляете), это позволяет выполнять песочницу и безопасное завершение скриптов в любое время.
  3. более простая, более читаемая структура исходного кода с простой, без байт-кода моделью исполнения, которую сравнительно легче расширять, отлаживать и поддерживать.

Обратите внимание, что я практически не использовал сторону "Web"DWS на всех.

4 голосов
/ 04 февраля 2011

Вы говорите, что это должно быть быстро, а когда важно, вы не можете победить PaxCompiler .Это не бесплатно, но стоит задуматься.Набор функций уникален и активно развивается уже много лет.

4 голосов
/ 04 февраля 2011

Может быть, рассмотрим третий вариант.Я знаю, что ОП конкретно спрашивал о PascalScript и DWS, но я бы порекомендовал взглянуть на TMS Scripter Studio или TMS Scripter Studio Pro в качестве возможных решений.Вы получаете как Pascal, так и BASIC-интерпретаторы, которые я смог использовать, когда конечный пользователь не заинтересован в изучении Pascal, но имеет опыт работы с VB.

2 голосов
/ 14 марта 2013

Самая большая проблема с Pascal Script - отсутствие документации для самого языка. И я имею в виду ноль . Существуют различные общие сайты Pascal, которые вроде бы применяются, но не совсем, конечно, и есть другие неполные специальные уроки, сделанные разными людьми. Но когда дело доходит до реальной, всеобъемлющей документации, это в значительной степени шутка. Чтобы написать несколько «продвинутых» сценариев для InnoSetup, мне пришлось посмотреть на источники и выяснить, что на самом деле делает компилятор.

Я думаю, что любой, кто рассматривает возможность использования Pascal Script, должен пересмотреть быстро. Без общедоступной документации это почти бесполезно. InnoSetup не должен его использовать, IMHO, это такая боль, когда вы хотите делать простые вещи, для которых никто не потрудился написать учебник (пока).

0 голосов
/ 18 мая 2015

Я использую tms scripter в течение 3 лет, и он работает нормально хорошая документация, хорошая поддержка, постоянная разработка производителем, быстрый анализатор, объединенный пользовательский интерфейс - вот причины, по которым я выбираю это для нашего программного обеспечения BPMS

...