1. 익스프레스(Express)
미니멀리즘에 입각한 접근 방법으로 웹 요청을 처리하는, 1,000라인도 채 되지 않은 아주 가벼운 셸이다. URL을 템플릿에 매핑한 다음 일반 데이터 저장소의 데이터로 값을 채운다. 표준 템플릿 엔진은 콘솔리데이트(Consolidate)지만 패턴이 단순하므로 대부분의 경우 문제 없이 작동한다.
익스프레스 팀에 따르면 마이스페이스가 참신한 인상을 주기 위해 다음 버전을 익스프레스로 구축 중이라고 한다. 익스프레스는 깃허브(GitHub)에서 MIT 라이선스로 배포된다.
2. 로코모티브(Locomotive)
익스프레스에 더 많은 "표준 구성"을 추가하기 위해 고안된 로코모티브는 익스프레스의 길을 따르긴 하지만 표준 구성 방식을 사용하는 기능을 통해 익스프레스의 범위를 확장한다. 따라서 모든 로코모티브 사이트는 익스프레스를 기반으로 실행되며 모든 MVC 및 REST 후크는 동일한 방식으로 작동한다. 로코모티브는 표준 아키텍처와 디렉터리 구조를 추가해준다. 익스프레스 프레임워크를 위한 프레임워크라고 할 수 있다. 로코모티브는 깃허브에서 MIT 라이선스로 배포된다.
3. 코아(Koa)
익스프레스를 만든 사람들이 그 다음 단계로 넘어가 만든 결과물이 코아다. 코아는 호출과 응답 핸드셰이크에 새 기능을 추가할 수 있게 해주는 텔레스코핑 호출 스택이다. 처음에 소량의 코드를 써서 요청을 처리하고 이후 진행하면서 무엇이든 커스터마이즈할 수 있다. 모든 텔레메트리를 처리하는 미들웨어는 공개되어 있으므로 변경이 가능하다. 수십 가지 플러그인 패키지가 압축, 캐싱, JSON 인코딩 등의 기능을 손쉽게 스택에 추가할 수 있게 해준다. 코아는 깃허브에서 MIT 라이선스로 배포된다.
4. Total.js
Total.js 스택은 최대한 많은 요소를 자동화한다. HTML 및 CSS용 마크업 템플릿으로 작업을 시작하면 Total.js가 이를 원시 코드로 컴파일한 다음 압축한다. 프레임워크로 위장한 대규모 웹 사이트 컴파일러다. Total.js는 깃허브에서 MIT 라이선스로 배포된다.
5. 더비(Derby)
Node.js를 사용하는 이유 중 하나는 클라이언트와 서버에 동일한 언어를 사용하는 것이다. 더비는 클라이언트와 서버에서 동일한 코드를 실행하고 결과를 동기화함으로써 이 원칙을 극한까지 확대해준다. 그런 다음 템플릿 렌더링, 패키징, 그리고 일부MVC까지 완료해서 과정을 간소화한다. CSS를 컴파일하는 등의 일에 대해 걱정할 필요가 없다. 더비에 다 통합되어 있다.더비는 깃허브에서 MIT 라이선스로 배포된다.
6. 메테오(Meteor)
메테오의 용도는 서버와 지속적으로 동기화되는 웹 앱을 구축하는 것이다. 템플릿을 변경하면 그 데이터가 자동으로 서버에서 브라우저로 흐르고, 기반 프레임워크에서 다시 그리기와 업데이트 작업이 직접 처리된다. 한편 이 작업은 양방향으로 작동한다. 브라우저 코드는 데이터베이스를 사용하듯 데이터를 변경하거나 쓸 수 있다. 동기화는 백그라운드에서 이루어진다. 메테오는 Meteor.com과 깃허브에서 아파치 라이선스로 배포된다.
7. 모히토(Mojito)
브라우저 및 서버를 위한 야후의 HTML5 프레임워크로, 로컬 루틴을 통해 서버 데이터베이스에 대한 직접 MVC 액세스를 제공한다. 코드를 마이그레이션하는 유용한 기능이 있다. 클라이언트가 어떤 이유로 자바스크립트를 실행할 수 없는 경우 모히토가 서버에서 실행해준다. 씬 클라이언트를 편리하게 다룰 수 있는 방법이다. 모히토는 깃허브에서 새로운 BSD 라이선스로 배포된다.
8. 놈보(Nombo)
실시간 앱은 일반적인 웹 사이트에 비해 제작하기가 까다롭다. 놈보는 Node.js를 기반으로 구축된 프레임워크로, 단일 페이지 애플리케이션으로 실시간으로 정보를 전송한다. 제작자는 노드의 기본 비차단 프레임워크를 바탕으로 이를 조심스럽게 확장했다. 선형적으로 확장 가능한 서버를 RIA 스타일의 클라이언트와 결합하는 놈보는 온라인 게임, 라이브 통신 및 거래 시스템에 적합하다. 놈보는 깃허브에서 MIT 라이선스로 배포된다.
9. 레스티파이(Restify)
모든 애플리케이션에 브라우저에 대한 완전한 지원이 필요한 것은 아니다. 레스티파이는 API를 통해 데이터만 서비스하는 서버 측 프레임워크 중 하나다. 실행하면 방문하는 모든 사람을 대상으로 JSON이 작동한다. 레스티파이는 디버깅과 프로파일링을 강조하므로 세부적으로 들어가서 서버의 성능을 최적화할 수 있다. DTrace 통합으로 어떤 일이 발생하는지 지켜보고, 잘못될 경우 확인이 가능하다. 레스티파이는 깃허브에서 저작권 고지 외에는 거의 아무것도 요구하지 않는 기초적인 라이선스로 배포된다.
10. 루프백(LoopBack)
API를 만드는 작업의 대부분은 자동화할 수 있다. 일단 데이터 모델을 알면, 데이터를 편집하기 위한 툴을 만드는 것이 가장 큰 골치거리이다. 루프백은 이 작업의 대부분을 자동화해주며, 오라클이이나 MySQL, 몽고DB 등 인기 데이터베이스용 커넥터도 추가해 준다. 시간에 따라 진화하는 동적 데이터 모델이나 고정된 구조를 가진 정적 데이터 모델 모두 지원한다. 또한 ACL을 갖춘 보안 계층이 미리 만들어져 있으며, 일부 쓸만한 모바일 서비스도 제공한다. 이 모든 것이 익스프레스 상에 구현된다. 루프백은 깃허브에서 이용할 수 있으며, 테스트용으로는 오픈소스 라이선스가 적용되며, 오라클과 같은 고성능 데이터베이스용 커넥터와 지원을 제공하는 구독 방식도 제공한다.
11. 액션히어로(ActionHero)
많은 프레임워크가 브라우저와 JSON 클라이언트 간의 인터랙션을 위한 전기능 지원을 제공하는 것을 목표로 하고 있다. 액션히어로 역시 이런 프레임워크 중 하나이지만, 더 낮은 레벨에서도 동작하는 것이 특징이다. 즉 TCP와 직접 커뮤니케이션하고 프로토콜들과 연결된다. JSON보다 좀 더 단순한 뭔가를 원한다면 매우 유용하다. 또한 원시 파일을 전송하고자 한다면, 액션히어로는 아파치나 Ngnix를 구동할 필요없이 CDN처럼 이를 전달해 준다. 액션히어로는 깃허브에서 아파치 라이선스로 배포된다.
12. 프리스비(Frisby)
프리스비는 API 테스트를 위한 프레임워크로, 요청을 보내고 응답을 검증한다. 또한 프리스비는 Node.js 상에 구축되어 여기서 소개한 다른 프레임워크에 대한 좋은 보완재 역할을 할 수 있다. 프리스비는 불특정 라이선스가 적용되며, NPM 패키지로 설치된다.
13. 독패드(DocPad)
독패드 프레임워크를 확장하기 위한 수십 가지 플러그인이 개발되어 있으며, 이들 중 많은 수는 커피스크립트나 HAML 같은 속기 코드를 HTML과 자바스크립트로 변화해 주는 선처리기이다. 이외에도 검색엔진용으로 sitemap.xml 파일을 생성해주는 등의 플러그인이 있다. 이들 모두는 복잡한 독패드 앱을 더 빨리 구축하고 배치할 수 있도록 해준다. 독패드는 깃허브에서 MIT 라이선스로 이용할 수 있다.
Posted by Bitnine(비트나인)
'ARCHIVES' 카테고리의 다른 글
그래프 데이터(Graph Data)란? (0) | 2015.09.23 |
---|---|
Izpack 사용법 (0) | 2015.09.22 |
Proxy (0) | 2015.09.22 |
pg_statsinfo 소개 (0) | 2015.09.22 |
JDO(Java Data Objects)와 Datanucleus 소개 (0) | 2015.09.22 |