Google Launches Project IDX, A web-based IDE

What if your dev experience was entirely in the cloud?

These days, launching applications means navigating an endless sea of complexity. We felt this pain at Google, so we started Project IDX, an experimental new initiative aimed at bringing your entire full-stack, multiplatform app development workflow to the cloud.

Project IDX gets you into your dev workflow in no time, backed by the security and scalability of Google Cloud.

Project IDX lets you preview your full-stack, multiplatform apps as your users would see them, with upcoming support for built-in multi-browser web previews, Android emulators, and iOS simulators.

As a Vim fanatic, I can’t say I’ll ever feel comfortable working in a browser, but some parts of IDX seem interesting. I wonder what the implications are for proprietary code.

I do think it solves an interesting problem where you’re working on your desktop and decide to move to your laptop and continue working on the same codebase, but don’t want to commit early so you can pull down the changes to your laptop.

It reminds me vaguely of Shells.

shinobizilla,

Hell no, no way I’d trust Google with my code. Personal or otherwise. Let me guess this would work only in Chrome.

Hector_McG, (edited )

All your codebase are belong to us.

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

Hell no, no way I’d trust Google with my code. Personal or otherwise.

Ditto. But at the risk of playing devil’s advocate, if you were writing free software code you were going to stick on a code forge somewhere anyway, would you still be against it?

Are there Google services that only work in Chrome? I don’t use any of them, so I don’t know. I do know Google is generally less annoying than Microsoft in that department.

rodolfo,

Are there Google services that only work in Chrome?

this is the gateway to this

I do know Google is generally less annoying than Microsoft in that department.

how this? through Firefox I experience ms websites the same as with edge. google websites? experience is full of small differences from chrome

Edit:formatting

floofloof,

Microsoft don’t allow Bing chat to run in anything but Edge. I don’t know if there are others, but that’s the one I’ve noticed recently.

rodolfo,

true, but bing chat isn’t all ms services. although I’ve heard of plug-ins that could do that, dreadful as it is just the idea

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

how this? through Firefox I experience ms websites the same as with edge. google websites? experience is full of small differences from chrome

Firefox is my main browser. In my experience, Microsoft services don’t work at all on Firefox. I can’t say I use much of either company’s services, but Google tends to be more lax in some departments. For example, the Google Pixel is the only Android device that allows you to securely unlock the bootloader and install another operating system on it, rather than forcing you to root the device.

I’m not a fan of either company, but I get the impression Google is less actively hostile toward their customers than Microsoft. For the most part.

rodolfo,

i work for a company that produces dotnet software. I’m my comments you’ll find this, and that firefox is my browser of choice. so we obviously manage access via ad, we use azure, etc. . when it comes to develop Linux native code, i fire up my vm, and I can even use the teams web version on firefox (tbh, only chat though) , so

In my experience, Microsoft services don’t work at all on Firefox

i don’t really know where this is coming from. would you like to elaborate?

the idea that ms is hostile towards its customers is so apple propaganda from some 20 years ago… I mean, a very old refrain… just please stop beating this now decomposed horse. had u written something like

ms like apple like google/alphabet are private ruthless faceless us corporations, ready to suck the soul of anything that got one

that, i could agree on. anyways, peace, obviously.

Spectacle8011, (edited )
@Spectacle8011@lemmy.comfysnug.space avatar

i don’t really know where this is coming from. would you like to elaborate?

As I said, I don’t deal with a lot of Microsoft or Google services, though I do run my email through Microsoft Exchange. It took me roughly three hours to figure out how to download the Microsoft Office executable from the Microsoft website. I tried everything on Firefox, Brave, Chrome, even on my Mac. In the end, I needed Microsoft Edge to get it. I don’t remember the exact details because this was 2 or so years ago, but requiring a particular version of a Blink-based browser just to download Microsoft Office seems…unnecessary.

I remember needing to use Brave for Microsoft Teams, but I could be remembering wrong. When I think of Microsoft being actively hostile toward their customers, I think of about ten years ago when Microsoft tried to prevent Xbox owners from sharing physical disk games with the Xbox One, essentially killing preowned games (not that they went through with it). Of course, Apple is an easier target than Microsoft for customer-hostile behavior. Frankly, these megacorporations all blend together for me.

