zed-industries / zed

Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
https://zed.dev
Other
46.61k stars 2.64k forks source link

IOS/Android Port #12039

Open Feel-ix-343 opened 3 months ago

Feel-ix-343 commented 3 months ago

Check for existing issues

Describe the feature

Support Zed on IOS for iPad programming and mobile note taking.

If applicable, add mockups / screenshots to help present your vision of the feature

No response

bbb651 commented 3 months ago

I'm not speaking for the zed team, but this is highly unlikely to ever happen. Zed uses os apis directly and not an abstraction like winit, so this means writing and maintaining almost twice the amount of platform specific code (for context, before it went open source it only supported macOS, and with a ton of effort from the community the linux/windows ports have been going really fast, and they're still in a pre-alpha state with known issues and limitations. This sometimes takes years.). Not to mention rewriting most of the ui for mobile, implementing touch screen and gestures in the first place, getting a lot better at suspend/resume, writing glue java code for android, packaging, etc. etc. And that's not even the worst part, you generally cannot run code that isn't part of the app on iOS (Aidoku is the only example I'm aware of running arbitrary wasm in an iOS app, but it's not on the app store and it's not clear if it'll get accepted.), so you'll have to bundle every tree-sitter grammar, and even then barely any development tools and no language server I'm aware of can compile to mobile, so the majority of the editor's features won't function at all. Not the mention phones/tablets are often less powerful than computers and limited on ram to run these tools. If you're interested in something like this for iOS, codeapp is your best bet, but keep in mind the sandboxed environment is really limiting, you're only able to use the builtin development tools and emulated shell.

Edit: Looking back I was overly negative here, I do think there's value in this for mobile, and the improvements needed to get there will also improve the experience on desktop (legible ui on small sizes, touchscreen and gesture support, better suspend, optional sandbox e.g. for a flatpak), I still think it's not a priority right now though, and web seems more important.

bajrangCoder commented 3 months ago

As I had seen road maps and platform specific issues , there is no chance for zed to be on Android/ios because it requires significant resources and which aren't available on Mobile devices (as @bbb651 explained) but maybe in future gpui ui framework will be ported for mobile device (but currently no plan)

But Zed team has mentioned they will support web so it will be available through web, not directly through app(there is no official date available for web release).

I'm not from Zed team

versecafe commented 3 months ago

GPUI shouldn't be too hard to partially port to iOS since the metal rendering works the same but the platform APIs would definitely pose issues with things like FS handling and some sections like menubars being fully nonexistant

jansol commented 3 months ago

Related: #11889 and tangentially #8157

mwotton commented 2 months ago

wonder if there's a possibility for a remote-dev only client, once that feature's fully settled.

fwcd commented 1 month ago

File system handling on iOS is pretty much the same to macOS as long as the app stays within its sandbox (which is the Documents directory, Library and a few others). Apps can also request access to other apps' documents and then read/write to those paths too. Apps like Working Copy or iSH are good examples here.

While remote dev would be a use case worth investigating, I think local editing would still be very nice to have, if only for note-taking etc. I write a lot of my notes in Markdown, so having an editor that supports Vim mode and live preview (maybe even with LaTeX formula rendering, i.e. #10899) would be really nice and something I haven't really seen before on iOS.