60

LISPのさまざまなフレーバーで人気のある(わかりました、人気のあるのは相対的な)Webフレームワークは何ですか?

4

16 に答える 16

19

PLTスキームは、組み込みの継続ベースのWebサーバーを備えています。

更新:PLTスキームはRacketと呼ばれるようになりました。

于 2008-10-03T18:04:46.657 に答える
14

Hunchentootも非常に広まっています

于 2008-10-03T16:32:49.400 に答える
14

ウェブブロックとは?

Weblocks は、Common Lisp で書かれた継続ベースの Web フレームワークです。

http://common-lisp.net/project/cl-weblocks/

于 2008-10-03T16:46:29.717 に答える
10

よく知られている Common Lisp Web フレームワークのほとんど (おそらくすべて) は既に言及されているので、いくつかコメントを追加します。

Hunchentoot は、ほとんどの人が意味する「Web フレームワーク」ではありません。これは HTTP サーバーです (非常に優れたサーバーです)。

Drew Crampsie の "Lisp on Lines" は非常に有望に見えますが、どこまで進んでいるのかはわかりません。発表が来るのをずっと待っていました。

Marco Baringer の UnCommon Web は、Allegro CL、CMUCL、Clozure CL (旧称 OpenMCL)、GNU clisp、SBCL などの著名な CL 実装の多くで実行されます。欠落している唯一の主要なものは LispWorks です。それが機能することがテストされていないことを意味するのか、機能しないことがわかっているのか、それとも何なのかはわかりません。しかし、それが他のすべての方言で実行される場合、他のすべての方言で実行するのはおそらく簡単です。

于 2008-10-05T15:14:33.253 に答える
8

私は Lisp 用の優れた Web フレームワークをかなり広範囲に探しましたが、それらすべてにややアクセスできないことがわかりました。UCW のアーキテクチャは私にはあまり自然に思えませんでした (理由を思い出せません。調べてからしばらく経ちました)。

シンボリック Web は非常に興味深いように見えます。私は Webblocks が最も興味深いと思いますが、Weblocks は十分に文書化されておらず、初心者にはかなり威圧的です。SymbolicWeb は、前回見たときは未熟でしたが、その後は少し成長したのかもしれません。今日の機能ページはかなり良さそうです。

あなたが取ることができるさまざまなアプローチがあります。純粋にLispのアプローチが必要な場合は、次のことができます。

  • コードを上手に読み、継続を理解できる場合は、Hunchentoot バックエンドで Weblocks を試すことができます (Weblocks は、まだ抽象化されていない Hunchentoot に依存しています)。実際のユーザー マニュアルは 1 ~ 2 か月以内に公開される予定ですが、他の OSS プロジェクトと同様に、そのような取り組みは大ざっぱです。
  • 同様に、SymbolicWeb を試すこともできます。[更新:気にしないでください、プロジェクトはもうありません]
  • 自分で巻きます。真剣に-HTML生成を支援するcl-whoがあり、利用可能なjavascriptおよびjsonライブラリ、usockets、e象、cl-sql、hunchentoot、aserve、および一緒に焼くことができる多くのユーティリティライブラリがあります。

ハイブリッド アプローチに問題がなければ、これは私が現在試していることです。Qooxdoo 用の Lisp JSON-RPC バックエンドを作成したので、Cherokee のような超高速の http サーバーを介して純粋な JavaScript フロントエンドを提供できます。 Cherokee に、Lisp で実行されているバックエンド json-rpc サーバーへの接続を必要な数だけファーム アウトさせます。非常にスケーラブルです。ねじれや課題を理解するにはほど遠いですが、作業を開始するのは非常に簡単でした. json ライブラリを使用すると、バックエンドを動作させるのが非常に簡単になります。Qooxdoo 自体は実際には難しいと思います (しかし、私は実際には JS 開発者ではありません)。

また、Allegro の WebActions もチェックする予定です。有料サポートが利用できることには一定の魅力があるからです。言うまでもなく、Allegro は利用可能な最高の CL 実装である可能性があります (彼の Kennyness はそれを使用しています :-))。

于 2009-01-16T20:03:04.613 に答える
8

Common Lisp

多くの通常の容疑者 (Hunchentoot、UCW、LoL) は既に言及されています。Franz は Allegro Common Lisp で利用できるようにしました (そして他の Lisp に移植されました):

  • 下位レベル (HTTP リクエストを自分で処理する) では、AllegroServe .
  • より高いレベル (より「フレームワーク」) では、WebActions .

どちらもオープンソースです。私は AllegroServe を使用し、必要に応じてユーティリティを除外する傾向がありますが、WebActions が本当に好きな人もいます。

私はかなり長い間Araneidaを使用しており、AllegroServe よりもそのスタイルを好みますが、2006 年以来維持されていません。

于 2008-10-30T08:14:10.590 に答える
8

Clojureの場合は、Compojureを試すことができます。

于 2008-10-27T14:57:22.290 に答える
7

UnCommonWeb (UCW) はhttp://www.common-lisp.net/project/ucw/でよく言及されます -- 現在流行している REST ではなく、Smalltalk の SeaSide に似ています (ただし、SeaSide はかなりエンヴォーグ)。