I don’t have any particular feelings about Microsoft, and after using Windows for 20 years, I don’t have any major complaints with it (from memory; it’s been a while), aside from the obvious. If there’s any particular corporation I despise, that would have to be Amazon.

rodolfo,

on mac i can’t honestly argue about anything. apple policies, practices, hw, sw, services, etc. are something i try to stay as far away as possible. dunno if it’s still the same, but as an example VLC on mac was practically nothing and broken compared to linux and win version, because, you know, quicktime (or what it was/is called the native media player). also is it possible that mac makes really hard to access ms services (or that ms makes really hard to access their services on a mac? although they already make sw for that os… mmh…)? anyways, just for completeness, on win I had no trouble managing office (again, don’t recall what that iteration was called, but it was the one that allowed you to install office in 5 machines with one license) with firefox. have a nice day

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

I use mpv on macOS and haven’t had any trouble to speak of. But you might have installed VLC from the App Store, which is a common mistake—unless you’re installing Apple’s own software, you probably shouldn’t use the App Store. It usually only carries inferior versions of the software to comply with Apple’s terms, haha.

I very rarely use Microsoft Office nowadays, but once it’s installed, it’s (mostly) fine? I’ve heard from a coworker that there are some significant missing features in some software in that suite. I just remember struggling to find the page to download the Setup.exe file. I went to the exact same page in Microsoft Edge and a download button that wasn’t there in any other browser suddenly appeared! Maddening! This was a 5 or 10-license verison, I think.

rodolfo,

well the first part is super interesting…common mistake installing from official store non brand apps!? that’s something on the line with win store. if I’m told I’d die if I do not install Inkscape through win store, well, you know, I’d either stop looking at the insides of a svg or die. not so tough of a decision ah ah

Flynn_Mandrake,
@Flynn_Mandrake@lemmy.dbzer0.com avatar

Mmh. Don’t like that

colonial, (edited )
@colonial@lemmy.world avatar

Cringe. Not everything needs to be offloaded to someone else’s computer.

And frankly, why would I pay some sort of fee (which they will eventually charge, even if they don’t right now) for the “privilege” of having rustc fight for execution time on a vCPU somewhere in California?

Every day that passes I lean further towards pursuing a career in embedded.

Hector_McG,

It’s s toss-up as to whether they start to charge for it, or whether they ditch it after a couple of years, like they have done with so many other side-projects.

nyakojiru,
@nyakojiru@lemmy.dbzer0.com avatar

Yummy yummy give me your codei !!

Sonotsugipaa,
@Sonotsugipaa@lemmy.dbzer0.com avatar

These days, launching applications means navigating an endless sea of complexity.

  • Meta + D
  • "vsco"
  • Enter

Damn, I’m exhausted, why does launching an application have to be so hard?

blackbird,

Hey, there’s always double-clicking the icon too. Now that is exhausting.

iByteABit,
  • ctrl + t
  • nvim
  • calls ambulance
myersguy,

I imagine they mean launching in more of a release sense (IE: Announcing the launch of new app XYZ). I sure hope so, anyways.

Sonotsugipaa,
@Sonotsugipaa@lemmy.dbzer0.com avatar

Probably, I don’t really know how a web IDE would make it any easier but perhaps that’s because of a lack of personal experience.

myersguy,

It’s selling itself as more than an IDE. The idea is to have templates for common languages/frameworks. Ideally, this would mean not having to learn how to init a project in a given framework, not having to learn the build tools, not having to learn deployment, ci/cd, etc. Just open this new webapp, pick a framework, develop, and click a “launch” button to have it spin up in GCP.

Sonotsugipaa,
@Sonotsugipaa@lemmy.dbzer0.com avatar

That sums up, I could use sensible CMake templates in my life.

omgitsaheadcrab,

Meta+e … emacsclient pops up instantly

lemann,

CTRL + T terminal opens

maegul,
@maegul@lemmy.ml avatar

This is a play against VSCode and the developer moat MS/GitHub have built right? In which case, go at it I guess.

