[ [English] ] | [ 中文 ]
WebIDE is a native Android Integrated Development Environment (IDE) for web front-end development. Built entirely with Jetpack Compose, this project implements a complete workflow ranging from code editing to building APKs directly on your mobile device.
This is an experimental engineering project; its core architecture and code logic were collaboratively completed by multiple AI models (Claude, Gemini, DeepSeek).
The main code is located in app/src/main/java/com/web/webide/. The directory structure and functions are as follows:
com.web.webide
├── build/ # Custom APK build system
│ ├── ApkBuilder.java # Core logic for compiling and packaging APKs
│ ├── ApkInstaller.kt # Handles APK installation
│ └── ... # Encryptor, ZipAligner
├── core/ # App-specific core infrastructure
│ └── utils/ # Utilities (Backup, CodeFormatter, WorkspaceManager, etc.)
├── files/ # File system module
│ ├── FileIcons.kt # Icon resource mapping
│ └── FileTree.kt # File explorer UI and logic
├── ui/ # Interface layer (Jetpack Compose)
│ ├── components/ # Shared UI components
│ ├── editor/ # Code editor screen
│ ├── preview/ # Web preview screen
│ ├── settings/ # Application settings and about screens
│ ├── terminal/ # Terminal emulator (Alpine Linux integration)
│ ├── theme/ # Design system (Colors, Typography)
│ └── welcome/ # Welcome/Onboarding screen
Key Assets (app/src/main/assets/):
textmate/: TextMate grammars and configurations for syntax highlighting.queries/: Syntax tree queries.init-host.sh,init.sh,proot,rootfs.bin: Files for the embedded Alpine Linux environment.
- Syntax Highlighting: Based on TextMate grammar files, providing perfect support for HTML, CSS, JavaScript, and JSON.
- Code Completion (LSP): Built-in language servers for smart completion and diagnostics, with theme-aware popup colors that adapt to light/dark mode.
- Project Management: Full file system access permissions, supporting the creation and management of multi-file Web projects.
- Real-time Preview: Integrated WebView preview environment supporting JavaScript interaction testing.
- Terminal Emulator: Embedded Alpine Linux environment (via proot) with a terminal, multi-session management, and virtual keys for Ctrl/Alt/Shift/Fn.
- Modern UI: Written 100% in Kotlin and Jetpack Compose, supporting dynamic themes.
- Git Integration: Built-in Git version control with a visual commit history graph, supporting Clone, Commit, Push, Pull, and Branch management. Automatically ignores sensitive files and build artifacts.
- Localization (i18n): Strings live in a dedicated
:i18nmodule, currently shipping Chinese and English. Adding a language only requires dropping a newvalues-<locale>/strings.xml— contributions are welcome.
We are actively improving WebIDE. Here are the main plans and current challenges:
- More Languages: The i18n module is ready for community translations (Japanese, French, Traditional Chinese, etc.).
- Custom Syntax Highlighting: Allow users to import and customize TextMate grammars and color themes.
- Cloud Resources & Size Optimization: The biggest challenge today is the large APK size caused by the embedded Linux environment. We plan to move large assets like
rootfs.binto cloud storage for on-demand download, significantly reducing the initial install size.
- QQ Group: 1050254184
- TG Group: Android_For_WebIDE
WebIDE - A powerful IDE for Android web development.
Copyright (C) 2025 如日中天 <3382198490@qq.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

