Box 제작 T3 JavaScript 프레임워크

2113 단어
온라인 스토리지 및 콘텐츠 플랫폼 Box는 최근 T3이라는 오픈 소스 프런트엔드 JavaScript 프레임워크를 출시했다.이 프레임워크의 목표는 코드를 소형의 독립된 부분으로 분해함으로써 대형 응용 프로그램 개발에서 겪는 각종 문제를 해결하는 것이다.
박스의 수석 프로그래머인 니콜라스 자카스는 T3를 소개하는 블로그 게시물에서 그의 팀에는 여러 개발자가 하나의 거대한 코드 라이브러리에서 공동으로 일하고 있기 때문에 이 프레임워크를 처음 개발한 목적은 개발 과정에서 내부 문제를 해결하는 것이라고 말했다.인포큐와 자카스와의 인터뷰에서 그는 "기존의 어떤 선택도 우리의 요구를 실현할 수 없다"고 말했다.
기존 솔루션의 대부분은 MVC 기반 아키텍처를 기반으로 제작되었으며 다른 방향으로 갈 계획입니다.시중에도 서로 다른 추상적인 개념을 사용하는 제품이 있지만 T3에 포함된 기능을 실현하기에는 부족하다.
T3의 구성 요소는 다음 세 가지 유형으로 구성됩니다.
  • 서비스
  • 모듈
  • 행위
  • T3로 작성된 전형적인 ToDo 목록 예시에서 이 프로젝트는 예시된 원본 코드를 보여줄 뿐만 아니라 각 코드의 기능도 상세하게 설명했다.예를 들어 유지 보수 목록 항목의 상태에 대한 코드에 다음과 같이 설명되어 있습니다.
    모든 모듈은 독립적이지만 모든 모듈은 todo 상태를 유지하는 서비스와 상호작용을 한다.dos-db 이 서비스는 전체 응용 프로그램의 생명 주기에 관리 임무의 추가, 삭제, 완료 표시를 책임집니다.
    T3의 서비스 개념은 Angular의 개념과 매우 비슷하다. 예를 들어 개발자는 이런 방식으로 Application에 특정한 서비스를 등록할 수 있다.
    
    Application.addService('router', function(application) {
        return {
            route: function(url, state) {
                history.pushState(state, '', url);
            }
        };
    });
    

    그러나 Angular에서 사용하는 의존 주입 방식과 달리 T3의 서비스는 전역 Application 대상에 대한 요청을 통해 얻어진다.
    
    var router = Application.getService('router');
    router.route('/home', {});
    

    React와 유사하게 T3는 다른 프레임과 함께 사용할 가능성을 배제하지 않습니다.Zakas는 "T3는 Backbone, React 또는 그 어떠한 프레임워크와 함께 사용할 수 있다. 이것은 단지 우리가 개별적인 코드 세션을 더욱 잘 조직하는 데 도움을 주고 엔지니어들이 원하는 임의의 방식으로 이 세션을 연결시켜 완전한 클라이언트 기능이 되도록 허락할 뿐"이라고 말했다.
    해커뉴스의 한 토론에서 개발자들은 이 팀의 업무 성과에 대한 칭찬을 보편적으로 나타냈지만 T3의 구성 요소와 엠버, Angular, Meteor의 구성 요소를 비교했다.사용자 DigitalSea는 T3에 새로운 내용이 제공되지 않았다고 불평했습니다.
    나는 왜 박스가 새로운 자바스크립트 프레임워크를 개발해야 하는지 정말 모르겠다. 내가 무엇을 빠뜨렸는지 모르겠다.전단 개발자로서 나는 T3라는 제품에 대해 확실히 흥분을 느꼈지만, 나는 T3가 도대체 어떤 다른 구조에서 부족한 것을 실현했는지 도무지 알 수 없다.
    Zakas는 T3가 특정 유형의 애플리케이션에 특히 적합하다고 밝혔다."T3는 MVC 구조와 단일 페이지 응용을 포함한 다른 경로에도 사용될 수 있지만 특히 점진적인 강화에 장점이 있다."Box는 데스크톱 응용 프로그램과 모바일 웹 응용 프로그램에서 T3를 사용하여 개발했다.
    T3 프로젝트에 대한 자세한 내용은 GitHub에서 확인할 수 있습니다.
    영어 보기: Box Releases T3 JavaScript Framework

    좋은 웹페이지 즐겨찾기