Skip to content

Latest commit

 

History

History
125 lines (87 loc) · 3.5 KB

File metadata and controls

125 lines (87 loc) · 3.5 KB

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".