Каковы плюсы и минусы RemObjects PascalScript по сравнению со сценарием DWS?

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

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

7 ответов


все сводится к этому, имхо:

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

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

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

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

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

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

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


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

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


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


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


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

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

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


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

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


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