Skip to content

tak2hu/NanaonanApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NanaonanApp 💬

Nanaonan (Sundanese: "What is this?" / "What on earth?") — A lightweight, native WhatsApp desktop client built with Qt6/QML and Go.

🚀 No Chromium. No Electron. Just pure native performance.

RAM Usage License Platform


🔍 Overview

Are you tired of your messaging app consuming 2GB of RAM just to tell your mom you'll be home late for dinner? Do you enjoy the feeling of your laptop fans reaching terminal velocity because you opened a group chat?

NanaonanApp is a WhatsApp desktop client that connects to WhatsApp's servers using the whatsmeow library. Unlike official WhatsApp Web/Desktop that uses a browser engine (Chromium), this application is built natively using:

  • Qt6/QML for the user interface
  • C++ for application logic and data models
  • Go for WhatsApp protocol implementation (via whatsmeow)
  • CGo bridge to connect C++ and Go

Performance Benchmarks (The "Actual Reality" Edition)

Metric Electron-based Apps NanaonanApp
RAM Usage 1.5 - 2.5+ GB ~175 MB
Binary Size 200+ MB ~50 MB
CPU Idle 5-15% <1%
Startup Time 3-8 seconds <1 second

🔧 Prerequisites

Required Software

Software Version Purpose
Qt6 6.5+ UI framework (Widgets, Quick, Qml, Sql, Multimedia)
Go 1.21+ WhatsApp protocol implementation
CMake 3.16+ Build system
GCC/MSVC C++17 C++ compiler
libqrencode 4.0+ QR code generation
SQLite3 3.x Database (via go-sqlite3)

Go Dependencies (auto-downloaded)

  • go.mau.fi/whatsmeow - WhatsApp Web API
  • github.com/mattn/go-sqlite3 - SQLite driver
  • google.golang.org/protobuf - Protocol buffers

🔨 Building

Linux

# Install dependencies (Ubuntu/Debian)
sudo apt install qt6-base-dev qt6-declarative-dev qt6-multimedia-dev \
                 libqrencode-dev cmake build-essential golang

# Clone repository
git clone https://github.com/yourusername/NanaonanApp.git
cd NanaonanApp

# Initialize whatsmeow submodule
git submodule update --init --recursive

# Build
mkdir build && cd build
cmake ..
make -j$(nproc)

Windows (MSVC)

# Install Qt6 from qt.io
# Install Go from golang.org
# Install CMake

# Clone and build
git clone https://github.com/yourusername/NanaonanApp.git
cd NanaonanApp
git submodule update --init --recursive

mkdir build
cd build
cmake .. -G "Visual Studio 17 2022"
cmake --build . --config Release

Windows (MinGW)

# Using MSYS2/MinGW64
pacman -S mingw-w64-x86_64-qt6-base mingw-w64-x86_64-qt6-declarative \
          mingw-w64-x86_64-cmake mingw-w64-x86_64-go

mkdir build && cd build
cmake .. -G "MinGW Makefiles"
mingw32-make -j$(nproc)

🚀 Running

# From build directory
./NanaonanApp

# On Windows
.\NanaonanApp.exe

🚧 Strategic Feature Postponement (The TODO List)

Our TODO.md is not a list of failures. It is a Roadmap of Future Greatness.

By not implementing 80% of WhatsApp's features yet, we have achieved a level of Minimalism™ that Silicon Valley can only dream of. No stickers? That's "Visual Detox Mode". No group settings? That's "Anarchy-Driven Development".

About

The actually native WhatsApp dekstop app, doesn't hogs all the RAM.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors