UNPKG

neft

Version:

Universal Platform

125 lines (92 loc) 3.1 kB
<img src="https://cdn.rawgit.com/Neft-io/neft/master/media/neft-white-full.svg" alt="Neft.io logo" width="256" /> ## Universal Platform <table> <tr> <th>Platform</th> <th>Code</th> <th>Views</th> <th>Styling</th> <th>Custom bindings</th> <th>Custom styling</th> </tr> <tr> <td>iOS</td> <td rowspan="5">JavaScript</td> <td rowspan="5">XML</td> <td rowspan="5">NML</td> <td>Swift / ObjC</td> <td>UIKit</td> </tr> <tr> <td>Android</td> <td>Java / C</td> <td>android.view</td> </tr> <tr> <td>Browser</td> <td rowspan="3">JavaScript</td> <td>HTML & CSS</td> </tr> <tr> <td>Browser WebGL</td> <td>Pixi.js</td> </tr> <tr> <td>Node</td> <td></td> </tr> </table> - `NML` - *Neft Marked Language* - Simple language used to describe styles, bindings and animations.<br>See [Built in native controls](https://github.com/Neft-io/neft-default-styles), [API Doc](https://github.com/Neft-io/neft/wiki/Renderer-API). * * * ### What Neft does? 1. Runs your JavaScript code on different platfoms. 2. Renders basic elements and native views through [extensions](https://github.com/Neft-io/neft/wiki/Extensions). 3. Supports asynchronous communication with native code. 4. Allows to write component-based views in XML and JavaScript 5. Provides styling engine. ### What Neft *does not*? 1. Supports browser APIs. Neft is not a browser. 2. Understands CSS. Neft has his own [styling engine](https://github.com/Neft-io/neft/wiki/Styles). * * * ## Everywhere - Node >= 0.11.14, - Browsers (HTML5 or WebGL) IE >= 10, - Android >= 4.0.0, - iOS >= 8.0. ## Why Neft? ### One code for all Share code between a truly native application, website and a server. Neft uses high-level abstraction easily portable between different platforms. ### Virtual DOM DOM model powers native apps and websites in a better logic abstraction. Neft also renders on a server. ### Abstract styles CSS alternative for more dynamic and cross-platform apps. Automatically synchronized with DOM. With [native elements](https://github.com/Neft-io/neft/wiki/Default-Styles). ## Installation ``` npm install -g neft ``` ## First app ``` neft create MyApp cd MyApp neft build browser neft run node .. open http://localhost:3000/ in a browser ``` ## Android native app Specify your Android SDK path in `local.json` and run: ``` neft run android --watch ``` ## iOS native app Download XCode (8.1 or newer) on your Mac computer and run: ``` neft run ios --watch ``` ## No examples, tutorials, bad docs quality Neft API is mostly stabilized. Now we are working on docs and tests improvements. You can help with making Neft brilliant. [[Contribute]]. Always create an issue if something doesn't work. Thank you! ## [[Contribute]] Our main goals are: - improve documentation, - add visual tests, - OS X Cocoa renderer, - Windows 10 through [UWP](https://en.wikipedia.org/wiki/Universal_Windows_Platform).