ColdBox 플랫폼
ColdBox Platform![]() |
![]() | |
원저작자 | 오르투스 솔루션즈 |
---|---|
초기 릴리즈 | 2006년 6월 15일 ( |
안정된 릴리스 | |
저장소 | ColdBox 저장소 |
기입처 | CFML, Java |
유형 | 웹 응용 프로그램 프레임워크 |
면허증. | Apache 라이센스 v2 |
웹 사이트 | ColdBox.org |
ColdBox는 계층형 MVC 접근방식을 사용하여 ColdFusion(CFML)을 사용하여 엔터프라이즈 애플리케이션을 구축하기 위한 무료 오픈 소스, 규약 기반의 모듈러형 웹 애플리케이션 프레임워크입니다.
개발자가 웹 애플리케이션을 현대적이고 안전한 방법으로 구축할 수 있도록 지원하는 도구와 방법론 세트입니다.또, 애플리케이션의 기반이 되는 발판도 제공하고 있습니다.그 결과, 웹 애플리케이션을 구축할 때 고려해야 할 대부분의 우려 사항에 대해 시간을 낭비할 필요가 없습니다.이 프레임워크는 개발자들에게 빠르고, 안전하고, 모듈식으로, 유연한 방식으로 작업을 수행할 수 있는 적절한 도구를 제공합니다.
ColdBox 및 그 부속 라이브러리의 소스 코드는 GitHub에서 호스트되며 Apache License v2의 조건에 따라 라이센스가 부여됩니다.
역사
콜드박스는 루이스 F에 의해 개발되고 만들어졌다.2006년 Majano는 가장 널리 사용되고 유지되고 있는 MVC 프레임워크가 되었습니다.Cold Box의 속도와 확장성을 고려할 때, Cold Box는 개발자들에게 힘을 실어주는 성능적이고 단순한 프레임워크로 발전했습니다.2008년 모회사인 Ortus Solutions, Corp.에 의해 프로페셔널 서비스가 제공되면서 프로페셔널 오픈 소스 프로젝트가 되었습니다.이후 2011년에 계층형 모델 뷰 컨트롤러가 핵심 설계 패턴으로 설정되었습니다.지난 몇 년 동안 Java Completetable과의 긴밀한 통합이 이루어졌습니다.미래 및 약속과 비동기/병렬 프로그래밍을 지원하는 미래 API.현재 최신 릴리스는 버전 6.4.0(2021년 4월 20일)입니다.
기능
- ColdFusion 플랫폼의 HMVC 웹 프레임워크입니다.
- HMVC 아키텍처 패턴을 제공하는 모듈러 개발 플랫폼
- 설정에 관한 표기법(XML 없음)
- 휴지 상태 ColdFusion ORM과 통합
- 혼란을 줄이고 배우기 쉬운 일관된 프레임워크를 제공합니다.
- 지속성 추상화 레이어(캐시)
- 내장 로그 라이브러리
- 종속성 주입 및 AOP 기능 내장
- 캐싱, DI/AOP, 로깅 및 조롱을 정의하는 내부 도메인 고유의 언어
- 유닛 및 통합 테스트 실행 가능
- 확장 및 맞춤이 용이한 Ajax 지원
- RESTful 및 SOAP 웹 서비스 지원
- Adobe Flex/Air 통합 및 모니터링
- 다중 개발 환경 기능 제공
- 다작 문서
- Java Completetable과 기본적으로 통합미래와 약속을 지원하는 미래 API.
플랫폼
ColdBox는 Lucee(인기 있는 오픈소스 CFML 엔진) 및 Adobe의 ColdFusion 애플리케이션 서버에서 지원됩니다.Visual Studio Code, Sublime Text, Eclipse IDE 및 Adobe ColdFusion Builder의 IDE 플러그인을 지원합니다.
ColdBox Universe
ColdBox Platform은 CFML Framework 또는 CFML Framework에서 사용할 수 있는 내부 독립 실행형 라이브러리로 구성되어 있습니다.라이브러리에는 다음이 포함됩니다.
- LogBox - 로깅 라이브러리
- WireBox - 의존성 주입 및 AOP 라이브러리
- Cache Box - 캐싱 엔진 및 애그리게이터
- Test Box - Cold Fusion 테스트 프레임워크
- 모크박스
사용.
다음은 Coldbox [2]Platform의 주요 사용자 목록입니다.
인스톨
ColdFusion(CFML) 응용 프로그램에서 ColdBox, WireBox, CacheBox 또는 LogBox를 사용하면 CLI 및 패키지 매니저인 CommandBox만 활용하면 쉽게 시작할 수 있습니다.이러한 명령어는 CommandBox 인터랙티브셸에서 실행됩니다.
컨트롤러
ColdBox는 CFML로 프로그래밍된 규약 기반 프레임워크로 컨트롤러에 XML 선언 로직을 사용하는 다른 CFML MVC 프레임워크와는 다릅니다.
다음으로 컨트롤러의 예를 나타냅니다.
요소{ // 휴지 상태 기반 가상 서비스에 종속성 주입 사용 소유물 이름.="사용자 서비스" 주입하다="서비스:사용자"; /** * 즉시 HTML 반환 */ 기능. 안부 전해주세요.(이벤트){ 돌아가다 "안녕하세요"; } /** * ORM 객체의 기념물에서 즉시 JSON 반환 */ 기능. 안부 전해주세요.(이벤트){ 돌아가다 사용자 서비스.얻다( rc.아이디 ).메모의 취득(); } /** * 여러 형식으로 콘텐츠 반환 */ 기능. 목록.(이벤트){ 플라스틱.데이터. = 사용자 서비스.목록.(); // 모든 사용자를 json 형식으로 렌더링 이벤트.렌더 데이터( 데이터.=플라스틱.데이터., 포맷="json,xml,pdf,param" ); } }
URL 매핑
ColdBox는 URL 매핑 및 라우팅 레일 스타일을 지원하지만 ColdFusion에 맞게 조정되었습니다.또, RESTful 라우팅의 작성도 서포트하고 있습니다.
// 리소스 자원( "실패" ); // 중첩된 리소스 자원.( 자원 = "에이전트", 양식 = "/filename/:id/agents" ); // 리다이렉트 경로( "/oldRoute" ) .리다이렉트( "/main/redirect 테스트" ); // 다이렉트루팅 경로( "/param/:형식" ).로.( "ActionRendering.index" ); // 정규식 포함 경로( "post/:postID-regex:([a-zA-Z]+?)/: 사용자ID-alpha/regex:(xml json)" ) .로.( "eh General.dump"RC" ); // 서브도메인 라우팅 경로( "/" ) .도메인 사용( ":disclossyslog.forgebox.dev"를 클릭합니다. ) .로.( 서브도메인.표시" ); // 응답 + 조건 경로( "/ff" ) .조건부로( 기능.(){ 돌아가다 ( 검출하다( '파이어폭스, cgi.HTTP_USER_AGENT ) ? 진실의 : 거짓의 ); } ) .응답( '안녕하세요 파이어폭스" ); 경로( "/syslog/:lname" ) .응답( "<h1>안녕하세요 루이스 {lname}, 안녕하세요 {you} </h1>", 200, "안녕, 친구!" ); // 인라인 클로저 응답 경로( "/param2/:lname" ) .응답( 기능.( 이벤트, rc, 플라스틱 ){ 돌아가다 "<h1>폐쇄 랜드로부터의 헬로: #arguments.rc.lname#</h1>"; } ); // 이벤트 없음 보기 경로( "접속" ) .~하듯이( "연락처") .표시( "심플 표시" ); // 이름 있는 루트 경로( 양식="/routeRunner/:id/:name", 이름.="루트 러너" ) .로.( "main.return Test" ); // 그룹화 라우팅 그룹.( { 양식="/runAWNsync", 핸들러="그럴 수도 있어요.AWNsync" }, 기능.( 옵션들 ){ 경로( '/:user_id' ) .액션을 수반( { 얻다 = "runAWNsync", 옵션들 = "반환 옵션" } ) .끝.(); } ); // REST Ful 액션 경로( "/헬스_체크" ) .액션을 수반( { 얻다 = "확인 실행", 옵션들 = "반환 옵션" } ) .로.( "그럴 수도 있어요.헬스 체크" );
RESTful URL
Cold Box를 사용하면 URL 매핑 및 확장 검출을 통해 RESTful URL을 쉽게 생성할 수 있습니다.기본적으로 ColdBox는 URI 리소스에 제공되는 모든 확장을 감지할 수 있습니다.
http://api.coldbox.org/rest/user/luis.json http://api.coldbox.org/rest/user/luis.xml http://api.coldbox.org/rest/user/luis.pdf http://api.coldbox.org/rest/user/luis.yml
이러한 확장의 검출, 그 주변의 시큐러티, 및 확장을 커스터마이즈 할 수 있습니다.
Ajax 지원
ColdBox는 Ajax 기능을 제공하는 모든 JavaScript 프레임워크를 지원합니다.또한 XML, WDDX, JSON, JSONP, TEXT, PDF, CUSTOM 형식으로 객체를 렌더링하는 자동 마샬링 기능도 제공합니다.
SOAP-Adobe Flex/Air 지원
Cold Box는 SOAP 웹 서비스 및 Flex/Air 원격 컴포넌트의 작성, 감시 및 개발을 지원합니다.여러 GUI 인터페이스에 대한 하나의 개발 패러다임을 가질 수 있습니다.
문서 링크
외부 링크
레퍼런스
- ^ "ColdBox Platform Versions". forgebox.io. Retrieved 2021-04-20.
- ^ "ColdBox MVC".