The Shell -> Mainframe style IDE has been coming for a while. And makes some sense, however much of a local app person you are. I’m kinda surprised Google hadn’t made a move yet. On which, it’s suspicious that this is probably driven or associated with AI.

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

On which, it’s suspicious that this is probably driven or associated with AI.

The landing page mentions this:

Code faster with generative AI

Work quickly and efficiently with AI assistance from Google built-in, including code generation, code completion, translating code between programming languages, explaining code, and more, all powered by Codey, a foundational AI model trained on code and built on PaLM 2.

I left it out of the main post because I um, didn’t think it was particularly newsworthy.

realharo, (edited )

VS Code also supports the devcontainter format, where you can get a well-defined fully configured dev environments locally or remotely. It also automatically asks whether you want to use them if the project has a devcontainer.json file.

So you can get the benefit of a standardized environment without going all-in on cloud.

containers.dev

code.visualstudio.com/docs/…/containers

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

This is quite interesting. Is the devcontainer spec tightly coupled to VS Code, or is it something that other IDEs do/can support?

Well, to be honest, I have a Docker Compose setup I use with Neovim anyway so I don’t know what the benefits are of devcontainer compared to that.

realharo, (edited )

I think it was created by the same people as VS Code, and definitely designed around its needs (at least initially), kind of like the Language Server Protocol.

There is some preliminary support in IntelliJ - blog.jetbrains.com/…/intellij-idea-2023-2-eap-6/#…, but then it wasn’t mentioned in the normal 2023.2 release notes, not sure if they pushed it to a future release or what. Either way, it’s a work in progress there.

Then there are tools like devpod.sh that also use devcontainters.

Regarding how it’s different from just using compose directly, I think the idea is that you “connect” your IDE to it and it specifies things like extensions (obviously IDE-specific), debuggers and debug configurations, language servers setup, environment to use when you open a terminal into it, etc.

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

Judging by the big © Microsoft 2022 logo in the bottom right, I’d say you’re right.

I guess this is one of those things I’m not going to appreciate until I need it, but none of that sounds more appealing to me over Docker Compose. I’m not sure how debuggers, etc,. would even apply to the server or why you would need to use a cloud server rather than running the services locally for a development environment. My guess is this would be a lot more useful for Windows users who don’t have as easy access to the right dependencies?

realharo,

The main pitch is that you don’t have to spend time and effort with installing and configuring a project for development when onboarding new people to it, or when you want to contribute to someone else’s project etc.

You get a proven, up-to-date “works on my machine” kind of environment that others also use, and you don’t need to “pollute” your host system by installing additional tools necessary for each individual project. Compilation (and other build steps), running the project, running the tests, debugging, IDE configuration (e.g. language servers, linter plugins), etc. all happen inside the container.

I personally don’t find it all that useful for projects I’m working on long-term myself, but it’s nice if you need to check something in someone else’s project which you’re not that familiar with.

atheken,

I use dev containers on Mac, it’s not just about launching services that you need to test your code, it’s about specifying the entire build toolchain to get a deterministic dev environment in an isolated way.

You don’t need to manage the docker containers at all, vscode handles their lifecycle.

You can specify different extensions/configurations per project, so if you bounce between several languages, you’re only using the extensions/configs for a given project.

It also allows for a mostly seamless debugger experience with the browser when you launch a process.

The nice thing is that it sits off to the side, you can use your docker-compose as you normally would, but if you want to provide a full working dev environment for contributors, basically all they need is docker and vscode installed and they can get started.

The devcontainer spec is based on open standards, so it probably will end up in other editors, because it solves a huge problem for teams. The only thing that I think will come close is Nix, but I think it’s limited in scope in some important ways for this use case.

realharo,

I do think it solves an interesting problem where you’re working on your desktop and decide to move to your laptop and continue working on the same codebase, but don’t want to commit early so you can pull down the changes to your laptop.

You can just push the changes to a different branch and then merge it to your normal feature branch later. Takes like 5 seconds.

knoland,

but don’t want to commit early so you can pull down the changes to your laptop.

Someone needs to tell this man about rebasing.

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

