문제

저는 이제 막 Scala를 배우기 시작했고, 가장 먼저 구현할 것은 작은 웹 애플리케이션입니다.나는 사용해왔다 얼랭 작년에 서버 측 소프트웨어를 구현하기 위해 노력했지만 이전에는 웹 애플리케이션을 작성한 적이 없습니다.좋은 경험이 될 것입니다.

다음을 제외하고 Scala용 웹 프레임워크가 있습니까? 승강기?

오해하지 마십시오. 리프트가 정말 멋져 보입니다.나는 프레임워크가 몇 개인지 알고 싶어서 프레임워크 중에서 선택할 수 있습니다.선택권이 있다는 것은 언제나 좋은 일이지만, 제가 찾은 유일한 것은 리프트였습니다.

도움이 되었습니까?

해결책

나는 Scala에 매우 관심이 있지만 아직 사용하지 않았으므로 그 경고로 내가 알고있는 프레임 워크는 언급되지 않았습니다. HRJ의 대답 (리프트, 달콤한, 슬inky)는 다음과 같습니다.

다른 팁

나는 a 블로그 게시물 이것에 관해서.

요약하면, 일부 옵션은 다음과 같습니다.

  1. 승강기
  2. 달콤한
  3. 슬링키

나는 마침내 나에게 적합한 사람이 없다는 것을 알았고 내 자신의 작은 "프레임 워크"를 개발했다. (아직 오픈 소스가 아닙니다).

나는 리프트를 좋아한다 ;-)

Play는 Scala 친화적 인 웹 프레임 워크의 두 번째 선택입니다.

개찰구는 나의 세 번째 선택입니다.

다음은 프레임 워크 덤프입니다. 내가 실제로 사용했다는 의미는 아닙니다.

  • Coeus. 스칼라를위한 전통적인 MVC 웹 프레임 워크.

  • 필터링되지 않은. Scala에서 HTTP 요청을위한 툴킷.

  • Uniscala Granite.

  • gardel

  • 몬도

  • 아 모어. 루비 웹 프레임 워크 Sinatra의 스칼라 포트

  • 스케일 XML. XML 처리에 대한 유연한 접근 및 XML과의 상호 작용 방법.

  • 벨트. Scalaz-HTTP 위에 구축 된 웹 응용 프로그램을위한 랙 형 인터페이스

  • 솔직한. 웹 응용 프로그램 DSL Scalaz/Belt 위에 지어졌습니다

  • 혼합물. 웹 사이트 구축에 도움이되는 Scala Progamming 언어의 프레임 워크

  • 곡절 악센트. Scala 프로그래밍 언어를 사용하여 응용 프로그램 개발을위한 여러 독립형 오픈 소스 프로젝트를 통합합니다.

  • Scala Webmachine. 웹 애플리케이션 구축을위한 휴식 기반 시스템 인 Scala의 Basho의 Webmachine 항구

  • 투수. 편안하고 다 채널 준비 스칼라 웹 프레임 워크

노력하다 프레임 워크를 재생하십시오, 스칼라도 지원합니다.

상업용 배포가있는 매우 흥미로운 웹 프레임 워크 중 하나는입니다 Scalatra, 루비의 시나트라에서 영감을 얻었습니다. 여기에 있습니다 InfoQ 기사 그것에 대해.

필터링되지 않은 것은 매우 흥미 롭습니다 https://github.com/unfiltered/unfilterfer.

Ittayd의 목록에 언급되어 있습니다.

여기에 대한 프레젠테이션이 있습니다 http://unfilatter.lessis.me/#0그리고 비디오 http://code.technically.us/post/942531598/doug-tangren-presents-the-unfiltered-toolkit-for

또한 여기에 더 많은 정보가있는 기사가 있습니다 http://code.technically.us/post/998251172/ holding-the-parameter

또한 상당한 관심이 있음에 주목해야합니다. 창구 그리고 스칼라. 개찰구는 스칼라에 놀랍게 잘 맞습니다. 매우 성숙한 개찰구 프로젝트와 생태계 (확장)와 Scala의 간결한 구문 및 생산성 이점을 활용하려면, 이것은 당신을위한 것일 수 있습니다!

또한보십시오:

  1. 일부 prosa

  2. 프레젠테이션

  3. 개찰구와 스칼라에 대한 경험

  4. 스칼라 클로저를 모델에 바인딩하기위한 접착제 코드 프로젝트를 참조하여 발표

놀다 꽤 달콤합니다.

이제 생산 준비가되었습니다. 멋진 템플릿 프레임 워크, Safe시 소스 파일의 자동 재 장전, Composable Action System, Akka Awesomeness 등이 포함됩니다.

그것의 일부 TypeSafe 스택.

두 프로젝트에 그것을 사용한 후, 나는 그것이 매우 원활하게 작동한다고 말할 수 있으며 다음에 새로운 웹 프레임 워크를 배우려고 할 때 고려해야 할 사항이어야합니다.

나는 Jax-R을 사용하는 경향이 있습니다 저지 RESTUL 웹 응용 프로그램을 작성하려면 (Scala, Java 또는 Groovy에 멋진 자원 Bean을 쓸 수 있습니다). 그런 다음 사용합니다 스케일레이트 다양한 템플릿 언어 중 하나를 사용하여보기를 렌더링하기 위해 (, 사기, SSP (Scala Server 페이지), 수염, 등.).

라는 새로운 웹 프레임워크가 있습니다. 스칼라 웹 페이지.사이트에서:

대상 고객

Scala Pages 웹 프레임워크는 Java 배경 지식이 있고 Scala에서 웹 애플리케이션을 프로그래밍하려는 웹 프로그래머에게 매력적일 가능성이 높습니다.함수형 프로그래밍보다는 OOP에 중점을 둡니다.

