몬타주JS
MontageJS![]() |
개발자 | 카아징 |
---|---|
초기 릴리즈 | 2012년 7월 10일( |
안정된 릴리스 | 17.0.11 / 2017년 7월 19일( |
저장소 | github |
기입처 | JavaScript, HTML, CSS |
유형 | 자바스크립트 프레임워크 |
면허증. | BSD 라이선스 |
웹 사이트 | montagestudio |
MontageJS(또는 Montage)는 확장 가능한 단일 페이지 응용 프로그램을 구축하기 위한 오픈 소스 JavaScript 프레임워크입니다.그 목적은 실적이 있는 네이티브 애플리케이션 프레임워크의 많은 토대를 채용함으로써 표현력이 풍부한HTML5 애플리케이션의 개발과 유지보수를 단순화하는 것입니다.개발자는 Montage를 사용하여 재사용 가능한 사용자 인터페이스 컴포넌트와 모듈을 빌드 및 확장하고 컴포넌트와 컨트롤러 간의 속성을 바인드하며 DOM 업데이트를 동기화하여 특히 리소스가 제한된 [1]디바이스에서 원활한 사용자 경험을 보장할 수 있습니다.
개발 이력
Montage 개발은 2010년 8월부터 2012년 7월까지 Motorola Mobility에서 Benoit Marchant와 그의 팀에서 시작되었습니다.이 프로젝트는 2012년 7월에 BSD 라이선스로 GitHub에서 오픈 소스되었습니다.Montage는 현재 Marchant와 오리지널 개발팀의 핵심 멤버를 포함한 실리콘밸리 스타트업에 의해 유지되고 있습니다.
Montage의 아이디어는 Marchant가 JavaScript로 작성된 네이티브(데스크탑과 같은) 사용자 인터페이스에 대해 연구했던 Apple(1999-2010) 재임 시절로 거슬러 올라갑니다.당시 Marchant의 목표는 Cocoa나 WebObjects와 같은 실증된 테크놀로지와 동등하지만 HTML, CSS 및 JavaScript에서 애플리케이션을 쉽게 구축할 수 있도록 웹과 클라이언트 측을 위한 것입니다.그 결과 2009 World of WebObjects Developer Conference에서 애플이 선보인 풍부한 인터넷 애플리케이션 프레임워크인 Gianduia가 탄생했습니다.
2010년, Motorola Mobility에 입사해 새로운 모바일 프레임워크에 임할 기회가 있었을 때, Marchant는 Apple에서 배운 교훈을 바탕으로 모델 뷰 컨트롤러(MVC) 설계 패턴을 사용하여 Montage 애플리케이션을 논리적으로 다른 유닛으로 분할하여 처음부터 Montage를 구축했습니다.Montage는 아직 진화하고 있지만 로드맵에 기재되어 있는 컴포넌트가 더 많아 실제 가동 가능한 애플리케이션을 구축하는 데 사용되고 있습니다.
네이티브 애플리케이션 프레임워크의 설계와 패턴을 웹 기반 애플리케이션 개발 분야로 전환하는 것은 새로운 일이 아닙니다.Montage가 이전 버전(예를 들어 Capuccino 등)과 다른 점은 웹에 새로운 구문을 도입하려고 하지 않는다는 것입니다.대신 코코아 같은 API를 사용하여 모듈러형 자기포함형 컴포넌트, 실제 오브젝트 및 컬렉션을 사용하여 웹 스택 상부에 깨끗한 추상화 레이어를 만듭니다.또, 이러한 오브젝트 및 그 속성 또는 컬렉션의 변경을 관찰할 수 있는 API도 있습니다.
특징들
Montage는 ECMAScript 5, HTML5, Common을 기반으로 구축됩니다.Node.js에 의해 보급된 JS 모듈시스템그래픽 사용자 인터페이스를 구축하여 일련의 UI 구성 요소와 표준 DOM 인터페이스 구성 요소에 모두 액세스할 수 있는 기능을 제공합니다.그러나 Montage는 예를 들어 Beauthard와 같은 템플릿 시스템을 사용하는 대신 사용자 인터페이스 구성요소를 독립형 웹 페이지로 만들 수 있습니다.응용프로그램은 웹 브라우저에서 직접 여는 구성요소의 템플릿일 뿐입니다.템플릿에는 DOM 스켈레톤이 포함되어 있어 CSS가 필요할 수 있지만 컴포넌트 오브젝트모델이 포함되어 있어 DOM에 접속되어 있습니다.
또한 Montage는 그래픽 사용자 인터페이스에 직접 연결되지 않은 문자열 및 값 조작, 직렬화 및 기타 기능을 제공합니다.getters와 setters를 사용하여 속성을 바인딩하기 때문에 바인딩 수가 증가하더라도 성능을 유지합니다.Montage 아키텍처의 주요 부분인 관리 드로우 사이클을 구현하여 일정 간격으로 읽기 작업과 쓰기 작업을 분리하여 성능을 저하시키지 않습니다.또한 이벤트 위임을 사용하여 이벤트 처리 및 디스패치를 관리하여 애플리케이션 성능을 향상시킵니다.
몽타주 일부JS 생태계는 개발자에 최적화된 더 나은 환경을 제공하는 도구입니다.여기에는 스타터 템플릿 애플리케이션 및 컴포넌트를 생성하는 이니셜라이저 Minit 및 MR(Montage Require)라고 불리는 NPM 스타일의 패키지를 사용하여 웹 애플리케이션을 프런트 엔드 개발하기 위한 모듈 시스템이 포함됩니다.
또한 Montage에는 개발자에 최적화된 경험을 Mop(Montage Optimizer의 줄임말)이라고 하는 사용자 최적화 경험으로 변환하는 명령줄 툴이 포함되어 있습니다.Mop에서는 어플리케이션의 전체 파일 크기를 줄이고 여러 다운로드 간에 프리로드 또는 배포할 수 있는 번들을 작성함으로써 운영 가능한 Montage 어플리케이션을 출력합니다.이를 통해 요청 수를 줄이고 개발자는 제한된 콘텐츠 보안 정책을 사용하여 Montage 어플리케이션을 출시할 수 있습니다.
호환성.
Montage는 표준화된 브라우저 기능에 의존하며 Google Chrome, Firefox, Safari 5+, Internet Explorer 10, Safari Mobile 및 Android 브라우저를 포함한 최신 브라우저에서 가장 잘 작동합니다.
「 」를 참조해 주세요.
릴리스
- 2012년 7월 10일 - 0.11 - 최초 공개
- 2012년 11월 12일 - 0.12
- 2013년 6월 10일 - 0.13일
- 2013년 12월 9일 - 0.13.9
- 2014년 1월 16일 - 0.13.11
- 2014년 2월 25일 - 0.14일
- 2014년 3월 6일 - 0.14.4
- 2014년 3월 12일 - 0.14.5
- 2014년 5월 3일 - 0.14.10
레퍼런스
- ^ Kowal, Kris; et al. "Ninja power: open-source HTML5 toolset aims to enable richer Web apps". Ars Technica. Condé Nast.