F#로 웹 개발하기 — 효율적이고 안정적인 웹 서비스를 F#으로 만드는 방법

F#로 웹 개발하기 — 효율적이고 안정적인 웹 서비스를 F#으로 만드는 방법

F#은 효율적이고 확장 가능하며 견고한 웹 솔루션을 만드는 데 아주 뛰어난 언어예요. 이 문서는 F#으로 웹 프로그래밍을 시작할 때 참고할 만한 의미 있는 자료들을 모아둔 페이지인데, 아래에 F# 웹 프로그래밍용 프레임워크 몇 가지를 소개해 드릴게요.

그 외의 웹 개발 옵션에 대해서는 F# Software Foundation의 Guide to Web Programming with F#에 정리가 잘 되어 있으니 함께 보시면 좋아요.

본문

ASP.NET Core

ASP.NET Core는 현대적이고 크로스 플랫폼이며 고성능인 오픈소스 프레임워크로, 클라우드 기반·인터넷 연결 환경의 현대 애플리케이션을 만드는 데 쓰여요. .NET Core 위에서 동작하면서 F#을 기본적으로 지원하죠. .NET SDK만 설치하면 dotnet new 명령으로 F# 템플릿을 바로 사용할 수 있습니다.

Giraffe

Giraffe는 커뮤니티에서 만들어진 F# 라이브러리로, 풍부한 웹 애플리케이션을 뛰어난 성능으로 만들 수 있게 도와주는 도구예요. ASP.NET Core를 염두에 두고 특별히 설계됐기 때문에 ASP.NET Core 파이프라인에 자연스럽게 끼워 넣을 수 있습니다.

Saturn

Saturn은 커뮤니티 주도로 만들어진 F# 웹 개발 프레임워크로, 서버 사이드 MVC 패턴을 구현하고 있어요. 구성 요소와 개념 상당수가 Ruby on Rails나 Python의 Django 같은 다른 웹 프레임워크를 써 본 분이라면 익숙하게 느껴질 거예요. Giraffe와 ASP.NET Core 위에 구축되어 있어서, 클라우드 환경에 바로 적용 가능한 현대적·크로스 플랫폼·고성능 개발 플랫폼이라는 장점을 그대로 물려받습니다.

Fable

Fable은 F#을 JavaScript 생태계로 가져오는 컴파일러예요. 현대적인 JavaScript 출력을 만들어 내고, JavaScript 패키지들과 상호 운용되며, React를 포함한 다양한 개발 모델을 지원합니다.

SAFE Stack

SAFE Stack은 커뮤니티에서 만든 기술 스택으로, Azure를 활용해 함수형 우선(functional-first) 웹 애플리케이션을 만들 때 쓰여요. 업계 표준 기술을 쓰면서도 F#을 통해 즐거운 개발 경험을 보장하며, 그러면서도 매력적인 웹 애플리케이션을 빠르게 개발할 수 있게 해 주죠. SAFE에는 Giraffe, Saturn과 그 밖의 여러 구성 요소가 포함되어 있습니다.

WebSharper

WebSharper는 커뮤니티에서 만든 풀스택·함수형 반응형 웹 프로그래밍 기술로 .NET 환경에서 동작해요. F#으로 마이크로서비스, 클라이언트-서버 웹 애플리케이션, 반응형 SPA 등 다양한 것을 개발할 수 있게 해 줍니다.

Falco

Falco는 커뮤니티 주도로 만들어진 도구 모음으로, F#을 이용해 빠르고 함수형 우선이며 장애에도 강한(fault-tolerant) 웹 애플리케이션을 만들도록 설계되었어요. ASP.NET Core의 고성능 구성 요소 위에 구축되어 HTTP 애플리케이션을 빠르게 만드는 데 최적화되어 있고, 자체 내장된 뷰 엔진과 함께 기존 .NET Core 미들웨어·프레임워크와 매끄럽게 연동됩니다.

더 알아보기