I rebase! I just don’t want to push to the main repo, pull it down, rebase and force push to it. Pushing to a disposable branch is an obvious solution I didn’t see, haha. I tend to not use branching a lot in my projects…

…I guess I could actually set up my desktop as a remote too, huh.

MantisWaffle,

If only there was some syncing thing that would let you move arbitrary files between devices.

github.com/syncthing

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

Thanks for the suggestion! If you can believe it, I already have Syncthing installed but haven’t used it in ages. I didn’t even think of using this for keeping git repositories in sync! I did find these forum posts that seem to recommend against using Syncthing for git repositories, though they’re 6-7 years old:

Well, conflicting reports really, but it’s enough to make me wary. Interestingly, someone recommends the branch solution as an alternative:

One of the objectives of git is to be decentralized. Just make a branch called uncompilable_mess and then clone the repo on your laptop.

Seemed to be working out well for the OP, though.

MantisWaffle, (edited )

I’ve had no problem for years.

Biggest issue I’ve had was forgetting I committed something on one device before committing on another. Then I had two branches where one had " conflict" in the name. I just deleted all conflict files and everything continued as normal. If your repo is never corrupted before syncing worst case you should be able to find and delete all conflict files.

Syncthing conflicts include the source of the conflict so you could just choose to delete all files whose conflict is from one device and leave everything from the other.

If you’re worried you could just ignore your ‘.git’ folder in syncthing since you’re purposefully not committing during this. Then sync through git when you finally commit your changes on a device.

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

Fair enough, thanks!

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

Huh, fair enough. I guess I’m still not using git to its full potential. What I do now is SSH into my desktop from my laptop and work on it there. It’s easy because I use Neovim.

sirdorius,

Exactly. And if you you’re worried about dirtying your commit history with an unfinished commit, just rebase it out later.

MooseBoys,

Or just use vscode remoting.

pythoneer,

Even if it’s very cool, the problem I have with newer google products is that they might just kill it at any time, even if it’s successful.

MashedTech,

Basically if it brings them enough data it stays, otherwise, it dies. Look at Google domains.

rodolfo,

This is wrong on so many levels, I cannot fathom where I could start talking about it.

  • private us company
  • feeding their ai just to eventually negate myself the chance of those small side projects that pay small money
  • us company
  • chromium browsers
  • governments shouldn’t allow for source code, as trivial as it may be, to be centralized in another nation
  • us corporation
  • google (in my experience) devastating ux, ui, docs
  • go and try to use aws, azure, you name it services (this ip/fqdm doesn’t seem to be part of google services! would you like to try out or service? start with our free plan with the performance of a C64, and choose to upgrade whenever you want!)
  • us based private corp
  • chromium browsers
  • this functionality is now deprecated (rewrite all of your f**** code, you absolute dumbass…) Ugh…
MyNameIsRichard,
@MyNameIsRichard@lemmy.ml avatar

The sad truth is that people are stupid enough to use this.

muhyb,

Cloud is a plague.

ck_,

I think a lot of comments are looking at this thing the wrong way. This is not a feature that is designed to make things easier or nicer for developers. The target audience for this is managers.

Managers don’t want you to have a unique configuration for “your workflow”, they want a uniform workflow that they can just plug you into. They want to replace the unique person that is you with a corporate drone representation of you, as they have done with so many jobs already. When they can streamline your work down to " here is a ticket, push that button and you are ready to go", they reduce the rampup time of putting someone new into your seat to a fraction of what it was before.

pivot_root,

A good manager knows that an employee is productive whenever they’re comfortable. With that said, I agree. This is an excuse for upper management and C-suite executives to make employee-hostile policies.

Instead of buying developers a powerful workstation and letting them do install their own software and create workflows that they’re comfortable with, they can be handed a Chromebook and told to start producing code like the code monkey they’re seen as.

