클로저에서 어떤 웹 프레임워크를 사용해야 합니까?

이 가이드에서는 클로저에서 사용할 수 있는 웹 프레임워크 옵션에 대해 설명하고 권장 사항을 제공합니다.

방금 배우는 경우 권장 라이브러리(출시 예정)에서 자신의 스택을 굴립니다. 모든 것이 어떻게 작동하는지 이해하는 가장 좋은 방법이 될 것입니다.

응용 프로그램을 빌드할 프로덕션 테스트를 거친 기반을 원하는 경우 받침대를 사용하십시오.

작업 없이 자신의 스택을 굴릴 수 있는 유연성을 원한다면 루미너스를 사용하십시오.

소개

클로저 초보자들이 많이 묻는 질문 중 하나는”어떤 웹 프레임 워크를 사용해야합니까?”이것은 좋은 질문입니다. 파이썬에는 장고가 있습니다. 드루팔. 그리고 물론 루비에는 모든 웹 프레임 워크의 왕인 루비 온 레일이 있습니다. 그러나 클로저에서 이것은 대답하기 어려운 질문입니다. 프레임 워크와 라이브러리가 무엇인지 결정하는 것조차도 어려울 수 있습니다. 우리는 먼저 그 문제를 해결해야 할 것입니다.

웹 프레임워크란 무엇이며 그렇지 않은 것

이 가이드의 목적을 위해 웹 프레임워크를 웹 응용 프로그램 구축에 대한 전체적인 접근 방식을 제공하는 코드 및 종속성 모음으로 정의합니다. 이 정의는 일반적으로 프레임 워크라고 불리는 여러 라이브러리를 배제합니다. 그러나,내가 여기서 고려하는 몇 가지 훌륭한 경쟁자가 여전히 있습니다.

자체 스택을 롤링하는 것은 미리 구축 된 프레임 워크를 사용하는 일반적인 대안이며 전체 론적 접근 방식(즉,기존 라이브러리에서 응용 프로그램을 빌드하는 것)으로 간주 될 수 있기 때문에 권장 사항에서도 고려해야합니다.

권장 기준

이 가이드의 목적은 다양한 요구에 맞는 웹 프레임 워크에 대한 강력한 권장 사항을 제공하는 것입니다. 각 프레임워크에 대해 검토하는 기준은 다음과 같습니다.

문서

프레임워크에 쉽게 따라할 수 있는 문서가 있습니까? 고급 주제를 통해 초보자 자습서를 찾습니다.

커뮤니티

크고 활동적인 커뮤니티는 프레임 워크의 생존 능력의 중요한 부분입니다. 대규모 커뮤니티는 보다 쉽게 종속성을 제공하고 최신 상태로 유지하며 보다 완벽한 솔루션을 구축할 수 있습니다.

성숙도

프로젝트의 나이와 대규모 현장에서 생산에 사용 된 시간은 또 다른 중요한 요소입니다. 중요한 사이트를 위해 배포 된 오래된 프레임 워크를 선호합니다.

웹 표준

나는 응답 코드,콘텐츠 협상,코드,웹 소켓 등에 대해 이야기하고 있습니다. 프레임 워크는 이러한 표준을 어떻게 사용합니까? 어떻게 그들을 위반합니까?

접근법

프레임워크는 전체론적 접근을 제공해야 하기 때문에 접근법 자체를 고려해야 한다. 프레임 워크 접근 방식은 응용 프로그램을 구축하는 방법?

배포

응용 프로그램이 준비되면 배포해야 합니다. 어떤 배포 옵션을 사용할 수 있습니까? 더 넓은 다양성이 더 좋습니다.

추천

이 말을 나에게 이상한 느낌,하지만 초보자를위한 최선의 선택은 자신을 롤 여전히. 자신의 스택을 롤링하는 것은 보일 수만큼 어려운 일이 아니다. 소수의 라이브러리에서 기능 스택을 구축 할 수 있습니다. 꽤 자주,더 강력한,당신을 위해 구축 프레임 워크는 스택을 구축하는 방법에 대한 당신을 위해 결정의 수백을 만들었습니다,하지만 그들은 여전히 그들이 선택한 라이브러리의 군단을 이해하는 것이 필요합니다.

