0

Web サイト スクリプト用の新しいオブジェクト パスカル インタープリターのモデル化と開発に興味があります。PHP、Pearl、Java、Javabeans がありますが、Web 開発者向けのオプションとして Pascal はありません。

Delphi は Windows ベースのサーバーでのみ動作するため...

私は次のようなことをしたいと思います:

<input name="ClientName" value="<?pas write(ClintObj.Name); ?>">

また

<input name="ClientName" value="<?pas @ClintObj.GetName; ?>">

テンプレートとしてだけでなく、PHP のように、MVC フレームワークで使用したり、MVC フレームワークを作成したりできます。

<?pas
    System.Writeln('<html><head>...');
?>

どこから始めればよいですか?

それとも、すでに完了していて、見つけられませんか?(Linux の場合)

4

4 に答える 4

2

2 つの既存製品:

酸素

Oxygeneは、以前は Delphi Prism として知られており、以前は RemObjects Chrome として知られていました。

彼らは、Pascal スタイルの言語を Java にコンパイルする方法を見つけました。Pascal コードを Java コードに変換するのではなく、実際に Java ランタイム エンジンで実行されるバイトコードにコンパイルします。それとは別に、.NET ランタイムにコンパイルすることもできます。

Oxygene を目的に使用できるかどうかはわかりませんが、少なくとも彼らの製品は、そのようなものを自分で構築することの可能性と難しさについて、インスピレーションと洞察を与えるかもしれません.

PascalScript

RemObjectsでも PascalScriptを使用できるかもしれません。スクリプトインタープリターです。そのため、サーバー アプリケーションに埋め込むことができます。たとえば、PascalScript を埋め込む ISAPI アプリケーションを作成する場合、スクリプトに「書き込み」メソッドを公開して、スクリプトが出力を書き込めるようにするだけです。アプリケーションが行う必要があるのは、その出力を ISS に出力することだけであり、基本サーバー側のパスカル スクリプトは完了です。その後、さらに便利な関数をスクリプトに公開して、スクリプトをより便利にすることができます。

PascalScript は FreePascal だけでなく Delphi でも使えるので、Linux でも使えるようになるかもしれません。

于 2013-07-04T14:35:20.307 に答える
1

そのようなインタプリタを書くのは簡単なことではありません:

  • スクリプト ファイルを解析し、含まれている Pascal コードをコンパイルして構文エラーをチェックする必要があります。
  • このコンパイル フェーズは CPU を消費するタスクになるため、パフォーマンスを向上させるために結果のオブジェクト コードをキャッシュする必要があります。
  • サーバー上で FPC または Delphi コンパイラを使用またはインストールしたくない場合、言語はコンパイラがサポートできるものに制限されます。
  • 異なるスクリプト部分が情報を交換したり、データベースなどのグローバル データにアクセスしたりする必要がある場合、生成されたコードは「共有データ」にアクセスする必要があります。

アプリケーションがステートレスでない限り、これも重要な機能要件です。

  • Web サイトのさまざまなユーザーが個別のデータ (状態) を必要とするため、コードはセッション対応 (ステートフル) である必要があります。

ああ、1 つの小さな問題:

  • アプリケーションは、悪意のあるクライアントの脆弱性を公開してはなりません。OWASP を参照してください。

ですから、これは長い週末になると思います ;-)

于 2013-07-04T14:49:13.587 に答える
1

テンプレートに言語のスクリプト バージョンを埋め込むことと、その言語での一般的な Web 開発を混在させています。

Pascal はテンプレート言語としてあまり使用されていませんが、http://brookframework.org/ やいくつかの Delphi コンポーネント スイートなどを使用して、Web 開発を行うことは完全に可能です

一部の Delphi オプションは Apache もサポートしており、過去に Kylix をサポートしていました。しばらくの間、 http: //www.href.com のwebhub を使用しました。

于 2013-07-04T19:58:25.957 に答える
1

DelphiWebScript無料( DWS )を忘れないでください。

Delphi に似たWebScript言語として開始されましたが、スクリプトとして使用できる汎用の Delphi に似た言語であり、JIT コンパイラも備えています (ただし、JIT コンパイラがなくても、パフォーマンスはすでに非常に優れています)。

メイン プロジェクトは Delphi でコンパイルされますが (Windows 専用です)、Linux でも実行できるようにするFreePascal DelphiWebScript イニシアチブがあります。

選択できる複数のデモ Web サーバー プロジェクトがあり、独自の DWS スクリプトをホストできます。たとえば、 http.sys バージョン 2に基づくWebServer プロジェクトのほか、Indy ベースSynopse ベースのプロジェクトがあります。

開発ツールSmart Mobile Studio、DWSを使用してフォームと Pascal ベースのソース コードを HTML5 と JavaScript にコンパイルし、それを Web サーバーから提供して、HTML5/JavaScript 互換ブラウザー (モバイルを含む) で実行します。

したがって、DWS、デモ、およびその周辺のエコシステムには多くの力があります (:

于 2013-07-05T07:58:08.510 に答える