XONEは、Node.jsの上に軽量のフルスタック環境を提供し、すべての使用(HTML5およびJavaScriptに基づく)の美しいアプリケーションを開発し、ユニバーサルコードベースを幅広いシステム(モバイルデバイス、タブレット、デスクトップ、ブラウザー環境など)に最適な統合を可能にします。
Xoneはいくつかの大きな変更を受けます。これは、 Xoneネイティブのように現在作業している今後の機能の機能を開くために必要でした。計画は、最終的なアーキテクチャを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] →ビュー、モデル、および/またはルートの一部になりました(参照:表示マッピング、モデルマッピング、ペイロードマッピング)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には、AngularまたはReactで行うように、低レベルの「フレームワーククリプト化された」コードを実装することを強制せずに、高レベルのインターフェイスを簡単に習得できます。また、今後のテクノロジー、ポート、またはその他の大きな変更のために、コードベースに大きな柔軟性を維持します。
XONEは基本的に3つの異なるバージョンで利用できます:
xone createによって作成された初期プロジェクト| デフォルトで機能 | xoneプロジェクト(環境) | xoneバンドル(スタンドアロン) | xoneライブラリ(スタンドアロン) |
|---|---|---|---|
| 最終的なプロジェクトファイルサイズ | 最小 | 小さい | 普通 |
| コアライブラリ | |||
| MVCフレームワーク | |||
| レンダリングエンジン | |||
| ユニットテスト | - | - | |
| デバッグツール | - | ||
| 環境 | - | - | |
| グローバルアプリの構成 | - | ||
| プロジェクトをビルド/コンパイルします | - | ||
| プラットフォームを管理します | - | - | |
| 動的テンプレート(html> json) | - | - | |
| 依存関係管理 | - | - | |
| 初期コードベース | - | - | |
| CLIツール | - | - | |
| 閉鎖コンパイラアドバンストモードをサポートします | - | ||
| デッドコードの削除 | - | ||
| 慣習に厳密に拘束されていません | - | ||
| node.jsは必要ありません | - | ||
| スタンドアロンライブラリとして使用する(jquery/underscoreなど) | - | ||
| フレームワークとして使用する(Bootstrap/Angularなど) | - | ||
| 開発環境として使用する(Sencha/Meteorなど) | - | - |
> npm install -g xone注: Xone CLIをグローバルに利用できるようにするには、XoneをグローバルNPMモジュールとしてインストールする必要があります(可能な限りシンプルに保ちたい場合は、ローカルインストールに加えて)。また、グローバルインストールなしでCLIを使用するだけでなく、Xoneのローカルカスタムバージョンを使用することもできます(さらに読んでください)。
注: XONEプロジェクトバイナリは通常、「XONE Create」または「Xoneインストール」を介してインストールする必要があり、独自の定義済みフォルダー構造が付属しています(いくつかの規則が続きます)。オプションで、2つのスタンドアロンバージョンのいずれかを選択して、できるだけ多くのコンベンションをスキップできます(例えば、xoneはextern 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注:これは、プロジェクトファイルを上書きしません! App/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'を開きます
ソースまたはpublic/www/index.htmlからのOpen App/index.htmlは、優先ブラウザーの生産ビルドから。
Workspace/my_project/public/*にある生産ビルドを使用して、Cordovaベースのプロジェクトに進むか、Webサーバーにアップロードします。
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ライブラリは、 「Advanced Mode」でのコンパイルもサポートしています。ビルドプロパティは、 xone.jsonで構成できます。閉鎖コンパイラは、デッドコードの削除を改善するために使用する必要がある単純な依存関係管理システム(提供/要求)も提供します。
注:実際、XONEは閉鎖コンパイラの2つの異なるバージョンをサポートしています。閉鎖コンパイラJavaバージョンのいくつかの利点のロックを解除するために、マシンにJava(JRE)を適切にインストールすることをお勧めします。コンパイラのタイプを変更するには、
xone.jsonのフィールドclosure_compiler_lib_typeの値を"js"から"jar"に変更する必要があります。
注:閉鎖コンパイラの経験が少ない場合は、オプションでXONE構成ファイル内のフィールド
closure_compiler_levelでコンパイルレベルを「シンプル」に設定できます。
| デフォルトで機能 | 閉鎖コンパイラ(Java) | 閉鎖コンパイラ(javascript) |
|---|---|---|
| 依存関係管理 | ||
| 自動ソート依存関係 | - | |
| 「厳格な」依存関係(エントリポイント) | - | |
| 「プリティプリント」コンピレーション | - | |
| パフォーマンスを構築します | 普通 | 遅い |
| 圧縮率 | 最高 | 良い |
| メモリ消費 | 普通 | 過激 |
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