A native desktop IDE architecture for offline web development, rebuilt around C++, Qt 6, CEF, and SQLite.
- Primary: Windows desktop installer (
.exe) - Future: iPhone / iPad adaptation (
.ipa)
- Professional multi-tab code editor
- Workspace and project explorer
- Embedded local SQLite database tooling
- Live browser preview with Chromium-based rendering
- Inspect element and DevTools integration
- Resizable docked split views
- Real-time file and database synchronization
- Offline-first runtime model
web-ide/
├─ CMakeLists.txt
├─ cmake/
├─ third_party/
├─ apps/desktop/
├─ src/
│ ├─ core/
│ ├─ shell/
│ ├─ workspace/
│ ├─ editor/
│ ├─ preview/
│ ├─ database/
│ ├─ runtime/
│ ├─ sync/
│ └─ shared/
├─ plugins/
├─ tests/
└─ packaging/
Qt Widgets, QMainWindow, QDockWidget, and QSplitter provide the native shell, docking, layout presets, menus, and window-level command routing.
The shell now uses a VS Code-like dual left sidebar:
- Outer activity bar (icon-only): Explorer, Search, Git, Database, Runtime, Preview, Network, DevTools, Extensions, Settings
- Inner dynamic sidebar: one activity panel visible at a time with persisted state and keyboard shortcuts
workspace: project lifecycle, filesystem access, watcher orchestrationeditor: tabbed editing, document buffers, language-service bridgepreview: embedded browser host, session routing, live reload, devtoolsdatabase: SQLite connections, query execution, editable result modelsruntime: runtime discovery and process orchestration for PHP/Node/Python and local server managementsync: change normalization, conflict policy, cross-module propagation
- CEF embedding hooks in
src/previewandcmake/CEFConfig.cmake - SQLite services in
src/database - File and DB watchers in
src/workspaceandsrc/database - Core messaging, commands, logging, and scheduling in
src/core
plugins/sdk exposes the starter plugin contract and plugins/CMakeLists.txt is the module registration point for future packaged plugins.
- Editor save ->
DocumentManager->FileSystemService->FileWatcherService->SyncCoordinator->LiveReloadController->PreviewPane - File tree action ->
WorkspaceManager/FileSystemService->EditorTabManagerrefresh ->SyncCoordinator - SQL execution ->
QueryEngine->SQLiteConnectionPool->TableModelAdapter->DatabaseWatcherService->SyncCoordinator - Preview inspect ->
DevToolsManager->CEFHostWidget - Long-running work ->
TaskScheduler, with events broadcast overEventBus
Requires Qt 6 development packages installed and, optionally, CEF assets staged in third_party/cef.
cmake -S /absolute/path/to/web-IDE -B /absolute/path/to/web-IDE/build
cmake --build /absolute/path/to/web-IDE/buildUseful in environments without Qt/CEF installed.
cmake -S /absolute/path/to/web-IDE -B /absolute/path/to/web-IDE/build -DWEBIDE_ENABLE_DESKTOP_APP=OFF
cmake --build /absolute/path/to/web-IDE/build