Author Topic: Cloud IDEs  (Read 112 times)

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4359
Cloud IDEs
« on: June 26, 2018, 01:07:26 AM »
I was taking a look at a few Cloud IDEs recently.

A Cloud IDE is basically a complete online programming environment on a remote server, which you access through a web page. It has a complete syntax highlighting programming editor with project support, compilers so you can compile and test your code, terminal access for command line programs, and usually some kind of web output support for web projects. It all runs remotely, and is built on top of things like virtual machines or Docker.

Some Cloud IDEs even have collaboration support, much like Google Docs, where each person gets their own editing cursor, allowing multiple people to edit the same file at the same time. This would be really interesting to try out during a pair programming session. I didn't see any options that had audio call support, so you'd need external software for that. Perhaps Discord or Skype.

The IDE runs in a Linux environment on the server, so that's what you'd get for terminal access within the Cloud IDE. If someone wanted to test things on a Linux environment, even solo, this might be a good solution.

There are a few options that have a free tier. Here's one of the more promising ones I tried out:
Codenvy

It had convenient environment setup for GitHub projects, so you can just click through the menus and get any of the OPU GitHub projects deployed to a Cloud IDE instance and edit away.


Anyone up for trying it out in collaboration mode?  :D

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 1853
    • LairWorks Entertainment
Re: Cloud IDEs
« Reply #1 on: June 26, 2018, 07:26:49 AM »
I'm game!

I tried doing OutpostHD but... well... So many dependencies. It's making me think it's time to start using submodules.
- Leeor
LairWorks Entertainment

Titanum UFO's

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4359
Re: Cloud IDEs
« Reply #2 on: June 27, 2018, 01:24:51 AM »
Right, I also gave NAS2D and OutpostHD a quick try. It uses an older version of Ubuntu, so it's got the messy dependency problems.

Some steps to get things mostly working:
Create a workspace, and add both the NAS2D and OutpostHD Git projects.
From the terminal switch to the NAS2D folder and run:
 sudo apt update
 sudo make install-deps-ubuntu
 make -k

It still gives errors about SDL_SetWindowResizable due to the outdated version of SDL installed by Apt.


I was working on some source install stuff, related to my Docker work. I kind of revisit it from time to time over the last few weeks. Hopefully I'll get it done soon, and having something working for older versions of Ubuntu. Maybe we can work on that together.

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 1853
    • LairWorks Entertainment
Re: Cloud IDEs
« Reply #3 on: June 27, 2018, 11:54:10 AM »
I was doing a little analysis of the executable file generated after compiling OutpostHD against NAS2D and its dependencies... and it includes a LOT of code that I'm not sure is really necessary. PhysFS, for instance, includes all the code for loading DOOM wad files and Decent HOG files... It's definitely making me want to switch the filesystem code over to the stream library you and Vomov built.

But anyway, I'm definitely liking the editor interface. It's clean and does the job well. I also like the color scheme. It's different than what I'm used to with Visual Studio but I'm fairly flexible with that sort of thing.

I'm going to work on submodules with Git and see about including the dependencies in some way or at least a script to get the appropriate dependencies. I did like that I could run commands in a terminal within the IDE itself and that it gave me sudo access so we can definitely set up an appropriate environment.

SDL 2.0.5 is going to be the tough part. I want to upgrade to 2.0.9 but it seems getting it is kind of painful so I'm thinking of setting up a script to download build and install the latest stable SDL release and go from there.

Anyway, regardless of that, I think I like this over Atom. It just feels better somehow. I love that it has git integration as well.
- Leeor
LairWorks Entertainment

Titanum UFO's

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4359
Re: Cloud IDEs
« Reply #4 on: June 28, 2018, 11:23:53 AM »
It's kind of sick how much bloat can be included when unused code doesn't get stripped out. There may be some compiler/linker flags to help with that.

... and "Vomov"? Autocomplete?

So you know, I'm already working on a Makefile to go with my Docker stuff to setup a build environment on Ubuntu 16.04. I figured a Makefile would be convenient since it could run for a normal system install, or within a Docker image for setup there. So far it downloads a list of needed source archives. I had it do some unpacking, though I wasn't entirely happy with that part. I'm sure there's a better "Make" way to do it. It's also got some code to run configure and compile for each of the packages. Not all packages need configure though. There are rules for install and clean. The design is a bit rough at present but has the basic idea down.

Maybe I'll catch you on IRC in the evening and we can go over some of this.

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 1853
    • LairWorks Entertainment
Re: Cloud IDEs
« Reply #5 on: June 28, 2018, 03:40:10 PM »
Not sure why I put Vomov in there, I meant Vagabond. Vomov did the original work on the new research tree for OutpostHD -- might be his name was on my mind.

And yeah, I'm surprised at the amount of code it pulled in. I mean, I guess I understand why it did -- the code paths are there even if my program never actually uses them -- the linker doesn't have any way to really determine that. Definitely is giving me motivation to eliminate some of the dependencies in OPHD.
« Last Edit: June 28, 2018, 04:32:55 PM by leeor_net »
- Leeor
LairWorks Entertainment

Titanum UFO's

Offline Vagabond

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 680
Re: Cloud IDEs
« Reply #6 on: June 28, 2018, 07:52:42 PM »
Let me know how the collaboration goes and how it compares to pair programming using Team Viewer.

I was going to ask about Vomov as well. :)

-Brett