학습을위한 좋은 것 외에,자신을 압연하는 것은 당신에게 주어진 기능을 지원하거나 지원하지 완벽하게 제어 할 수 있습니다.

가장 큰 단점은 자신을 위해 많은 결정을 내려야한다는 것입니다. 거기에 많은 라이브러리가 있으며 그 중에서 선택하는 것은 어려운 제안 일 수 있습니다. 한 가지 위로는 자신의 라이브러리를 함께 넣을 때 적어도 클로저에서는 라이브러리가 작동하지 않는다는 것을 알게되면 라이브러리를 전환하는 것이 상대적으로 쉽다는 것입니다.

보다 완벽한 솔루션을 원할 때(그리고 그렇게 할 것입니다),계속해서 직접 구축하면 더 강력한 프레임 워크와 매우 흡사 한 무언가에 도달 할 것입니다. 나는 당신의 자신의 완전한 프레임 워크를 구축하는 것보다 다른 권장 솔루션 중 하나로 전환하는 것이 좋습니다. 다행히,그들 사이의 전환은 쉽게 이후 그들은 모두 링 표준에 작동.

페데스탈(깃허브)

페데스탈은 현대적인 스트리밍 웹 애플리케이션 개발을 위해 원래 인식자가 만든 성숙한 라이브러리 세트입니다. 시간이 지남에 따라 서버에서 클라이언트로 데이터를 스트리밍할 수 있는 수명이 긴 연결을 중심으로 구축됩니다. 이 기능을 지원하기 위해 페데스탈은 인터셉터의 아이디어를 발명했습니다.이 아이디어는 요청이 통과하는 비동기 단계의 파이프 라인을 정의 할 수있는 방법을 제공합니다.

성숙하고 활발한 커뮤니티가 있으며 다양한 배포 옵션을 지원하며 웹 응용 프로그램을 잘 지원하므로 받침대를 권장합니다. 그것에 대한 두 가지 노크는 그 문서와 통합 접근 방식의 부족이다. 그것은 기본 안녕하세요,세계를 통해 당신을 얻을 것이다 몇 가지 가이드가 있습니다! 응용 프로그램. 그러나 나는 완전한 응용 프로그램이 함께 넣어하는 방법을 설명 할 것입니다 아무것도 발견하지 않았습니다. 접근 받침대 용이 하 게 처음부터 시작 보다 조금 키가 서 있는 받침대 처럼 필요 합니다 낮은 수준의 기초를 제공 하는 것입니다. 확실히,그 토대는 중요 하지만 많은 선택 하 고 자신을 구축 하는 개발자에 게 남아 있다. 예를 들어,그것은 의도적으로 템플릿 솔루션을 가지고 있지 않습니다. 그것은”첫 번째”라고 부릅니다. 나는 완전한 웹 프레임 워크가 웹 페이지를 만드는 솔루션을 가질 것으로 기대할 것이다.

이러한 문제에도 불구하고,나는 응용 프로그램을 구축 할 수있는 견고하고 유연한 기초로 받침대를 추천합니다.루미너스는 기본적으로 템플릿 프로젝트입니다. 해당 템플릿에서 새 웹 응용 프로그램을 만들면 모든 것이 자동으로 설정됩니다. 루미 너스는 당신에게 템플릿에 대한 몇 가지 옵션을 제공하지만,일반적으로,그 접근 방식은 당신을 위해 선택을하는 것입니다-때로는 자신의 라이브러리를 제공하고 때로는 기존 라이브러리를 사용하여. 프로젝트를 만들 때,당신은 당신의 빌드 또는 당신이 맞는 볼 수정할 수있는 완벽한 웹 스택을해야합니다. 주요 장점은 도서관의 선택을 안내 통합 비전입니다.

