NebiOS#
NebiOS Applications#
How NebiOS Apps Work#
NebiOS applications follow a multi-stage process to ensure security, performance, and compatibility with the system:
Stage 1 - `napp-run`: Responsible for execution and permission selection. The user selects permissions for the application, ensuring that no unauthorized access to system resources occurs.
Stage 2 - `napp-container`: This tool handles binary caching and containerization, which ensures the application runs in a secure and isolated environment.
Stage 3 - Application: The application itself, utilizing resources permitted by the user and running within the secure container.
Resources: The application interacts with the device’s nodes, folders, files (libraries, some system binaries, and user files), and the NebiOS operating system (GNU/Linux).
Libraries and IDEs#
Developers can use GTK+3 (highly recommended), Qt, Tkinter, or other libraries to build applications specifically for NebiOS.
Advantages of GTK+3:#
Complete Compatibility: Fully integrates with NebiOS.
Effortless Native Look: Applications seamlessly adapt to the system’s native theme, ensuring a consistent and beautiful user interface.
Responsive Layouts: Simplified layout options make it easy to create responsive designs, which is especially important for NebiOS as it evolves to support various form factors.
Minimal Application Size: Due to deep system integration, applications built with GTK+3 tend to have a significantly smaller footprint.
Disadvantages of GTK+3:#
Linux-only: GTK+3 is designed primarily for Linux, and porting applications to other platforms like macOS and Windows can be challenging.
Advantages of Qt:#
Cross-platform: Qt allows you to create applications that run on multiple operating systems.
Ideal for Complex Projects: Qt’s flexibility is perfect for larger, more complex applications.
Disadvantages of Qt:#
Less Aesthetic: Qt applications can look out of place compared to native applications.
Larger Size: Qt applications tend to have a larger footprint compared to GTK+3 applications.
Note: Since NebiOS does not natively include QEMU, you must bundle it with your application. You can download a QEMU AppImage from [this link](lucasmz1/Qemu_Appimage) and extract it using –appimage-extract, then integrate it into your application.
Supported IDEs for NebiOS:#
Nedev (NebiOS Exclusive): Specifically designed for NebiOS development.
VS Code
GNOME Builder
PyCharm
CLion
With the exception of GNOME Builder, all IDEs are available through the Bundle Store. GNOME Builder can be installed via apt.
Nedev vs PyCharm:#
Nedev Advantages: - Easy to use. - Direct support for GTK+3 autocompletion. - Low resource usage. - Keyboard-centric run target customization. - Integrated with NebiSoft services and NebiOS APIs.
Disadvantages: - Still under development. - Less full-featured than PyCharm, which may cause difficulties in complex projects.
PyCharm Advantages: - Great for more advanced projects. - Stable and reliable.
Disadvantages: - High resource consumption (due to being based on IntelliJ, a Java framework). - Not ideal for lower-end systems or those with limited RAM. - More mouse-centric in terms of GUI editing. - Requires stub generation for GTK+3 integration.
Create Your Own App#
Follow these steps to create your first NebiOS application using Nedev:
Step 1: Install Nedev#
Install Nedev from the Bundle Store. Note that Nedev requires NebiOS 3.2 or later to run smoothly.
Open Nedev and follow the on-screen setup instructions.
Step 2: Create a New Project#
Once the necessary libraries and tools are installed, the start screen will appear.
Click on Create New Project, select your programming language (Python, C, etc.), and choose your desired interface library (GTK+3, Qt, TUI, Web App).
Set the project location and be sure not to use spaces in the project name. Instead, use underscores (_) or hyphens (-). This is crucial for code compatibility.
Step 3: Start Developing#
You can access help documentation for different programming languages and interface libraries from the Help tab in the left-hand panel.
Step 4: Test Your Application#
You can test your application by running make run in a new terminal tab or by clicking the Run button in the Header Bar.
Step 5: Publish Your Application#
With MaintainHub temporarily down, publish your applications as NebiCloud share link.
Send the download link to info@nebisoftware.com. Remember that this is not a bot or spam; one person monitors this email. Be sure to follow up on responses.