于 2008-10-03T16:10:13.517 に答える
6

LeftParen

于 2008-10-03T15:25:07.383 に答える
6

Lisp-on-lines は、CLSQL と UCW の上に構築された Web アプリケーション フレームワークであり、多くの点で Ruby on Rails に似たアプリケーション開発モデルを提供します。現在、http: //versions.tech.coop/lisp-on-lines/で見つけることができます。

http://www.cliki.net/lisp-on-lines

http://kevin.casa.cavewallarts.com/LISP/LOL/lol.html

于 2008-10-03T16:49:28.773 に答える
4

Clojureの場合はWebjureを試すことができます。

于 2008-10-27T14:58:15.910 に答える
3

私は、一般的な Lisp 用の Clack という Web フレームワークを発見しましたが、非常に簡単に始めることができました。

http://clacklisp.org/を参照

その Web サイトからの引用「Clack は、Python の WSGI と Ruby の Rack に触発された Common Lisp 用の Web アプリケーション環境です。」

穴居人は、Clack に基づくマイクロ Web フレームワークです。

于 2012-09-04T05:30:32.090 に答える
2

Re: SymbolicWeb (およびその誇張された終焉)

GitoriousSymbolicWeb プロジェクト ページWikipediaSymbolicWeb 記事。Google グループのページは確実に死んでいます (そしてアーカイブされていませんか?) が、Gitorious ツリーは2010 年 4 月 29 日にチェックインを示しています。プロジェクト ページでは、 nostdal.orgで「一部の実行中の例」が「時折入手可能」であることにも言及しています(これは、私がこれを書いている時点では到達できず、「時折」修飾子を補強しています :-) .)

(注:私は SymbolicWeb のユーザーではありません。このスレッドを読みながら、SymbolicWeb のリンクをたどりました。)

于 2010-05-13T19:41:17.837 に答える
2

もう 1 つのクールな (まだ「人気」からは程遠い) ものとして、SymbolicWeb があります -- http://groups.google.com/group/symbolicweb

于 2008-10-03T16:41:49.960 に答える
2

Restas は、最近更新された別の Web フレームワークです。

http://restas.lisper.ru/en/

その概要

RESTAS is a Common Lisp web application framework. Its key features are:

RESTAS was developed to simplify development of web applications following the REST architectural style.

RESTAS is based on the Hunchentoot HTTP server. Web application development with RESTAS is in many ways simpler than with Hunchentoot, but some knowledge of Hunchentoot is required, at least about working with hunchentoot:*request* and hunchentoot:*reply*.

Request dispatch is based on a route system. The route system is the key concept of RESTAS and provides unique features not found in other web frameworks.

The other key RESTAS concept is its module system, which provides a simple and flexible mechanism for modularized code reuse.

Interactive development support. Any RESTAS code (such as the definition of a route, a module or a submodule) can be recompiled at any time when you work in SLIME and any changes you made can be immediately seen in the browser. No web server restart or other complicated actions are needed.

SLIME integration. The inner structure of a web application can be investigated with the standard "SLIME Inspector." For example, there is a "site map" and a simple code navigation with this map.

Easy to use, pure Lisp web application daemonization facility based on RESTAS and SBCL in Linux without the use of Screen or detachtty.

RESTAS is not an MVC framework, although it is not incompatible with the concept. From the MVC point of view, RESTAS provides the controller level. Nevertheless, RESTAS provides an effective and flexible way for separation of logic and representation, because it does not put any constraints on the structure of applications. Separation of model and controller can be effectively performed with Common Lisp facilities, and, hence, doesn't need any special support from the framework.

RESTAS does not come with a templating library. cl-closure-template and HTML-TEMPLATE are two good templating libraries that can be used with RESTAS.
于 2012-11-19T16:14:34.930 に答える
1

この質問は少し古いですが、私の最近の発見を共有したいと思います: Scheme に基づいており、非常に完全なHop 言語です。

HOP は、Web 2.0 およびいわゆる拡散 Web 用の多層プログラミング言語です。マルチメディア (Web ギャラリー、音楽プレーヤーなど)、ユビキタスおよびハウス オートメーション (スマートフォン、個人用電化製品)、マッシュアップ、オフィス (Web アジェンダ、メール クライアントなど) など、多くの分野でインタラクティブな Web アプリケーションをプログラミングするために設計されています。 )など

ホップの特徴:

  • ファンシーでポータブルな Web GUI をプログラミングするためのウィジェットの広範なセット
  • 従来の Web テクノロジー (JavaScript、HTML、CSS) との完全な互換性、
  • HTML5対応、HTTP/1.0、HTTP/1.1対応の汎用Webサーバー、
  • ユビキタス Web マルチメディア アプリケーションを有効にするためのネイティブ マルチメディア サポート
  • 高速 WebDAV レベル 1 のサポート、
  • サーバー コード用の最適化ネイティブ コード コンパイラ、
  • クライアント コード用のオンザフライ JavaScript コンパイラ
  • メール、カレンダー、データベース、テレフォニーなどの広範なライブラリ セット
于 2012-08-31T09:20:53.623 に答える