Xone memberi Anda lingkungan tumpukan penuh yang ringan di atas Node.js untuk mengembangkan aplikasi yang indah untuk setiap penggunaan (berdasarkan HTML5 dan JavaScript) dan memungkinkan integrasi optimal basis kode universal ke dalam berbagai sistem (misalnya perangkat seluler, tablet, desktop, lingkungan browser).
Xone akan mendapatkan beberapa perubahan besar. Ini diperlukan untuk membuka kemampuan untuk fitur mendatang yang kami kerjakan sekarang seperti Xone asli . Rencananya adalah untuk merilis arsitektur akhir hingga v.1.0.0 dan kemudian juga harus dilakukan dengan sebagian besar perubahan yang melanggar.

asyncpaintpromisequeuestackasaprun (instance runner utas semu)APP.CONTROLLER[name] → new Controller(name) atau Controller.new(name)APP.VIEW[name] → new View(name) atau View.new(name)APP.EVENT[query] → new Event(query) atau Event.new(query)APP.ROUTE[route] → new Route(route) atau Route.new(route)APP.MAPPER[name] → sekarang menjadi bagian dari tampilan, model dan/atau rute (lihat: Lihat pemetaan , pemetaan model , pemetaan payload )APP.MODEL[name] → new Model(name) atau Model.new(name)APP.WORKER[name] → new Worker(name) atau Worker.new(name)APP.HANDLER → Anda bebas menggunakan gaya apa pun (seperti sebelumnya)APP.HELPER → Anda bebas menggunakan gaya apa pun (seperti sebelumnya)APP.SETTING.get(key) → Setting.get(key)APP.PLUGIN.Filesystem → FilesystemCORE.* → Util.{Package}.* (Misalnya Util.Array.merge )
Fitur -fitur tersebut akan menjadi sudah tidak digunakan untuk saat ini (tidak didukung):
Pada dasarnya Xone memiliki antarmuka tingkat tinggi yang mudah dipelajari tanpa memaksa Anda untuk mengimplementasikan kode "kerangka kerja kerangka kerja" tingkat rendah seperti yang Anda lakukan dengan sudut atau bereaksi. Itu juga mempertahankan fleksibilitas besar pada basis kode Anda untuk teknologi, port, atau perubahan besar yang akan datang.
Xone pada dasarnya tersedia dalam 3 versi berbeda:
xone create| Fitur secara default | Proyek Xone (Lingkungan) | Bundel Xone (mandiri) | Perpustakaan Xone (mandiri) |
|---|---|---|---|
| Ukuran Proyek Akhir | terkecil | kecil | normal |
| Perpustakaan Inti | |||
| Kerangka kerja MVC | |||
| Mesin render | |||
| Tes unit | - | - | |
| Alat debugging | - | ||
| Lingkungan | - | - | |
| Konfigurasi Aplikasi Global | - | ||
| Proyek Bangun/Kompilasi | - | ||
| Kelola platform | - | - | |
| Templat Dinamis (html> json) | - | - | |
| Manajemen ketergantungan | - | - | |
| Basis kode awal | - | - | |
| Alat CLI | - | - | |
| Mode Lanjutan Kompiler Penutupan Dukungan | - | ||
| Penghapusan Kode Mati | - | ||
| Tidak terikat secara ketat oleh konvensi | - | ||
| Tidak memerlukan node.js | - | ||
| Gunakan sebagai perpustakaan mandiri (seperti jQuery/underscore) | - | ||
| Gunakan sebagai kerangka kerja (seperti bootstrap/sudut) | - | ||
| Gunakan sebagai lingkungan dev (seperti sencha/meteor) | - | - |
> npm install -g xoneCatatan: Untuk membuat Xone CLI tersedia secara global, Anda harus menginstal Xone sebagai modul NPM global (juga selain instalasi lokal jika Anda ingin tetap sederhana sebanyak mungkin). Anda juga dapat menggunakan versi kustom lokal Xone serta menggunakan CLI tanpa instalasi global (baca lebih lanjut).
Catatan: Binari Proyek Xone biasanya harus diinstal melalui "Xone Create" atau "Xone Install" dan dilengkapi dengan struktur folder yang telah ditentukan sebelumnya (diikuti oleh beberapa konvensi). Anda dapat memilih salah satu dari dua versi yang berdiri sendiri secara opsional untuk melewatkan konvensi sebanyak mungkin (misalnya Xone bertindak seperti plugin eksternal JavaScript).
Atau di akar proyek Anda, Anda dapat menggunakan aplikasi pintasan CLI lokal sebagai gantinya untuk Xone , misalnya:
my_project > app buildCatatan: Opsi membuat dan menginstal keduanya tidak tersedia melalui aplikasi pintasan.
Pada mesin Linux yang mungkin Anda gunakan:
sudo npm install -g xoneJika pengidentifikasi "Xone" global tidak terdaftar dengan benar, cobalah salah satu dari baris ini:
hash xone
hash -rAtau Anda dapat menggunakan Fallback CLI lokal seperti:
bash xone buildBuat proyek baru di dalam direktori Workspace/My_project :
workspace > xone create my_projectBekerja, tetapi umumnya tidak disarankan untuk menggunakan whitespace dalam nama folder proyek:
workspace > xone create " my project "Baca lebih lanjut
Untuk memperbarui Xone dari proyek yang sudah ada, Anda pada dasarnya membutuhkan 2 langkah :
> npm install -g xoneworkspace/my_project > xone installCatatan: Ini tidak akan menimpa file proyek Anda! Hanya memproyeksikan file perpustakaan Xone yang berlokasi di App/Lib/Xone/ yang diperbarui.
Baca lebih lanjut
Sumber yang tidak dikompilasi yang terletak di: Workspace/my_project/app/*
my_project > xone buildBangunan Produksi Terletak di: Workspace/My_Project/Public/WWW/*
Catatan: Kami merekomendasikan untuk menggunakan build produksi untuk setiap rilis eksternal/publik dan menggunakan sumber hanya untuk mengembangkan, menguji dan dapat beberapa tujuan internal lainnya. Untuk melewatkan integrasi Build Xone, Anda harus menggunakan versi mandiri sebagai gantinya.
my_project > xone serverBuka Webrowser dan Goto 'http: // localhost/app/' atau 'http: // localhost/public/www/' atau 'http: // public/www/'
Secara opsional Anda dapat lulus host dan port khusus:
my_project > xone server localhost 8080Buka Webrowser dan Goto 'http: // localhost: 8080'
Buka App/Index.html dari Sumber atau Publik/WWW/Index.html dari Build Production di browser pilihan Anda.
Gunakan Bangunan Produksi yang terletak di Workspace/MY_Project/Public/* untuk bergerak maju ke proyek berbasis Cordova Anda atau mengunggah ke server web.
Xone menyediakan suntikan platform khusus untuk melakukan pembuatan produksi spesifik platform. Oleh karena itu semua bangunan itu hanya mencakup kode dan dependensi yang diperlukan untuk platform terkait mereka.
Tampilkan platform yang ditentukan saat ini:
my_project > xone platformLakukan kompilasi spesifik platform:
my_project > xone compile androidFile yang dikompilasi tetap di: Workspace/my_project/app/*
Lakukan Bangunan Khusus Platform:
my_project > xone build androidBangun Tujuan: Workspace/my_project/public/android/*
Anda dapat menambahkan platform kustom tak terbatas, misalnya membuat platform 'webapp':
my_project > xone platform add webapp
my_project > xone build webappBangun Tujuan: Workspace/my_project/public/webapp/*
my_project > xone build bundleBangun Tujuan: Workspace/my_project/app/lib/xone/dist/xone.bundle.js
my_project > xone build libBangun Tujuan: Workspace/my_project/app/lib/xone/dist/xone.lib.js
my_project > xone build lib min ./app/js/Bangun Tujuan: Workspace/my_project/app/js/xone.lib.min.js
CATATAN: Urutan parameter yang diteruskan tidak dapat diubah sebenarnya.
<!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 menggunakan google compiler penutupan. Semua perpustakaan Xone juga mendukung kompilasi dalam "Mode Lanjutan" . Properti build dapat dikonfigurasi di xone.json . Kompiler penutupan juga menyediakan sistem manajemen ketergantungan sederhana (menyediakan/memerlukan) yang harus Anda gunakan untuk meningkatkan penghapusan kode mati.
CATATAN: Sebenarnya Xone mendukung 2 versi berbeda dari kompiler penutupan: 1. Membutuhkan Java, 2. Membutuhkan JavaScript (Node). Disarankan untuk memiliki Java (JRE) yang diinstal dengan benar pada mesin Anda untuk membuka kunci beberapa manfaat dari Versi Java Compiler Penutupan. Untuk mengubah jenis kompiler, Anda perlu mengubah nilai bidang
closure_compiler_lib_typedari"js"menjadi"jar"dixone.jsonyang sesuai.
Catatan: Jika Anda memiliki lebih sedikit pengalaman dengan kompiler penutupan, Anda dapat secara opsional mengatur level kompilasi menjadi "sederhana" di field
closure_compiler_leveldalam file konfigurasi xone.
| Fitur secara default | Kompiler Penutupan (Java) | Kompiler Penutupan (JavaScript) |
|---|---|---|
| Manajemen ketergantungan | ||
| Ketergantungan Sortir Otomatis | - | |
| Ketergantungan "ketat" (titik masuk) | - | |
| Kompilasi "Pretty Print" | - | |
| Membangun kinerja | Normal | Lambat |
| Rasio kompresi | Terbaik | Bagus |
| Konsumsi memori | Normal | Ekstrim |
my_project > xone docsDokumen akan dihasilkan di 'Docs/API/' .
Lingkungan default adalah:
Ubah lingkungan di app/manifest.js :
"env" : " development " ,
"platform" : " www "Atau hanya menambahkan parameter ke URL:
http://localhost:9000/? env =test& platform =android& debug =trueCatatan: Anda juga dapat mengganti atribut
CONFIGdengan masing -masing dengan meneruskan parameter URL.
Tampilkan lingkungan yang ditentukan saat ini:
my_project > xone envTambahkan Lingkungan Kustom:
my_project > xone env add offlineBangun Tujuan: Workspace/my_project/app/config/offline.js