neft-io
Neft.io

Updated a month ago

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?

  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 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 ;)