JavaScript, Now with Native Desktop Power

AdvantageBuilder brings modern JavaScriptV8 to the Windows desktop. Build native GUI applications, connect to local or server databases, schedule tasks, call .NET APIs, and use AI helpers — all with the language you already know.

No bundling. No Chromium. No native modules. Just JavaScript and real Windows capabilities.

See JavaScriptV8 in Action

Watch how AdvantageBuilder creates a native Windows app using JavaScript — GUI, database access, scheduling, and AI helpers.

Your First Native JS App

Here’s how simple it is to create a native Windows dialog using JavaScriptV8:


[!JAVASCRIPTV8]

// Load helpers
let winformsHelper = eval(getSourceCode("WinFormsHelper", "Macro Main Helpers\\Library", "WinFormsHelper"));
var AIHelper = eval(getSourceCode('AIHelper', 'Macro Main Helpers\\Library', 'AIHelper'));

// Configure AI (mock provider)
AIHelper.Provider = "Mock";
AIHelper.Model    = "mock-model";
AIHelper.ApiKey   = "Your-API-Key";

// Create a WinForms dialog
let mainForm = winformsHelper.CreateForm("AdvantageBuilder JS Demo");

// Add a multiline textbox
let txtInput = winformsHelper.AddTextBox(mainForm, "Enter text:", "");
winformsHelper.SetToMultilineTextBox(txtInput, 80, 300);

txtInput.Text = "AdvantageBuilder lets JavaScript build real desktop apps.";

// Finalise layout
winformsHelper.FinaliseDialogForm(mainForm);

// Show dialog
if (mainForm.ShowDialog().ToString() == "OK")
{
    let userText = txtInput.Text;

    // --- Database (SQLite) ---
    let connString = "Data Source=C:\\Demo\\data\\Demo.sqlite;Version=3;";
    let connType   = 6; // SQLite

    let sql = "INSERT INTO Logs(message) VALUES('" + userText + "')";
    let recordsAffected = ExecuteNonQuery(sql, connType, connString);

    // --- Mock AI helper ---
    let summary = AIHelper.Send("Summarize: " + userText);

    // --- File write using .NET ---    
    let File = clr.System.IO.File;
    let Path = clr.System.IO.Path;

    let base = Path.GetDirectoryName("C:\\Demo\\data");
    let outFile = Path.Combine(base, "last_summary.txt");

    File.WriteAllText(outFile, summary);

    // Output
    writeln("You entered: " + userText);
    writeln(`Inserted ${recordsAffected} record(s).`);
    writeln("AI summary: " + summary);
}

// Cleanup
winformsHelper.CleanUpForm(mainForm);

[!/JAVASCRIPTV8]
      

For more examples, visit the Quick Start guide.

Want to explore everything JavaScript can do inside AdvantageBuilder? Visit the full overview: What AdvantageBuilder Enables for JavaScript Developers.