Compile native applications with Javascript, CSS, HTML5 and node.
Tint is a slightly modified version of NodeJS, it allows you to go beyond the shell command of node and turns javascript based node applications into fully functional desktop applications. It's also backwards compatible with node 0.10.
You can perform various things you'd never be able to do normally with node. For example:
require('Application');
Window = require('Window');
var mainWindow = new Window();
mainWindow.title = "I'm a native window built in node.";
Tint contains a set of native components such as Window, Toolbar, Button, WebView, Text Inputs, Panels, Menus, etc. It also allows you to integrate with the OS on many levels and supports alerts and native notifications.
There are many alternatives to creating javascript based applications, phonegap, tidekit, tidesdk, cordova based sets, node-webkit, appjs and a few others. Tint isn't a hybrid approach, it doesn't try to mask javascript as a native API. Tint uses language bridges to natively represent real C++, C# and Objective-C objects directly in javascript safely. This allows developers to create applications that integrate into the OS, but also allows developers to enhance its capabilities beyond what the Tint SDK allows. Make your own widgets, create your own OS integration methods, if you know C++, C, C# or Objective-C you have no limitations.If you're just interested in creating cross-platform apps with javascript? You're in luck, there's a wide variety of components and classes using just javascript to choose from.
You can even create custom components and views that are cross-platform compatible in javascript.
This is intended as a preview release for Tint 2, currently only supported on OSX. Preview releases for Windows, iOS, and Android are in tests at the moment. Tint is licensed under the MIT license.You'll need OSX 10.7 or higher and Xcode in addition to the Xcode bin utils package.
mkdir tint
cd tint
git clone https://github.com/trueinteractions/tint2.git .
./config.sh
./build.sh
./runtests.sh
After building you'll find the binary in 'build/Release/tint'. You can also use the Xcode project files contained in the 'build' directory. Optionally you can use ninja build files that are generated in 'build/out/Release' and 'build/out/Debug'.
You can run applications using:> tint some.js
Or you can run it in interactive mode.
> tint
In addition applications can be packaged as normal apps using a shell package system (more instructions coming on this).
- Application
- Application Schema (app:// protocol for packaged apps)
- Button
- Dialogs (Alerts, sheets, etc)
- DropDown
- FileDialog (Save/Open)
- Menu (and MenuItem)
- Notification
- PopOver
- ProgressBar
- SelectInput (Combo Boxes)
- SearchInput (look ahead while typing)
- Status Bars (System Tray's)
- TextInput
- Toolbar
- WebView (WebKit)
- Window
- process.bridge (Objective-C objects and execution bridge in OSX, C# objects and execution bridge in Windows)