Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

WebVB Studio Example Projects

About WebVB Studio

WebVB Studio is a web-based Visual Basic 6 and Python IDE that runs entirely in the browser. It lets you design forms visually with a drag-and-drop designer, write code in VB6 or Python, and run your applications instantly -- no installation or backend server required.

Key Features

  • Visual Form Designer -- Drag-and-drop controls onto a WYSIWYG canvas
  • Dual Language Support -- Write in Visual Basic 6 or Python (via Pyodide/WebAssembly)
  • 30+ Built-in Controls -- Buttons, TextBoxes, Labels, ListBoxes, Tables, Charts, Gauges, Canvas, and more
  • Database Support -- SQLite (sql.js) and key-value Database controls
  • REST API Client -- GET, POST, PUT, DELETE with headers, auth tokens, and JSON parsing
  • MQTT / IoT Support -- Full MQTT 3.1.1 client over WebSocket for real-time dashboards
  • AI Assistant -- Code generation powered by Google Gemini and Anthropic Claude
  • Report Designer -- Printable reports with grouping, filtering, and expressions
  • Cloud Storage -- Dropbox integration via OAuth PKCE
  • Built-in Debugger -- Breakpoints, step-over, step-into, variable watch

Everything runs client-side in the browser using React, TypeScript, WebAssembly (Pyodide for Python, sql.js for SQLite), and the Web Crypto API.

Live App: app.webvbstudio.com


About This Repository

This repository contains all 37 WebVB Studio example projects exported as .webvb (VB6) and .pyvb (Python) project files, organized into separate folders by language.

Each example includes a fully functional form layout with controls and ready-to-run code in both VB6 and Python.


How to Use

  1. Go to WebVB Studio
  2. Click File > Open (or Ctrl+O)
  3. Select any .webvb or .pyvb file to load the project
  4. Click Run to execute the example

Or load any example directly via URL:

https://app.webvbstudio.com?example=<example-id>

Folder Structure

exported-projects/
├── vb/                          # VB6 projects (.webvb)
│   ├── getting-started/
│   ├── forms-input/
│   ├── data-tables/
│   ├── networking/
│   ├── database/
│   ├── reports/
│   ├── utilities/
│   ├── security/
│   ├── advanced/
│   └── games/
│
├── python/                      # Python projects (.pyvb)
│   ├── getting-started/
│   ├── forms-input/
│   ├── data-tables/
│   ├── networking/
│   ├── database/
│   ├── reports/
│   ├── utilities/
│   ├── security/
│   ├── advanced/
│   └── games/
│
└── docs/
    └── README.md                # This file

Examples

Category Examples
getting-started Calculator, To-Do List, Guess Number, Dice Roller
forms-input Pizza Order, Interest Calc, Invoice Calculator, Age Calculator, Color Mixer, Rich Text Editor
data-tables CSV Viewer, Sales Charts, DataGrid + Pandas
networking Mini Browser, API Client, Inet Advanced, JSON Parser, REST API Client, VRM API (Personal Token), API Login (Bearer Token), Dropbox Cloud Files, MQTT IoT Dashboard
database Contact Manager, Product Database, SQLite Database
reports Sales Report, Grouped Report, WebShop Report
utilities Timer & Clock, Image Viewer, Notepad, String Functions
security Encryption & Hashing
advanced UserControl Demo, Webshop Demo, AI Assistant
games Canvas Bouncing Ball

File Formats

  • .webvb — VB6-style project (default language: VB)
  • .pyvb — Python project (default language: Python)

Both formats contain identical controls and UI layout. The only difference is the default language when opened. Each file is a self-contained JSON document with the following structure:

{
  "forms": [{ "id": "...", "name": "Form1", "controls": [...], "vbCode": "...", "pyCode": "..." }],
  "activeFormId": "...",
  "language": "vb | python",
  "projectProperties": { "name": "...", "description": "...", "author": "WebVB Studio", ... },
  "version": "3.0"
}

Practical Examples

Here are some highlighted examples to get you started:

Calculator (Getting Started)

A simple four-function calculator. Great for learning the basics of form design, button events, and display updates.

vb/getting-started/calculator.webvb
python/getting-started/calculator.pyvb

What you'll learn: Button click events, string-to-number conversion, updating a Label control.

To-Do List (Getting Started)

A task manager with add, remove, and clear functionality using a ListBox control.

vb/getting-started/todo-list.webvb
python/getting-started/todo-list.pyvb

What you'll learn: ListBox operations (AddItem, RemoveItem, ListCount), TextBox input handling.

REST API Client (Networking)

A fully featured HTTP client that supports GET, POST, PUT, and DELETE requests with custom headers and JSON body.

vb/networking/rest-api-client.webvb
python/networking/rest-api-client.pyvb

What you'll learn: Inet control for HTTP requests, JSON parsing, working with headers and response data.

SQLite Database (Database)

Create tables, insert records, and run SQL queries using an in-browser SQLite database.

vb/database/sqlite-database.webvb
python/database/sqlite-database.pyvb

What you'll learn: SQL statements (CREATE TABLE, INSERT, SELECT), binding query results to a DataGrid control.

MQTT IoT Dashboard (Networking)

A real-time IoT dashboard that connects to an MQTT broker over WebSocket, subscribes to topics, and displays live sensor data.

vb/networking/mqtt-iot-dashboard.webvb
python/networking/mqtt-iot-dashboard.pyvb

What you'll learn: MQTT connect/subscribe/publish, real-time event handling, Gauge and Chart controls.

Webshop Demo (Advanced)

A complete e-commerce storefront with a product catalog, shopping cart, and checkout flow.

vb/advanced/webshop-demo.webvb
python/advanced/webshop-demo.pyvb

What you'll learn: UserControls for reusable components, complex state management, multi-form navigation.

Canvas Bouncing Ball (Games)

An animated bouncing ball rendered on a Canvas control using a Timer for the game loop.

vb/games/canvas-bouncing-ball.webvb
python/games/canvas-bouncing-ball.pyvb

What you'll learn: Canvas drawing (circles, lines, rectangles), Timer-based animation loops, collision detection.


Total: 37 examples (74 project files)


License

Example Projects (This Repository) -- MIT License

The example project files (.webvb and .pyvb) in this repository are released under the MIT License. You are free to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of these example projects.

MIT License

Copyright (c) 2026 WebVB Studio

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

For more information about WebVB Studio, visit webvbstudio.com.

About

repo for the webvbstudio framework

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors