아키텍트: 웹 애플리케이션 개발에 대한 다른 접근 방식
이 포스트에서, 나는 당신을 흠칫하게 만들 수 있는 몇 가지 다른 접근 방식을 살펴보고 싶습니다. 반응의 힘이 필요합니까? 내 클라우드 인프라를 관리해야 합니까? 커스텀 CSS를 만들어야 하나요? 내 웹 서버에 기능 이상이 필요합니까? 대체 접근 방식을 살펴볼 가치가 있습니다.
건축가
Architect는 여러 서버 런타임을 지원하는 독단적인 서버리스 프레임워크이지만 이 게시물의 목적을 위해 NodeJS에 중점을 둘 것입니다. Architect는 클라우드 형성의 복잡성, aws의 스키마 언어를 사용하여 명확하고 간결한 선언적 사양으로 압축합니다. 구성 파일을 보면 무슨 일이 일어나고 있는지 정확히 알 수 있습니다.
@app
myapp
@http
get /
post /assets
delete /assets/:id
여기에 세 가지 끝점을 지원하는 서버리스 애플리케이션이 있습니다.
이 간단한 구성에서 설계자는 서버리스 기능 핸들러 arc init 및 aws 클라우드 형성 스크립트를 생성하여 서버리스 애플리케이션을 배포할 수 있습니다. 아크 배치
이는 모든 일반 작업을 처리하고 개발자가 응용 프로그램과 관련된 특수 작업에 집중할 수 있는 권한을 부여하는 서버리스에 대한 선언적 접근 방식입니다.
어떻게 작동합니까?
arc init를 호출하면 건축가는 다음 디렉터리를 생성합니다.
이러한 각 디렉터리에는 AWS Lambda에 대한 핸들러 함수가 포함된 index.js 파일이 있습니다.
exports.handler = async function http(req) {
return {
statusCode: 200,
headers: ...,
body: '<h1>Hello World</h1>'
}
}
이 함수는 들어오는 http 요청을 나타내는 Request 개체를 제공하고 Response 개체가 반환될 것으로 예상합니다. Response 개체는 선택적인 http 상태 코드 및 http 헤더와 함께 본문을 포함해야 합니다.
이러한 각 디렉터리는 다른 AWS Lambda 함수로 배포되며 수신 서비스, 로드 밸런서, IP 포트, 웹 프록시 및 웹 서버에 대해 생각할 필요 없이 놀라운 확장성을 제공합니다. 함수를 생성하면 호출되고 응답을 반환합니다.
공유 라이브러리는 어떻습니까?
Architect에는 공유 라이브러리 코드를 넣을 수 있는 몇 가지 규칙이 내장되어 있습니다. (각 규칙은 원하는 경우 arc 매니페스트 파일을 통해 구성할 수 있음)
람다 함수에 포함할 수 있습니다.
const template = require('@architect/shared/template')
exports.handler = async function http(req) {
...
}
결과적으로 문제가 명확하게 분리되고 응용 프로그램에 범용 재사용성을 제공합니다.
로컬 환경에서 실행
서버리스의 문제 중 하나는 로컬 개발 환경에서 실행할 수 있다는 것입니다. 이것은 아키텍트의 문제가 아닙니다.
설정 가져오기
건축가와 설정하는 데 약간의 작업이 필요합니다.
필요할 것이예요:
요약
건축가는 선언적 개념을 활용하여 웹 서버와 같은 도전 과제를 해결하고 AWS 서비스를 활용하여 확장 가능한 기존 접근 방식을 만들었습니다. 아키텍트와 함께 풀어야 할 것이 더 많습니다. 자세한 내용은 https://arc.codes을 확인하십시오.
Reference
이 문제에 관하여(아키텍트: 웹 애플리케이션 개발에 대한 다른 접근 방식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hyper/architect-a-different-approach-to-web-application-development-86i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)