Universal Platform
Platform | Code | Views | Styling | Custom bindings | Custom styling |
---|
iOS | JavaScript | XML | NML | Swift / ObjC | UIKit |
Android | Java / C | android.view |
Browser | JavaScript | HTML & CSS |
Browser WebGL | Pixi.js |
Node | |
NML
- Neft Marked Language - Simple language used to describe styles, bindings and animations with native controls.
What Neft does?
- Runs your JavaScript code on different platfoms.
- Renders basic elements and native views through extensions.
- Supports communication with native code.
- Allows to write component-based views in XML and JavaScript.
- Provides styling engine.
What Neft does NOT?
- Supports browser APIs. Neft is not a browser.
- Understands CSS. Neft has his own styling engine. CSS is too complex to implement on all native platforms. Instead you have more dynamic language but with less functionalities.
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.
Installation
npm install -g neft
First app
neft create MyApp
cd MyApp
neft run node browser --watch
... and play with MyApp/views/index.html
.
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
You can help with making Neft brilliant. Contribute.
Always create an issue if something doesn't work or can be improved.
Neft is ours ;)