
Xone is an open source Javascript framework for building modern web applications.
Notice
Actually this is a very early state of this repository (pre-alpha or less). We de not recommended using this repo until this message has been removed.
Installation
> npm install -g xone
Note: To make the Xone CLI globally available, you have to install Xone as a global npm module (also in addition to any local installation if you want to keep simple as most as possible). You can also manage multiple/custom versions of Xone as well as using the CLI without any global installations (read further).
Note: Xone binaries typically has to be installed via "xone create" or "xone install" to make full advantage of the build system and also comes with its own pre-defined folder structure (followed by some conventions). We will provide a stand-alone version optionally to skip as many conventions as possible (e.g. Xone acts like an extern Javascript Plugin). We recommended to use the full Xone build capabilities (read further).
Create New Xone Project
Create a new project inside the directory workspace\my_project:
workspace> xone create "my_project"
Read further
Update existing Xone project (fetches from global npm_modules installation)
Fetch update:
> npm install -g xone
Install update to an existing project
workspace\my_project> xone install
Read further
Build Xone project
Un-compiled sources: workspace\my_project\app\*
workspace\my_project> app build
Production build: workspace\my_project\bin\www\*
Note: We strongly recommended use production builds for any external/public releases and use the sources only for developing, testing and may some other internal usage. To skip the build integration of Xone, you have to use the stand-alone version instead.
Run Xone project (Local, Browser)
Open app\index.html from sources or bin\www\index.html from production build in your preferred browser.
Run Xone project (Cordova)
Use production builds located in workspace\my_project\bin\* to move forward into your Cordova-based projects.
TODO
Xone actually requires:
NOTE: Alle these libraries are planned to become optionally.
Features
- Manage Process Environments:
- production
- development
- test
- benchmark
- Manage Rack Environments:
- webapp
- cordova
- native
- local
- browser
- Manage Platform Environments:
- Android
- iOS
- Windows
- Webkit
- Mozilla
- MSIE
- Model-View-Controller
- Supports persistent models
- Full MVC-managed handlers:
- Routes
- Events
- Cache
- Mapper
- Storage
- Threads / Worker
- JavaScript Core Library
- Codebase Dependency Management
- Supports DOM pattern in JSON format
- Template System (Static Views, Dynamic Views)
- Build System
- Template Compiler
- Layout Manager
- Support Multi-Platform-Injections
- Event Delegation
- NoSQL Persistent Storage
- GZIP Storage Data Compression
- FlexiCache
- Multi Language Support
- Specs, Integrated Test Environment (based on Jasmine)
- Debug Mode
- Debugger Tools
- Performance Tools
- Analytics/Statistic Tools
- Benchmark Integration
- Supports JavaScript Closure Compiler (make use of "Advanced Compilation" by default)
- YUI CSS Compressor Integration
- Compatible with almost each library out there
- Also can be mixed with similar technologies like: Angular or react
- Simple, fast and natural usage out of the box