I love git and I hate git. It's so confusing unless you really wrap your head around what the commands are doing. I recently looked into ungit and it really helped me understand what's happening.
One thing not mentioned in this list that I use is Codio. It runs a VM for you that your code runs on as the editor is open. So you can connect live and test as you code without adding a deployment step.
http://jsfiddle.net/ is a limited test-case site but can be used. Besides that, there are a number of free online IDEs that all offer you server space for running and testing web pages.
I'm personally liking https://codio.com/
You might want to check out https://codio.com, they allow you to create one free project (project = a VM). Took me about 5 minutes to set up the "hello world" app: http://mineral-enjoy.codio.io:6464/ (*edit: looks like the box only stays up while you're logged in)
Couple of notes on it:
bin/
directory ($HOME/.parts/packages/python2/2.7.8/bin)Tons of docs on their site, the "Features" page gives a decent rundown. I think the online-coding solutions are going to be your best bet, whether PythonAnywhere or Codio, as you'll be able to spend more time focusing on Flask, and everyone will have the same starting point.
I don't know if a Surface is powerful enough or even capable of running VirtualBox/Vagrant. If you have a persistent internet connection then you might want to consider something like Cloud9 https://c9.io/ or Codio https://codio.com/
This is the third post I've seen in a day about people having headaches trying to run Ruby on Windows. It's less than ideal situation but I'll send you backwards in time to see the comments I've made on this subject if you're interested http://www.reddit.com/r/ruby/comments/2fc8yq/need_help_with_ruby_on_windows_8/ck82kmg
Ew. What would compel you to want to edit source on an iphone?
I don't have an iPhone anymore (been about 2 years)...but like any source, it's plain text, so you can edit it with pretty much anything you want. Browser based IDEs/editors are becoming a thing, ala https://codio.com
I actually just went to using an online IDE, Codio . This keeps my environment consistent and universal (even on my Chromebook!) I have a blog post on getting Laravel going with nginx on it. So you may want to give this tactic a go.
There is also Cloud9 and Koding as alternatives to Codio. However I find Kodings interface dog slow. And Codio and Cloud9 are really the two best online IDE choices imo. So give them a good look if you want to go this route.
Learn Codio and use it, it has everything you need. Don't make things difficult by trying to learn two things. Stick with one. Look at the Codio features list, it has everything to create and run and test all of your programs.
I think Docker/LXC containers is the way to go. Go take a look at codio.com - thats how they implement workspaces and keep everything separate. If you email them they may give you some architecture ideas.
​
Basically you are setting up a webserver for each customer in a docker container with a different service number. You probably need to randomize the hostnames, so the customer code / plugin is effectively quite unique and hard to guess - your core code will connect to the plugin via hooks maybe using curl calls at URIs like http://xe321245ea55:6900/hooks/1/whatever - you could give your customer limited ssh /sftp access to their containers. There will be authentication/firewall/logging setup needed in the OS. Its possible you could host the LXC containers in AWS virtual machines too which gives you another layer of separation.
​
This sounds like an interesting project for you - have fun trying out some stuff but make sure you have logging enabled,ports disabled, ufw configured etc. on the machine hosting the plugins and check regularly for any hack attempts. You probably want some kind of OAUTH type authentication between your core code and their plugins. Note there's lots of open source systems utilizing plugins (like wordpress, drupal etc.)
​
There's no such thing as a "local" app that works in a browser. Once it's in a browser you can access it from anywhere. This means that it could be integrated into some other web-based IDE, such as what they appear to have done with Codio (https://codio.com/features/ & https://codio.com/docs/ide/tutorials/ungit/)
If you really wanted it to be a local app, you would deploy it as an electron app - I'm sure there are several that you already use http://electron.atom.io/#built-on-electron
Yep, Codio and Nitrous.IO also do that and they come integrated with an entire workspace. I can definitely see the potential of focusing mainly on the collaborative side of things, with the video chat and all, but many similar collaborative code editors exist and it doesn't stand out much IMO, although it's got potential.
I guess you are the one from the IRC. I tried to install haxe on the web ide Codio (https://codio.com/) and it worked. That's a pretty good match for a chromebook then. Also filed an issue to officially support a haxe-installation on their virtual boxes. Their online editor already has syntax highlighting for Haxe sourcecode.
I use Codio for development. That way it is remote and out of my stupid control. Then I use remote VPS's that replicate the live environment as closely as possible to run staging tests before deploying live. This way all my stuff is remote and accessible on any system I have, even my Chromebook.