[0] https://containers.dev [1] https://github.com/features/codespaces
https://code.visualstudio.com/docs/remote/ssh-tutorial
See also:
https://code.visualstudio.com/docs/devcontainers/containers
People pay for this.
Yeah, it works okay. I've been using it with GitHub Codespaces[1] in the past, which is not only VSCode Web, but also allows you to run your code (and any terminal commands really) in GitHub's cloud.
You get 60 2-CPU-core hours for free each month, it comes in pretty handy if you just want to quickly code something on the go, and don't have a real laptop / PC available.
By keeping the tools to them, Microsoft can try to offer the best developer experience. Hopefully (from Microsoft point of view) this pushes developers to use services from their ecosystem (Github, Azure).
It's likely that in the future more developers are actually doing the development remotely. Not checking out the code to local machine, but instead using IDE which communicates with the server component. Microsoft has Github Code Spaces [1], JetBrains has Fleet[2]
[1] https://github.com/features/codespaces [2] https://www.jetbrains.com/fleet/
For example, Cloud9 IDE (c9.io) had (and has) a fully functioning (custom) IDE in the browser, with syntax highlighting, autocompletion, debugger w/ breakpoints, and a terminal/REPL: https://web.archive.org/web/20170201175009/https://c9.io/ - fully functional in 2016, and earlier. I was part of the team at AWS that acquired the company that year [1], which is now an AWS product: https://aws.amazon.com/cloud9/ - they made it trivial to click a button and boot a workspace with a sample Python, Ruby, JavaScript app, etc., and then start hacking on it using the IDE or web-based terminal/CLI. (The latter alone is a very difficult thing to build in a web browser! Not to mention syntax highlighting for many languages, autocompletion, etc. – though Language Server Protocol implementations were a help for adding basic auto completion IIRC).
The Cloud9 IDE was sufficiently mature that the Cloud9 team used it to build their own product.
GitHub has also launched Codespaces which loads a repository as a VS Code IDE in your browser [2]: https://github.com/features/codespaces
And there are a number of other companies that provide similar products.
Maybe Repl.it hit some sweet spot of user experience that the others haven't, but – I mean no offense – I don't see what's innovative about it compared to the numerous other products I came across while doing market research back then. (I don't recall all the names.) It looks more like an IDE now than it did a year or two ago, but it seems to be behind Cloud9's capabilities as of 2016, not to mention the present version of AWS Cloud9 and CodeSpaces.
I feel I might be "that guy" who's calling Dropbox a dumb idea, but I'm skeptical that a revenue stream will materialize to justify the valuation. Tools like Repl.it, Cloud9 IDE, and CodeSpaces seem to me like features, not products.
Large corporations aren't going to want their proprietary codebase uploaded to a third party cloud service. GitHub (Microsoft) and Amazon have overcome that trust hump; and both have many developer-oriented products where these online coding tools are one feature among a large product suite, where it can be connected to continuous build and integration systems that deploy code to their clouds.
The largest addressable market for a standalone product that software development shops aren't actually going to use for real software development might be teaching students, which is not a large market. Cloud9 IDE tried that play and the market wasn't large enough to justify a startup, which is why I assume the founders & board of Cloud9 approved AWS's acquisition offer.
I haven't used Repl.it's product recently. What's the differentiator? What's the moat? I'm sorry to be a downer in a forum where we're meant to cheer startups (especially an HN startup); I'm only trying to offer rational analysis. Repl.it must be doing something unique right to be growing enough to garner such an investment. (Wasn't Repl.it just like ~3-5 people a year or two ago?)
On the other hand, this could be the VCs and founders making a play hoping one of the tech giants will acquire them. But Microsoft and Amazon already have equivalents and would likely not be interested. Maybe Salesforce or Google? I don't see this growing to become a public company without substantial diversification of the feature into a product suite that's sticky with enterprises. Maybe they've got a roadmap... would be interesting to see the pitch deck for this investment round.
[1] https://techcrunch.com/2016/07/14/amazons-aws-buys-cloud9-to...
[2] VS Code is an Electron web app compiled to run natively, which is presumably how GitHub got it running in the browser – especially given that as a Microsoft subsidiary they could presumably tap Developer Division's help.
That said, there's absolutely no reason to structure your code in a monorepo.
Here's what I think GitHub is doing:
1) Encourage monorepo adoption
2) Build tooling for monorepos
3) Selling tooling to developers stranded in monorepos
Microsoft, which owns GitHub, created the microsoft/git fork linked in the article, and they explain their justification here: https://github.com/microsoft/git#why-is-this-fork-needed
> Well, because Git is a distributed version control system, each Git repository has a copy of all files in the entire history. As large repositories, aka monorepos grow, Git can struggle to manage all that data. As Git commands like status and fetch get slower, developers stop waiting and start switching context. And context switches harm developer productivity.
I believe that Google's brand is so big that it led to this mass cognitive dissonance, which is being exploited by GitHub.
To be clear, here are the two ideas in conflict:
* Git is decentralized and fast, and Google famously doesn't use it.
* Companies want to use "industry standard" tech, and Google is the standard for success.
Now apply those observations to a world where your engineers only use "git".
The result is market demand to misuse git for monorepos, which Microsoft is pouring huge amounts of resources into enabling via GitHub.
It makes great sense that GitHub wants to lean into this. More centralization and being more reliant on GitHub's custom tooling is obviously better for GitHub.
It just so happens that GitHub is building tools to enable monorepos, essentially normalizing their usage.
Then GitHub can sell tools to deal with your enormous monorepo, because your traditional tools will feel slow and worse than GitHub's tools.
In other words, GitHub is propping up the failed monorepo idea as a strategy to get people in the pipeline for things like CodeSpaces: https://github.com/features/codespaces
Because if you have 100 projects and they're all separate, you can do development locally for each and it's fast and sensible. But if all your projects are in one repo, the tools grind to a halt, and suddenly you need to buy a solution that just works to meet your business goals.
That's debatable - certainly in many cases it makes a lot of sense: e.g. a corporate environment with hot-desking (i.e. Windows Roaming Profiles), but programmer/dev users need a consistent workspace so they can't use roaming profiles, instead having consistent and persisted VDI environment makes sense.
Another reason is that you can pre-image and snapshot an entire OS environment more easily (and even more easily if you're using a Hyper-V VDI instead of a multi-user Terminal Services or Citrix VDI) which is great for ensuring everyone on a team has the exact same build/dev/test environment. This is being reinvented as "Code Spaces" which GitHub and Visual Studio seem to be really getting behind: https://github.com/features/codespaces and https://github.blog/2021-08-11-githubs-engineering-team-move...
-----
But I'd wager that most devlop-in-Citrix/TermServ situations are in "normal" corporate businesses with "no fun allowed" IT policies, and even if they don't have a hot-desk office policy they probably still don't like the idea of anyone having root/admin access to their own machines. (I'm fortunate to have never been in that situation in my working life, but I've heard plenty of horror stories from friends who did short-term contract dev work on-site for companies like Tesco and the like)
It's mentioned here https://github.com/features/codespaces
> Today, GitHub is making Codespaces available to Team and Enterprise Cloud plans on github.com. Codespaces provides software teams a faster, more collaborative development environment in the cloud. Read more on our Codespaces page.
Links to https://github.com/features/codespaces
It's called "reading"
It opens Github Codespaces (https://github.com/features/codespaces), which is basically VS Code in the browser, and lets you edit the files of whatever repository you're in.
On mobile (iPad anyway) try CodeSpaces:
https://github.com/features/codespaces
It’s VS Code in your browser tab, and works great.
Separately, I don’t necessarily use that, since it’s an online experience. I use Working Copy and Textastic (or other local native editor depending). Benefit of git sync and markdown. A smattering of local editors do have both Markdown and mermaid support.
Rest of your feedback, I agree with.
Sounds like GitHub Codespaces ought to be up his alley.
I agree with a lot of the commenters here that eventually you'll need to learn the arcane things! But I think there's something to be said for being able to just get started writing code and having it run. I did a lot of my early programming on a TI-83 in math class in high school while pretending to pay attention to my teacher. I didn't have to configure it, or do much other than learn the programming language I was writing code in. Later, in college, my intro-level classes were in purpose-built educational IDEs like DrScheme, where I once again just typed my code into the textbox and then ran it from the same UI. I probably would've grit my teeth and pushed through learning all the extra stuff anyway if confronted with an emulator, a shell, and figuring out what `$PATH` refers to, because I was pretty into computers and had high mental pain tolerance. But I can't say it would've been a better onboarding experience, and eventually, I learned all of that stuff anyway -- so why put people off with it at the beginning? Let them do the fun stuff first, then teach them how to do it "for real." In a lot of cases, the not-"for real" version might even be enough to suit their needs.
https://github.com/features/codespaces
Maybe you don't need new browser ?
Maybe ?
Examples:
Github recently announced Codespaces (https://github.com/features/codespaces) which will allow developers to write and test code in a cloud IDE with repo dependencies preinstalled. This will replace local development in VSCode, Atom, etc.
Bigquery and Snowflake both allow direct querying of the database in a cloud UI. Tools like Redash (https://redash.io/) allow analysts to do the same, but across multiple databases. This will replace SQLWorkbench, DataGrip, etc.
Data scientists can use tools like Mode (https://mode.com/) or DataBricks (https://databricks.com/) to run exploratory notebooks and dashboards in the cloud. This will replace running local Jupyter notebooks.
Data teams can use tools like Shipyard (https://www.shipyardapp.com) to orchestrate complex workflows and automate any scripts in the cloud. This will replace Cron, Windows Task Scheduler, Airflow, etc.
[1] https://aws.amazon.com/cloud9/ [2] https://github.com/features/codespaces
Disclaimer, I helped make these :)