Xone은 Node.js 위에 가벼운 풀 스택 환경을 제공하여 모든 사용에 대한 아름다운 애플리케이션 (HTML5 및 JavaScript 기반)을 개발하고 범용 코드베이스를 광범위한 시스템 (예 : 모바일 장치, 태블릿, 데스크탑, 브라우저 환경)으로 최적으로 통합 할 수 있습니다.
Xone은 몇 가지 큰 변화를 얻을 것입니다. 이것은 우리가 현재 Xone Native 와 같이 작업하고있는 다가오는 기능을위한 기능을 열어야했습니다. 이 계획은 V.1.0.0까지 최종 아키텍처를 출시 한 다음 대부분의 파괴 변경으로 수행하는 것입니다.

asyncpaintpromisequeuestackasaprun (의사 스레드 러너 인스턴스)APP.CONTROLLER[name] → new Controller(name) 또는 Controller.new(name)APP.VIEW[name] → new View(name) 또는 View.new(name)APP.EVENT[query] → new Event(query) 또는 Event.new(query)APP.ROUTE[route] → new Route(route) 또는 Route.new(route)APP.MAPPER[name] → 이제 View, Model 및/또는 Route의 일부가되었습니다 (참조 : 매핑보기 , 모델 매핑 , 페이로드 매핑 )APP.MODEL[name] → new Model(name) 또는 Model.new(name)APP.WORKER[name] → new Worker(name) 또는 Worker.new(name)APP.HANDLER → 당신은 어떤 스타일이든 자유롭게 사용할 수 있습니다 (이전과 같은)APP.HELPER → 모든 스타일을 자유롭게 사용할 수 있습니다 (이전과 같은)APP.SETTING.get(key) → Setting.get(key)APP.PLUGIN.Filesystem → FilesystemCORE.* → Util.{Package}.* (예 : Util.Array.merge )
이러한 기능은 현재 더 이상 사용되지 않습니다 (지원되지 않음).
기본적으로 XONE은 각도 또는 반응과 마찬가지로 저수준 "프레임 워크-크립 토프트"코드를 구현하지 않고도 높은 수준의 인터페이스를 쉽게 배울 수 있습니다. 또한 다가오는 기술, 포트 또는 기타 주요 변경 사항에 대한 코드베이스에 큰 유연성을 보존합니다.
Xone은 기본적으로 3 가지 버전으로 제공됩니다.
xone create 가 만든 초기 프로젝트| 기본적으로 기능 | XONE 프로젝트 (환경) | XONE 번들 (독립형) | XONE 라이브러리 (독립형) |
|---|---|---|---|
| 최종 프로젝트 파일 크기 | 가장 작은 | 작은 | 정상 |
| 핵심 라이브러리 | |||
| MVC 프레임 워크 | |||
| 렌더 엔진 | |||
| 단위 테스트 | - | - | |
| 디버깅 도구 | - | ||
| 환경 | - | - | |
| 글로벌 앱 구성 | - | ||
| 프로젝트 빌드/컴파일 | - | ||
| 플랫폼 관리 | - | - | |
| 동적 템플릿 (HTML> JSON) | - | - | |
| 의존성 관리 | - | - | |
| 초기 코드베이스 | - | - | |
| CLI 도구 | - | - | |
| Closure Compiler Advanced Mode를 지원합니다 | - | ||
| 데드 코드 제거 | - | ||
| 규칙에 의해 엄격하게 구속되지 않습니다 | - | ||
| node.js가 필요 하지 않습니다 | - | ||
| 독립형 라이브러리로 사용 (jQuery/밑줄과 같은) | - | ||
| 프레임 워크로 사용 (부트 스트랩/앵귤러와 같은) | - | ||
| DEV 환경으로 사용 (Sencha/Meteor와 같은) | - | - |
> npm install -g xone참고 : XONE CLI를 전 세계적으로 사용할 수 있도록하려면 XONE을 글로벌 NPM 모듈로 설치해야합니다 (가능한 한 간단하게 유지하려면 로컬 설치 외에도). 또한 글로벌 설치없이 CLI를 사용할뿐만 아니라 로컬 사용자 정의 버전을 사용할 수도 있습니다 (추가 읽기).
참고 : XONE Project Binaries는 일반적으로 "XONE CREATE"또는 "XONE Install"을 통해 설치해야하며 자체 사전 정의 된 폴더 구조 (일부 규칙)와 함께 제공됩니다. 선택적으로 두 개의 독립형 버전 중 하나를 선택하여 가능한 한 많은 규칙을 건너 뛸 수 있습니다 (예 : Xone은 외부 JavaScript 플러그인처럼 작용).
또는 프로젝트의 루트에서 XONE 에 대신 로컬 CLI 바로 가기 앱을 사용할 수 있습니다.
my_project > app build참고 : 옵션은 바로 가기 앱을 통해 사용할 수 없습니다.
Linux 시스템에서 사용할 수 있습니다.
sudo npm install -g xone글로벌 "XONE"식별자가 등록되지 않은 경우 다음 행 중 하나를 시도하십시오.
hash xone
hash -r또는 다음과 같은 로컬 CLI 폴백을 사용할 수 있습니다.
bash xone build디렉토리 작업 공간/my_project 내에서 새 프로젝트를 만듭니다.
workspace > xone create my_project작동하지만 일반적으로 프로젝트 폴더 이름에서 공백을 사용하는 것이 좋습니다.
workspace > xone create " my project "더 읽으십시오
이미 존재하는 프로젝트의 Xone을 업데이트하려면 기본적으로 2 단계가 필요합니다.
> npm install -g xoneworkspace/my_project > xone install참고 : 이것은 프로젝트 파일을 덮어 쓰지 않습니다! 앱/lib/xone/ 에 위치한 프로젝트 xone 라이브러리 파일 만 업데이트됩니다.
더 읽으십시오
위치에 위치한 소스 : Workspace/my_project/app/*
my_project > xone build생산 빌드에 위치 : 작업 공간/my_project/public/www/*
참고 : 외부/공개 릴리스에 생산 빌드를 사용하고 개발, 테스트를 위해서만 소스를 사용하는 것이 좋습니다. XONE의 빌드 통합을 건너 뛰려면 대신 독립형 버전을 사용해야합니다.
my_project > xone server선호하는 Webrowser 및 Goto 'http : // localhost/app/' 또는 'http : // localhost/public/www/'
선택적으로 사용자 정의 호스트와 포트를 통과 할 수 있습니다.
my_project > xone server localhost 8080선호하는 Webrowser 및 Goto 'http : // localhost : 8080'을 엽니 다.
소스 또는 공개/www/index.html 에서 선호하는 브라우저에서 생산 빌드에서 app/index.html을 엽니 다.
Cordova 기반 프로젝트로 이동하거나 웹 서버에 업로드하려면 Workspace/My_Project/Public/* 에 위치한 프로덕션 빌드를 사용하십시오.
Xone은 플랫폼 특정 생산 빌드를 수행하기위한 맞춤형 플랫폼 주입을 제공합니다. 따라서 모든 빌드에는 관련 플랫폼에 필요한 코드 및 종속성 만 포함됩니다.
현재 정의 된 플랫폼 표시 :
my_project > xone platform플랫폼 특정 컴파일 수행 :
my_project > xone compile android컴파일 된 파일이 남아 있습니다 : Workspace/my_project/app/*
플랫폼 특정 빌드 수행 :
my_project > xone build android대상 빌드 : 작업 공간/my_project/public/android/*
무제한 사용자 정의 플랫폼을 추가 할 수 있습니다. 예 : 플랫폼 'WebApp'을 만듭니다.
my_project > xone platform add webapp
my_project > xone build webapp대상 빌드 : 작업 공간/my_project/public/webapp/*
my_project > xone build bundle대상 빌드 : 작업 공간/my_project/app/lib/xone/dist/xone.bundle.js
my_project > xone build lib대상 빌드 : 작업 공간/my_project/app/lib/xone/dist/xone.lib.js
my_project > xone build lib min ./app/js/대상 빌드 : 작업 공간/my_project/app/js/xone.lib.min.js
참고 : 전달 된 매개 변수 순서는 실제로 변경할 수 없습니다.
<!DOCTYPE html >
< html >
< head >
< meta charset =" UTF-8 " >
</ head >
< body >
<!-- END_OF_BODY -->
<!-- LOAD XONE: -->
< script src =" js/xone.lib.min.js " > </ script >
<!-- YOUR APP CODE: -->
< script src =" js/app.js " > </ script >
</ body >
</ html > XONE Build는 Google Closure 컴파일러를 사용합니다. 모든 XONE 라이브러리는 "고급 모드" 에서 컴파일을 지원합니다. 빌드 속성은 xone.json 에서 구성 할 수 있습니다. 클로저 컴파일러는 또한 간단한 종속성 관리 시스템 (제공/요구)을 제공하여 데드 코드 제거를 개선하기 위해 사용해야합니다.
참고 : 실제로 XONE은 2 개의 다른 버전의 클로저 컴파일러를 지원합니다. 1. Java, 2가 필요합니다. JavaScript (노드)가 필요합니다. Closure Compiler Java 버전의 일부 이점을 잠금 해제하기 위해 컴퓨터에 JRE (JRE)가 올바르게 설치되는 것이 좋습니다. 컴파일러 유형을 변경하려면 Field
closure_compiler_lib_type의 값을"js"에서xone.json의"jar"로 변경해야합니다.
참고 : Closure Compiler에 대한 경험이 적은 경우 XONE Config 파일 내에서 필드
closure_compiler_level에서 컴파일 레벨을 "Simple" 으로 선택적으로 설정할 수 있습니다.
| 기본적으로 기능 | 클로저 컴파일러 (Java) | 클로저 컴파일러 (JavaScript) |
|---|---|---|
| 의존성 관리 | ||
| 자동 정렬 종속성 | - | |
| "엄격한"의존성 (진입 점) | - | |
| "Pretty Print"편집 | - | |
| 성능을 빌드하십시오 | 정상 | 느린 |
| 압축 비율 | 최상의 | 좋은 |
| 메모리 소비 | 정상 | 극심한 |
my_project > xone docs문서는 'Docs/API/' 에서 생성됩니다.
기본 환경은 다음과 같습니다.
app/manifest.js 의 환경 변경 :
"env" : " development " ,
"platform" : " www "또는 URL에 매개 변수를 추가합니다.
http://localhost:9000/? env =test& platform =android& debug =true참고 : URL 매개 변수를 각각 전달하여
CONFIG속성을 재정의 할 수도 있습니다.
현재 정의 된 환경 표시 :
my_project > xone env사용자 정의 환경 추가 :
my_project > xone env add offline대상 빌드 : 작업 공간/my_project/app/config/offline.js