Universal Platform
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
bin
cli
docs
examples
extensions
lib
manifest
media
native
runtimes
scripts
src
static
tests
.codeclimate.yml
.editorconfig
.gitignore
.npmignore
.travis.yml
CONTRIBUTING.md
LICENSE
README.md
appveyor.yml
book.json
coffeelint.json
index.coffee
package-lock.json
package.json
testing.yml

README.md

Neft.io logo

Universal Platform

Platform Code Views Styling Custom bindings Custom styling
iOS JavaScript XML NML Swift / ObjC UIKit
Android Java / C android.view
OSX Swift / ObjC Cocoa
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?

  1. Runs your JavaScript code on different platfoms.
  2. Renders basic elements and native views through extensions.
  3. Supports 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. 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 html --watch

... and play with MyApp/components/index.xhtml.

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

MacOS native app

Download XCode (8.1 or newer) on your Mac computer and run:

neft run macos --watch

WebGL app

neft run node webgl --watch

Documentation

Contribute


Gitter Twitter npm version Build Status Build status