Xone bietet Ihnen eine leichte Umgebung mit vollem Stapel auf Node.js, um schöne Anwendungen für jede Verwendung zu entwickeln (basierend auf HTML5 und JavaScript) und die optimale Integration einer universellen Codebasis in eine Vielzahl von Systemen (z. B. mobile Geräte, Tablets, Desktops, Browser -Umgebungen) ermöglicht.
Xone wird einige größere Änderungen bekommen. Dies war erforderlich, um Funktionen für bevorstehende Funktionen zu eröffnen, die wir jetzt wie Xone Native arbeiten. Es ist geplant, eine endgültige Architektur bis V.1.0.0 zu veröffentlichen und dann auch mit den meisten Bruchänderungen zu tun.

asyncpaintpromisequeuestackasaprun (Pseudo Thread Runner Instance)APP.CONTROLLER[name] → new Controller(name) oder Controller.new(name)APP.VIEW[name] → new View(name) oder View.new(name)APP.EVENT[query] → new Event(query) oder Event.new(query)APP.ROUTE[route] → new Route(route) oder Route.new(route)APP.MAPPER[name] → Ist jetzt ein Teil von Ansicht, Modell und/oder Route (siehe: Ansicht Zuordnungen , Modellzuordnungen , Nutzlastzuordnungen )APP.MODEL[name] → new Model(name) oder Model.new(name)APP.WORKER[name] → new Worker(name) oder Worker.new(name)APP.HANDLER → Sie können jeden Stil verwenden (wie zuvor)APP.HELPER → Sie können jeden Stil verwenden (wie zuvor)APP.SETTING.get(key) → Setting.get(key)APP.PLUGIN.Filesystem → FilesystemCORE.* → Util.{Package}.* (ZB Util.Array.merge )
Diese Funktionen werden vorerst veraltet (nicht unterstützt):
Grundsätzlich hat XONE eine leicht zu erlernen hochrangige Schnittstelle, ohne Sie zu zwingen, einen "Framework-Kryption-Code" zu implementieren, wie Sie es mit Angular oder React tun würden. Dies bewahrt auch eine enorme Flexibilität für Ihre Codebasis für bevorstehende Technologien, Ports oder andere wichtige Änderungen.
Xone ist im Grunde in 3 verschiedenen Versionen erhältlich:
xone create erstellt wurde| Funktionen standardmäßig | Xone -Projekt (Umgebung) | Xone Bündel (eigenständig) | Xone -Bibliothek (Standalone) |
|---|---|---|---|
| Endgültiges Projekt Dateigröße | kleinste | klein | Normal |
| Kernbibliothek | |||
| MVC -Framework | |||
| Motor rendern | |||
| Unit -Tests | - - | - - | |
| Debugging -Tools | - - | ||
| Umgebungen | - - | - - | |
| Globale App -Konfiguration | - - | ||
| Projekt erstellen/kompilieren | - - | ||
| Plattformen verwalten | - - | - - | |
| Dynamische Vorlagen (HTML> JSON) | - - | - - | |
| Abhängigkeitsverwaltung | - - | - - | |
| Anfängliche Codebasis | - - | - - | |
| CLI -Werkzeuge | - - | - - | |
| Unterstützung des Verschlusss Compiler Advanced Modus | - - | ||
| Dead Code Entfernung | - - | ||
| Ist nicht streng von Kongressen gebunden | - - | ||
| Erfordert keinen node.js | - - | ||
| Verwenden Sie als eigenständige Bibliothek (wie JQuery/Unterstrich) | - - | ||
| Verwenden Sie als Framework (wie Bootstrap/Angular) | - - | ||
| Verwenden Sie als Entwicklerumgebung (wie Sencha/Meteor) | - - | - - |
> npm install -g xoneHINWEIS: Um die Xone CLI weltweit verfügbar zu machen, müssen Sie Xone als globales NPM -Modul installieren (zusätzlich zu einer lokalen Installation, wenn Sie so gut wie möglich wie möglich bleiben möchten). Sie können auch eine lokale benutzerdefinierte Version von Xone sowie die CLI ohne globale Installationen verwenden (weiter lesen).
Hinweis: Xone-Projektbinärdateien müssen normalerweise über "Xone Create" oder "Xone Install" installiert werden und verfügen über eine eigene vordefinierte Ordnerstruktur (gefolgt von einigen Konventionen). Sie können eine der beiden eigenständigen Versionen optional auswählen, um so viele Konventionen wie möglich zu überspringen (zB Xone wirkt wie ein externes JavaScript-Plugin).
Alternativ in der Wurzel Ihres Projekts können Sie stattdessen die lokale CLI -Verknüpfungs -App für Xone , z. B. verwenden:
my_project > app buildHinweis: Die Optionen erstellen und installieren beide sind nicht über die Verknüpfungs -App verfügbar.
Auf einer Linux -Maschine können Sie verwenden:
sudo npm install -g xoneWenn die globale "Xone" -Kennung nicht ordnungsgemäß registriert ist, probieren Sie eine dieser Zeilen aus:
hash xone
hash -rAlternativ können Sie den lokalen CLI -Fallback verwenden wie:
bash xone buildErstellen Sie ein neues Projekt im Verzeichnis Arbeitsbereich/my_project :
workspace > xone create my_projectFunktioniert, aber es wird im Allgemeinen nicht empfohlen, Whitespaces in einem Projektordnernamen zu verwenden:
workspace > xone create " my project "Lesen Sie weiter
Um Xone eines bereits vorhandenen Projekts zu aktualisieren, benötigen Sie im Grunde 2 Schritte :
> npm install -g xoneworkspace/my_project > xone installHinweis: Dies überschreibt keine Ihrer Projektdateien! Nur Projekte Xone Bibliotheksdateien in App/lib/xone/ werden aktualisiert.
Lesen Sie weiter
Nicht kompilierte Quellen in: Arbeitsbereich/my_project/app/*
my_project > xone buildProduktion Build befindet sich in: Workspace/my_project/public/www/*
HINWEIS: Wir haben empfohlen, Produktionsbauten für eine externe/öffentliche Veröffentlichung zu verwenden und die Quellen nur für die Entwicklung, Testen und einige andere interne Zwecke zu verwenden. Um die Build -Integration von Xone zu überspringen, müssen Sie stattdessen die eigenständige Version verwenden.
my_project > xone serverÖffnen Sie Ihren bevorzugten Webrowser und Goto 'http: // localhost/App/' oder 'http: // localhost/public/www/' '
Optional können Sie einen benutzerdefinierten Host und Port übergeben:
my_project > xone server localhost 8080Öffnen Sie Ihren bevorzugten Webrowser und goto 'http: // localhost: 8080' '
Öffnen Sie App/Index.html aus Quellen oder öffentlich/www/index.html aus der Produktionsaufstellung in Ihrem bevorzugten Browser.
Verwenden Sie Produktionsbauten in Workspace/my_project/public/*, um in Ihre Cordova-basierten Projekte einzusteigen oder auf einen Webserver hochzuladen.
Xone bietet benutzerdefinierte Plattforminjektionen, um plattformspezifische Produktionsbauten durchzuführen. Daher enthalten alle diese Builds nur den erforderlichen Code und Abhängigkeiten für ihre zugehörige Plattform.
Zeigen Sie derzeit definierte Plattformen:
my_project > xone platformFühren Sie eine plattformspezifische Zusammenstellung durch:
my_project > xone compile androidKompilierte Dateien bleiben erhalten in: Arbeitsbereich/my_project/App/*
Führen Sie plattformspezifische Builds durch:
my_project > xone build androidBauziel: Arbeitsbereich/my_project/public/android/*
Sie können unbegrenzte benutzerdefinierte Plattformen hinzufügen, z. B. eine Plattform "WebApp" erstellen:
my_project > xone platform add webapp
my_project > xone build webappZiel erstellen: Arbeitsbereich/my_project/public/webapp/*
my_project > xone build bundleErstellen Sie Ziel: Arbeitsbereich/my_project/app/lib/xone/dist/xone.bundle.js
my_project > xone build libErstellen Sie Ziel: Arbeitsbereich/my_project/app/lib/xone/dist/xone.lib.js
my_project > xone build lib min ./app/js/Erstellen Sie Ziel: Arbeitsbereich/My_Project/App/JS/Xone.lib.min.js
Hinweis: Die Reihenfolge der übergebenen Parameter kann nicht geändert werden.
<!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 verwendet den Google Closure Compiler. Alle Xone -Bibliotheken unterstützen auch die Kompilierung im "Advanced -Modus" . Die Build -Eigenschaften können in xone.json konfiguriert werden. Der Verschluss Compiler bietet außerdem ein einfaches Abhängigkeitsmanagementsystem (bereitgestellt/verlangt), das Sie verwenden sollten, um die Entfernung des toten Code zu verbessern.
HINWEIS: Tatsächlich unterstützt Xone 2 verschiedene Versionen des Verschlusskompilers: 1. Erfordert Java, 2. Erfordert JavaScript (Knoten). Es wird empfohlen, dass eine Java (JRE) ordnungsgemäß auf Ihrer Maschine installiert ist, um einige Vorteile der Java -Version des Verschlusses zu erschließen. Um den Typ des Compilers zu ändern, müssen Sie den Wert des Feldes
closure_compiler_lib_typevon"js"in"jar"inxone.jsonentsprechend ändern.
HINWEIS: Wenn Sie weniger Erfahrung mit dem Verschluss -Compiler haben, können Sie in der Xone -Konfigurationsdatei optional die Kompilierungsstufe auf "Einfach" auf dem Feld
closure_compiler_levelfestlegen.
| Funktionen standardmäßig | Verschluss Compiler (Java) | Verschluss Compiler (JavaScript) |
|---|---|---|
| Abhängigkeitsverwaltung | ||
| Automatische Sortierabhängigkeiten | - - | |
| "Strenge" Abhängigkeiten (Einstiegspunkt) | - - | |
| "Print Print" Compilation | - - | |
| Leistung aufbauen | Normal | Langsam |
| Kompressionsverhältnis | Am besten | Gut |
| Speicherverbrauch | Normal | Extrem |
my_project > xone docsDokumente werden in 'docs/api/' generiert.
Standardumgebungen sind:
Umwelt ändern in app/manifest.js :
"env" : " development " ,
"platform" : " www "Oder nur Parameter zur URL hinzufügen:
http://localhost:9000/? env =test& platform =android& debug =trueHinweis: Sie können auch jedes
CONFIGüberschreiben, indem Sie URL -Parameter übergeben.
Zeigen Sie derzeit definierte Umgebungen:
my_project > xone envFügen Sie benutzerdefinierte Umgebungen hinzu:
my_project > xone env add offlineZiel erstellen: Arbeitsbereich/my_project/App/config/offline.js