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.
WebIDE
WebIDE is an online environment for developing Node.JS, progressive web apps (PWA), websites, etc.
Node.js and databases
WebIDE is a environment where you can run Node.JS code, 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
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)
HTML & CSS
- Automatic indentation
- Highlights misspelled CSS rules and missing semicolon
- Auto-close open HTML tag when pressing Tab
- HTML tag coloring inside PHP/JS strings and in JSX
- Autocomplete HTML tags
- Snippets (Type <!DOCT and press Tab)
- Live preview with automatic refresh
- Ctrl-click in preview to go to the CSS-rule
- Live preview works with static site generator (regenerates the page when saving)
Edit files remotely
- Connect to FTP/FTPS/SFTP servers.
- Dropbox
- Google Drive
- 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 and double click to go to location in source file.
- 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
- Dropbox and 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)
- Open any Github file by replacing github.com with webide.se/github in the URL
Despite the above features, the editor is pretty fast and light-weight. Total download size is only 2 MB.
Web site editor
Possible to edit web sites in "what you see is what you get" (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 !?
It has an incremental parser (runs client side, so works offline) that parses the text/code on every key stroke, which enables stuff like fully automatic code/block indentation.
Relative small footprint if run in the browser: Only 2MB download, and 2-8 MB RAM usage depending on browser
Can run on many browsers: Internet Explorer, Safari, Firefox, Chrome and mobile variants
Supports editing code on a mobile phone (it has a custom virtual keyboard)
Written in simple "vanilla" JavaScript, which makes adding new functionality as easy as editing a static web site, just refresh/reload to see the changes. (if you are working on a plugin, press F7 key to hot reload the plugin without refreshing.)
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 rendering, is implemented via plugins.
Each plugin is an 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.
The latest desktop release can also be downloaded from here.