루미너스는 웹 응용 프로그램을 작성하는 데 필요한 모든 것을 제공하는 것을 목표로하고있다. 경로,세션 관리,클로저 스크립트 컴파일,데이터베이스 마이그레이션에 이르기까지 모든 것을 얻을 수 있습니다. 이 모든 것이 사전 구성되어 있으므로 응용 프로그램 논리를 즉시 시작할 수 있습니다. 당신이 응용 프로그램에 대한 작업의 10 년 동안 자신을 구축 할 라이브러리 및 구성의 집합처럼 빛나는 생각하십시오. 처음에는 필요하지 않을 수도 있지만 결국에는 보안,로깅,국제화 등을 원할 것입니다. 루미누스는 하나의 명령으로 당신에게 그것을 제공합니다.

루미너스의 주요 단점은 많은 라이브러리가 직접 노출된다는 것이다. 그렇습니다,그것은 당신에게 당신이 그(것)들을 형성하는 힘을 준다. 그러나 그것은 또한 당신이 기본 동작을 구축하려는 경우 이해해야 할 많은 것을 의미합니다. 다행히도 문서 이야기는 훌륭합니다. 루미 너스를 사용하여 웹 응용 프로그램을 구축하는 권장 접근 방식을 문서화 책도있다.

또한 수년간 사용되어 왔으며 대규모 응용 프로그램에 배포되었으며 다양한 배포 옵션이 있습니다.

기타 참고 프레임 워크

이러한 프레임 워크는 혁신적인 접근 방식에 흥미 롭습니다.이 문제를 해결하려면 다음 단계를 수행하십시오. 그것은 프론트 엔드에 반응 사용하지만,데이터베이스에 클라이언트에서 전체 데이터 모델을 가지고있다. 통합 시각의 저 종류가 호소하면,그것에게 시험을 주십시요. 이 우수한 문서이며,그것은 여전히 적극적으로 개발되고있다.

덕트

덕트는 웹 응용 프로그램을 구성 집합으로 빌드하는 레이닝겐 템플릿입니다. 예를 들어,덕트에서 라우팅은 구성입니다. 마이그레이션은 구성입니다. 이 통합 데이터 중심의 접근 방식을 사용하여 결정적으로 다시 로드할 수 있는 웹 응용 프로그램을 빌드합니다. 프레임 워크는 견인을 얻는 것 같습니다.

타담

타담은 기존의 여러 라이브러리를 구성하고 간단한 사이트를 매우 쉽게 작성할 수 있도록 표준 디렉토리 구조를 만들었습니다. 그것은 여전히 새롭지 만 활동적입니다.이 라이브러리는 그러한 문제를 표준화된 프로그래밍 인터페이스를 제공함으로써 해결합니다.이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다. 프론트엔드 파트는 클로쥬레스크립트를 컴파일하고 스프레드시트와 같은 데이터 플로 모델을 사용하는 대화형 구성 요소를 빌드할 수 있습니다. 이 서버에있는 함수의 프록시 인 함수를 호출하여 백엔드에 연결할 수 있습니다. 이를 통해 전체 라우팅 상황을 우회 할 수 있습니다. 그것에 개발은 느립니다.

권장하지 않음

이러한 프레임워크는 너무 오랫동안 활발하게 개발되지 않았고 견인력이 충분하지 않기 때문에 권장되지 않습니다. 나는 혼자 자신의 비활성 개발을 기반으로 그들을 추천하지 않을 것이기 때문에 나는 기술적 인 장점에 그들을 평가하지 않았습니다.이러한 프로젝트는 프레임워크라고 불리기도 하지만”웹 애플리케이션 구축에 대한 전체론적 접근 방식 제공”의 정의를 충족하지 못합니다. 나는 여기에서 그들을 평가하지 않았다.

답글 남기기

이메일 주소는 공개되지 않습니다.