If you run into troubles, got a suggestion, or issue, please e-mail editor@webtigerteam.com

Make a web-site or app, and make it run live in the cloud with one click, without having to download, setup, or configure anything.

- Try it now

# WebIDE

WebIDE is an online environment for developing Node.JS, progressive web apps (PWA), websites, blog, etc.

### Node.js and databases

WebIDE is a environment where you can not just run Node.JS code, you can also create databases, and push your creations into "production" where they run live in the cloud without going to sleep.

When you run a Node.js Script, a HTTPS endpoint is automatically created so you can access it from app.user.webide.se (There is also a wwwpub folder where you can put static web content, accessible from user.webide.se.)

### Self-hostable

- Separate backend/frontend lets you run the server on any PC/VPS/server (npm install -g webide.se) and connect to it from anywhere
- The server can be set up for multiple users. Where each user share the same environment, but get separated isolated work spaces.

### Runs everywhere

- You can run the (front-end) client on any device that has a HTML compatible web browser. WebIDE supports Chromebook's, Smart-phones, tablets, and even smart-TV's and watches (if they have a built in web browser)
- It's possible to run the editor embedded on a web site.
- You can of course also run it locally on your own developer machine.

### JavaScript support

- Incremental JavaScript parsing
- Function list for quick navigation
- Automatic indentation (WebIDE is the only editor I'm aware of that has fully automated indentation)
- Auto-completion and function-argument hinting.
- Shows console.log messages inside the editor
- Run Node.JS scripts.
- Automatic quote insertion
- Semantic coloring for strings, comments and HTML tags (also inside strings/templates)

### Edit files remotely

- Connect to FTP/FTPS/SFTP servers.
- Google Drive support
- VNC support (for connecting to GUI based servers and desktops)

### Additional features

- Grouped file tabs (grouped by folder)
- Built in static site generator with scripting capabilities using JavaScript, with support for Node.JS modules.
- Live preview and WYSIYG editing.
- Hold down shift and use scroll wheel to change any number (nice for live preview)
- Zoom out `Alt+Z` with markdown topics highlighted for faster navigation.
- Integrated source control: Commit from within the editor and show annotations.
- Built in virtual keyboard
- Able to run emulators and GUI applications (via VNC).
- Floating windows: De-attach a file and have it in another window which can be moved to a different monitor.
- Spell checking with multiple languages and camelCase support.
- Open files from any remote machine, for example when SSH:ed type webider /path/to/file and it will open in the editor
- Automatically wrap text `Ctrl+W`
- Modal/modes (support for VIM key bindings). `Ctrl+M`
- Print code to PDF file
- Collaborate editing: Edit the same document with others - at the same time!
- Integrated terminal emulator
- Able to open and edit huge files several GB big
- A simple, yet powerful plugin API makes it fast and simple to add new features using vanilla JavaScript.
- Plugins/extensions are hot loadable, no need to restart the editor
- File explorer. `Ctrl+E`
- Go to any file. `Ctrl+O`
- Automatic CSS refresh in preview mode.
- .diff file coloring.
- Find `Ctrl+F`
- Find in any file. `Ctrl+Shif+F`
- Function to fork any web site; useful for tutorials and examples. Append ?fork=url to the query string
- Full screen support `F11`
- Google drive integration
- Quick file open/search `Ctrl+O`
- Goto line `Ctrl+G`
- Goto character `Ctrl+H`
- Lorem ipsum generator.`Ctrl+L`
- Support both LF and CRLF (unix and Windows line breaks) and able to convert between them
- Parentheses highlighting
- FTP,FTPS,SFTP protocol support
- Highlight current line
- Fading text in the margins.
- Caret hides when you type
- Double click to highlight words.
- Line numbers
- Plugins can render info bubbles.
- Speech synthesis reads out the current line, word and caret character. (append ?voice to the query string)
- Pipe a text stream to the editor from a terminal, or from a different machine.
- Touch scrolling
- Undo/redo `Ctrl+Z`/`Ctrl+Y`
- Indention line helpers `Ctrl+I`
- Mouse and touch screen support
- Text selection using keyboard or mouse
- Dark theme support (add ?darkTheme to query string)

Despite the above features, the editor is pretty fast and light-weight. Total download size is only 2 MB.

### Web site editor

The editor can be open web sites in WYSIWYG mode, with GUI buttons for preview and publishing using the built in static site generator ...

## Simple work-flows

For example when using the built in static site generator together with a software repository, WebIDE will automatically pull new updates from the repo, merge if necessary, and ask the user to write a commit message before publishing.

## What makes WebIDE better then existing editors/IDE's, or what does it do differently !?

WebIDE is written by one guy in simple "vanilla" JavaScript. It's easy to add new functionality, and all you have to do to see the new changes is to refresh/reload, there is no build/compilation step. Or if you are working on a plugin, press `F7` key to hot reload the plugin without refreshing.

The editor does Not use the document object model (DOM) or "content-editable" for text rendering! WebIDE uses 2d Canvas, which is faster then the DOM.

When editing a file, it's parsed client-side an every key stroke, which enables automatic indentation, and "IDE" features like function-list and auto-complete.

You can run the cloud editor on your computer, mobile phone, or your own server, not only the client, but also the server. Eg. you could host the editor on your mobile phone or laptop, then let others connect to it via Wifi.

## Why are you not working on something more important, text-editing is a solved problem!?

We think there are room for improvements to make writing code easier and more fun, especially for beginners.

And we want to bring professional tools like source control, and static-site-generation to organisations to help them more efficiently manage, share and collaborate with documents and (public or intranet) web sites.

We think high level programming and web-development have become too complex. We want to make development easier and more simple.

Many people have a computer in their pocket. We want to make it easier to develop using a smartphone.

The web environment and JavaScript allows rapid development and we would like to experiment with stuff like speech-to-text, and visual aids to show which parts of the code does what, what parts are hot, the scope of variables etc.

## WebIDE Architecture

WebIDE is made in JavaScript, HTML and CSS. And it use hardware accelerated HTML 2d Canvas for text rendering.

WebIDE's architecture is plugin and event driven, which makes it fun and easy to extend with new features.

Back-end and front-end is separated in order to make everything work in the browser. The back-end is a Node.JS server. And the client (front-end) can be any browser or nw.js

WebIDE has a small core of only a few files. All functionality, even the rending, is implemented via plugins.
Each plugin is a independent unit and do not depend on, or interfere with other plugins.
Plugins can be hot loaded, so while making a plugin, you can reload the plugin without reloading the editor.

### Run WebIDE locally

Skeptical about running the editor in the cloud? You can install the editor on your own workstation or server!

First install nodejs, (sudo apt install nodejs) or download from Node.js website.
With nodejs you should get a program called npm. Open a terminal/command-prompt and type: npm install -g webide.se.
To run the editor type npm start, or if you installed globally (-g flag) webide [path/to/file].
Or if you only want to run the server and open the editor in a browser, type npm run server.

Create an account on webide.se

- ⬅Go back
- ⬆Index