NAppGUI is a professional SDK to build cross-platform desktop applications using The C Programming Language. C++ is supported but not required, an entire program can be written using ANSI C90. NAppGUI has built as a lightweight layer on top of the native APIs, that allows create portable programs extremelly fast and small without any external dependency. All requirements come standard with the operating system itself.
Get the Demo
You can start testing the demo applications on Windows, macOS and Linux. If you are a brave person and want create your own Hello World! program, you can download the free SDK package, that includes the full version for Visual Studio 2019.
A set of demo applications for Windows, macOS and Linux is available here:
Download Demo Applications
A binary free version of the SDK for Visual Studio 2019 is available here:
Download NAppGUI SDK
All platforms, all compilers
NAppGUI supports all Visual Studio versions since 2005 and Xcode since 3.0 (2007). Programs will run in Windows XP, Mac OSX Leopard and above. The SDK detects modern compilers and operating systems, using the newest features when are available.
Updated to VS2019, Ubuntu 20.04 LTS, macOS Big Sur and Apple M1.
Powerfull dynamic GUIs
User interfaces are live objects in constant change. Resizable windows, responsive panels, runtime translations, font changes, etc are crappy to manage from "static" visual resource editors. NAppGUI provides its own layout-based gui composer that recomputes any change taking account the real size of native controls. All applications will have the native look and feel of the operating system where are running.
static void i_OnLangPopUp(Ctrl *ctrl, Event *e)
{
const EvButton *params = event_params(e, EvButton);
static const char_t *LANGS[] = { "en_US", "es_ES", "pt_PT", "it_IT", "vi_VN", "ru_RU", "ja_JP" };
gui_language(LANGS[params->index]);
}
No .NET, no .DLLs, no MFC, no VC++ Redist, no Runtime environments, no Swift
NAppGUI only calls the Win32 API and GDI+. Doesn't use .NET, MFC, ATL and any other kind of redundant technology. The static linking will produce self-contained small binaries. NAppGUI neither use STL, only a small subset of The Standard C Library that also will be linked to the final product, so any VC++ Redistributable package will be required.
Your C program will compile without changes in modern Macs, taking advantage of latests Apple SDKs without porting them to Swift or Objective-C.
Licensing
NAppGUI has been developed and documented thanks to the effort of a single programmer. It's a proprietary software and, at the moment, the source code is not available. Our resources are very limited and we'll give priority to commercial collaborations. Please contact us for more information.