특성 및 특징

  • 모델-뷰-컨트롤러 패러다임을 준수합니다.
  • 텍스트 기반 템플릿 엔진
  • 간단한 구문: $variable 그리고 <?scp-instruction?>
  • 인코딩/컨텐츠 감지, 국제 텍스트 인코딩 처리 가능
  • 맞춤 태그 대신 스니펫
  • URL 재작성

Prikrutil, 나는 우리가 같은 보트를 타고 있다고 생각합니다. 나는 또한 Erlang에서 Scala에 왔습니다. 좋아요 질소 너무나도 나는 그것에서 영감을 얻은 Scala 웹 프레임 워크를 만들기로 결정했습니다.

보세요 xitrum. 그 문서 상당히 광범위합니다. readme에서 :

Xitrum은 Netty 및 Hazelcast 위에있는 비동기 및 클러스터 된 Scala 웹 프레임 워크 및 웹 서버입니다.

  • Scalatra와 Lift 사이의 간격을 채 웁니다. Scalatra보다 강력하고 리프트보다 사용하기 쉽습니다. 편안한 API와 Postbacks를 쉽게 만들 수 있습니다. Xitrum은 Scalatra와 같은 컨트롤러 우선이며 Lift와 같은보기가 아닙니다.
  • 주석은 JAX-RS의 정신으로 URL 경로에 사용됩니다. 모든 경로를 한 곳에 선언 할 필요는 없습니다.
  • Scala의 정신으로 Typesafe.
  • Netty의 정신으로 비동기.
  • 세션은 쿠키 또는 클러스터 된 개암에 저장할 수 있습니다.
  • JQuery 유효성 검사는 브라우저 측 및 서버 측 유효성 검사에 통합되었습니다. I18N은 GNU gettext를 사용하는 것입니다. 이는 대부분의 다른 솔루션과 달리 단수 및 복수 형태가 모두 지원됩니다.
  • 조건부 ETAG를 사용하십시오.

Hazelcast도 다음과 같이 제공합니다.

  • 처리 및 클러스터 캐시는 별도의 캐시 서버가 필요하지 않습니다.
  • 처리 및 클러스터 혜성은 혜성을 여러 웹 서버로 확장 할 수 있습니다.

다음을 따르십시오 지도 시간 빠른 시작을 위해.

Bitbucket에 있었지만 이적 된 Pinky도 있습니다. github.

그건 그렇고, Github는 스칼라 프로젝트를 검색하기에 좋은 장소입니다.

이 목록에 내 자신의 노력을 추가하고 싶습니다. 자세한 내용은 다음을 확인할 수 있습니다.

Brzy 프레임 워크

그것은 초기 개발 중이며 여전히 적극적으로 노력하고 있습니다. 다음과 같은 기능이 포함되어 있습니다.

  • 단순성과 확장성에 중점을 둡니다.
  • 통합 빌드 도구.
  • 모듈 식 디자인; 일부 초기 모듈에는 Scalate, 이메일, JMS, JPA, Squeryl, Cassandra, Cron Services 등을 지원합니다.
  • 간단한 편안한 컨트롤러 및 동작.

모든 피드백은 대단히 감사합니다.

업데이트 : 2011-09-078, 방금 버전 0.9.1에 주요 업데이트를 게시했습니다. 더 많은 정보가 있습니다 http://brzy.org 여기에는 스크린 캐스트가 포함됩니다.

달콤하고 슬inky는 약 1 년 동안 무력한 것 같습니다. Sweet Maven Repo Sweetswaredesign.com은 죽었 기 때문에 종속성을 다운로드 할 방법이 없습니다.

참고 : Spiffy는 구식입니다.

<플러그>

스피피:

  • 스칼라로 작성되었습니다
  • 환상적인 Akka 라이브러리와 배우를 사용하여 확장합니다
  • 비동기 요청 처리에는 Servlet API 3.0을 사용합니다
  • 모듈 식입니다 (구성 요소 교체가 간단합니다)
  • DSL을 사용하여 원하지 않는 코드를 줄입니다.
  • 템플릿을 위해 스케일 레이트 및 프리 마커를 지원합니다

Spiffy는 Scala, Akka (Scala Actor 구현) 및 Java Servlet 3.0 API를 사용한 웹 프레임 워크입니다. 비동기 인터페이스를 사용하고 웹 응용 프로그램에 대규모 평행하고 확장 가능한 환경을 제공하는 것을 목표로합니다. Spiffy의 다양한 구성 요소는 모두 소량의 작업을 매우 빠르게 수행하고 파이프 라인의 다음 구성 요소에 요청을 전달하는 독립적 인 미니멀리즘 모듈이어야한다는 아이디어를 기반으로합니다. 마지막 구성 요소가 완료된 후 요청을 처리 한 후에는 요청을 "완료"하여 클라이언트로 다시 보내어 서블릿 컨테이너를 신호합니다.

https://github.com/mardambey/spiffy

</플러그>

당신은 또한 시도 할 수 있습니다 문맥. 그것은 Java-Framework로 설계되었지만 어려움없이 Scala와 함께 성공적으로 사용했습니다. 구성 요소 기반 프레임 워크이며 리프트 또는 태피스트리와 유사한 속성을 가지고 있습니다.

나는 몇 주 전에 당신의 질문을 우연히 발견했지만 그 이후로 곡절 악센트. 이것은 배우기 쉬운 멋지고 최소한의 프레임 워크이며, 좋은 문서화도 있습니다.

최소화 외에도 다른 라이브러리와 잘 어울립니다. 필요할 때 자신의 구현을 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top