The “benefits” will be touted as:

  • Cheaper hardware costs.
    Developers don’t need a powerful machine to run tooling or compile software, and cloud IDEs and build servers are pay-as-used. The reasoning would be: paying $300 for a Chromebook and $25 monthly is cheaper than $1200 for a new machine every few years.
  • Reduced support burden.
    If developers don’t need to install their own software, they won’t need to submit requests to IT.
  • Infrastructure security.
    Less software is less surface area. Since all the developer’s software is hosted in the cloud, their computers don’t need to run anything but a VPN, web browser, and restricted user permissions.
  • “Productivity”
    Browsing Lemmy on company time? Not anymore! Your development machines are distraction-free, and we made sure of that with our root CA and enterprise policy settings.
LufyCZ,

I don’t see how the last point changes anything compared to the current situation

yogsototh,
@yogsototh@programming.dev avatar

I don’t see how this could be positive for any Software developer in the long run. I totally see how this could be positive for CEO/CTO, Project Managers, in the long run, and I see a few short term advantages for Software developers.

Let’s be clear, I saw that coming since Microsoft bought Github, and I am scared by the direction this is taking. The end goal is to move more and more control and power to non-software people about Software development.

By forcing every developer to not use their own tools this will have a lot of advantage for CEO/CTOs but this is terrible for software developers:

  1. telemetry: they will try to find a formula to assess who are the best performer in a team. And as with SEO, any formula could be gamed, the best at this game, will not be the best software developers, but the one that will learn how to cheat.
  2. global team tooling enforcement: vim vs emacs etc… ? Forget about it, the only way to work on a project will be via this unique allowed editor.
  3. assets protection: impossible to download the code on your local computer to use external tools on it. The only way to have analysis tools will be via these “allowed” analysis tools. This will make code analysis and experimentation a lot more difficult.
  4. Locked by promoting vendor-specific applications. As you will focus to make your code/app/product work only for Google Cloud for example, you will naturally use Google-Cloud-only features that will make your code difficult (or impossible) to move to another Cloud provider, or god-forbid, host your product on a non-cloud or private made cloud.

And I can think of other possible drawbacks but my comment is already long enough.

stephenc,

I mean, 2 and 4 have been true already for quite some time in my experience.

Sigmatics,

No.

jim_stark, (edited )

Aren’t we past that point?

VS Code is Electron based and it can even be deployed in the cloud. We are talking about one of the most popular IDEs.

Sigmatics,

You are talking about transmitting every bit of code you write to the internet. Go ahead if you want that, I don’t

jim_stark,

I am not saying otherwise. But do we still have a say?

firelizzard,
@firelizzard@programming.dev avatar

Yes. It is still entirely possible to run VSCode or VSCodium locally without any of that cloud crap.

jim_stark,

True, I myself prefer VS Codium but how many people use it? And some site like Coursera have VSCode on the web and it can’t be changed to VSCodium.

firelizzard,
@firelizzard@programming.dev avatar

My entire point is that you aren’t forced into using that cloud crap for normal development. And you aren’t forced into any specific IDE. You can choose whatever IDE you want unless your employer mandates something specific.

JackBruh,

Also VSCodium is entirely Open Source.

philm,

Is it good technically though? Or is it just really popular because it’s so well maintained and extensible?

I think the main reason vscode is so popular is, because there aren’t really good native alternatives (e.g. I wouldn’t compare e.g. vim because it’s kind of a different target audience).

So maybe something like zed or so will take the reign of this class of editors, but we’ll see, I just hope it’s not yet another electron or DOM based editor, DOM is bad enough in the web already…

jim_stark,

I just hope it’s not yet another electron or DOM based editor

Unfortunately, yes.

ron,

deleted_by_author

  • Loading...
  • Dalinar,

    As if Google hasn’t scraped open GitHub projects for longer than Microsoft has owned GitHub.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programming@programming.dev
  • ethstaker
  • DreamBathrooms
  • cubers
  • osvaldo12
  • mdbf
  • magazineikmin
  • normalnudes
  • InstantRegret
  • rosin
  • Youngstown
  • slotface
  • khanakhh
  • kavyap
  • ngwrru68w68
  • JUstTest
  • everett
  • cisconetworking
  • tacticalgear
  • anitta
  • thenastyranch
  • Durango
  • tester
  • GTA5RPClips
  • modclub
  • megavids
  • provamag3
  • Leos
  • lostlight
  • All magazines