ProgramingTip

Lisp 웹 프레임 워크?

bestdevel 2020. 12. 4. 19:50
반응형

Lisp 웹 프레임 워크?


다양한 LISP 버전에 대해 인기있는 (좋아, 인기가 최빈 인) 웹 프레임 워크는 무엇입니까?


PLT Scheme내장 된 연속 기반 웹 서버를 특징으로합니다 .

업데이트 : PLT Scheme은 이제 Racket이라고합니다.


Hunchentoot 도 꽤 널리 퍼져 있습니다.


Weblocks는 무엇입니까?

Weblocks는 Common Lisp로 연속 기반 웹 프레임 워크입니다.

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


잘 정리 된 일반 Lisp 웹 프레임에서 이미 사용하실 수 있습니다.

Hunchentoot는 대부분의 사람들이 "웹 프레임 워크"가 아닙니다. HTTP 서버 (매우 좋은 서버)입니다.

Drew Crampsie의 "Lisp on Lines"는 매우 유망 해 보이지만 얼마나 진행 잘 모르겠습니다. 발표를 기다리고 있습니다.

Marco Baringer의 UnCommon Web은 Allegro CL, CMUCL, Clozure CL (이전의 OpenMCL), GNU clisp 및 SBCL과 같은 주요 CL 구현에서 실행됩니다. 누락 된 유일한 주요 항목은 LispWorks입니다. 그것이 작동하지 않는 테스트라고 갑자기 작동하지 않거나 작동하지 않습니다. 하지만 다른 모든 방언에서 실행할 수있는 쉬울 것입니다.


Clojure의의 경우 Compojure 를 사용해 볼 수 있습니다 .


커먼 리스프

많은 일반적인 용의자 (Hunchentoot, UCW, LoL)가 이미 언급되었습니다. Franz는 Allegro Common Lisp에서 사용할 수 있습니다 (다른 Lisps로 이식 됨).

  • 하위 수준 (HTTP 요청을 직접 처리)에서 AllegroServe .
  • 더 높은 수준 ( "프레임 워크"이상), WebActions .

둘 다 오픈 소스입니다. 저는 AllegroServe를 사용하여 필요에 따라 유틸리티를 고려하지만 어떤 사람들은 WebActions를 정말 좋아합니다.

나는 Araneida 를 오랫동안 사용 하고 AllegroServe보다 그 스타일을 선호하지만 2006 년 이후로 유지되지 않습니다.


Lisp를위한 웹 프레임 워크를 꽤하게 검색했는데 모두 접근이 불가능하다는 것을 알았습니다. UCW의 아키텍처는 나에게별로 좋지 않은 자연스럽지 않은 것 같았고 (이유를 기억할 수 없습니다. 조사한 지 오래되지 않았습니다) KPAX는 더 이상 유지되지 않습니다.

상징적 인 웹은 매우 흥미로워 보이며 Weblocks가 가장 흥미 롭다고 생각하지만 Weblocks는 잘 문서화되어있는 신규 사용자에게 매우 흥미로워 일 수 있습니다. SymbolicWeb은 지난번에 미숙했지만 이후로 일부 성장했을 수 있습니다. 기능 페이지 외모 꽤 좋은 오늘.

넓게 수있는 접근 방식은 다양합니다. 순전히 lisp 접근 방식을 다음을 수행 할 수 있습니다.

  • 코드를 능숙하게 연속적으로 존재하지 않는 것이 Hunchentoot 백엔드와 함께 Weblocks를 사용합니다 (Weblocks는 아직 추상화되지 않은 것입니다). 한두 달 안에 실제 사용자 설명서가 나올 예정이지만 다른 OSS 프로젝트와 많은 약속은 있습니다.
  • 많은 SymbolicWeb을 볼 수 있습니다. [ 업데이트 : 신경 쓰지 마세요, 프로젝트는 더 이상 없습니다]
  • 직접 굴려보세요. 진지하게 -HTML 생성을 도와 줄 cl-who가 있고, 사용 가능한 javascript 및 json 라이브러리, usockets, elephant, cl-sql, hunchentoot, aserve 및 함께 구울 수있는 많은 유틸리티 라이브러리가 있습니다.

하이브리드 접근 방식이 괜찮다면 지금 실험중인 것입니다. Qooxdoo 용 Lisp JSON-RPC 백엔드를 작성하고 Cherokee와 같은 초고속 http 서버를 통해 순수한 자바 윤곽 ​​엔드를 제공 할 수 있습니다. Cherokee가 내가 원하는만큼 Lisp에서 실행되는 백엔드 json-rpc 서버에 대한 연결을 해제하도록합니다. 매우 확장 성이 뛰어납니다. 나는 꼬임과 도전을하는 것과 거리가 멀지 만 일을 시작하는 것은 매우 간단했습니다. json 라이브러리는 백엔드를 작동시키는 것을 어리석게 간단하게 만듭니다. Qooxdoo 자체는 실제로 더 어렵습니다 (하지만 저는 JS 개발자가 아닙니다).

또한 유료 지원의 가용성에 대한 특정 매력이 있기 때문에 allegro WebActions를 확인할 예정입니다. Allegro가 사용 가능한 최고의 CL 구현 일 수있는 점은 말할 것도 없습니다 (Kennyness가 사용합니다 :-)).


UnCommonWeb (UCW)은 http://www.common-lisp.net/project/ucw/에서 자주 언급 됩니다. 현재 유행하는 것처럼 REST가 아닙니다. Smalltalk의 SeaSide와 준비합니다 (그러나 SeaSide는 상당히 다양합니다).


LeftParen


Lisp-on-lines는 CLSQL 및 UCW를 기반으로 구축 된 웹 애플리케이션 프레임이며 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


Clojure의의 경우 Webjure 를 사용해 볼 수 있습니다 .


방금 common lisp Clack이라는 웹 프레임 워크를 발견하고 시작하기가 매우 높은 것을 알았습니다.

http://clacklisp.org/ 참조

웹 사이트에서 인용 "Clack은 Python의 WSGI 및 Ruby의 랙에서 영감을 얻은 Common Lisp 용 웹 애플리케이션 환경입니다."

Clack을 기반으로하는 마이크로 웹 프레임 워크입니다.


또 다른 멋진 ( "인기"와는 거리가 먼) SymbolicWeb이 있습니다. http://groups.google.com/group/symbolicweb


Re : SymbolicWeb (과장된 종말)

SymbolicWeb 프로젝트 페이지 에서 GitoriousSymbolicWeb 기사 에서 위키 백과 . Google 그룹스 페이지는 확실히 죽었지 만 (아카이브되지 않았습니까?) Gitorious 트리에는 최근 2010 년 4 월 29 일의 체크인이 표시됩니다 . 프로젝트 페이지는 또한 nostdal.org 에서 "가끔 사용할 수있는 일부 실행 예제 "를 참조합니다 (이를 작성하면 도달 할 수 없으며 "가끔"한정자를 강화합니다. :-).)

( 참고 : 저는 SymbolicWeb 사용자가 아닙니다.이 스레드를 읽는 동안 SymbolicWeb 링크를 추적했습니다.)


Restas는 최근 업데이트를 본 또 다른 웹 프레임 워크입니다.

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.

이 질문은 조금 오래되었지만 최근 발견 한 내용 인 Scheme을 기반으로하고 매우 완전한 Hop 언어공유 할 것이라고 생각했습니다 .

HOP는 웹 2.0 및 소위 확산 웹을위한 다중 계층 프로그래밍 언어입니다. 멀티미디어 (웹 갤러리, 음악 플레이어 등), 유비쿼터스 및 하우스 자동화 (스마트 폰, 개인용 기기), 매시업, 사무실 (웹 아젠다, 메일 클라이언트 등)과 같은 여러 분야에서 대화 형 웹 애플리케이션을 프로그래밍하도록 설계되었습니다. ) 등

HOP 기능 :

  • 멋지고 이식 가능한 웹 GUI를 프로그래밍하기위한 광범위한 위젯 세트,
  • 기존 웹 기술 (JavaScript, HTML, CSS)과의 완벽한 호환성
  • HTML5 지원, HTTP / 1.0 및 HTTP / 1.1을 지원하는 다목적 웹 서버,
  • 유비쿼터스 웹 멀티미디어 애플리케이션을 가능하게하는 네이티브 멀티미디어 지원
  • 빠른 WebDAV 레벨 1 지원,
  • 서버 코드를위한 최적화 된 코드 컴파일러
  • 클라이언트 코드 용 on-the-fly JavaScript 컴파일러,
  • 메일, 데이터베이스, 전화 통신을위한 광범위한 라이브러리 세트 ...

참고 URL : https://stackoverflow.com/questions/167397/lisp-web-frameworks

반응형