mattiem,
@mattiem@mastodon.social avatar

Inspired by @Migueldeicaza , I was thinking, again, about what would be required to support a full IDE experience on an iPad. And the propects are grim.

LSP is just fundamentally incompatible with iOS. And even with spec changes (which I have roughly outlined) that could be hard justify, it would still require enormous work from each server implementation to support.

helge,
@helge@mastodon.social avatar

@mattiem @Migueldeicaza I would put that the other way around: "iOS is just fundamentally incompatible with LSP" (or other advanced software 🙃
The question is why things would have to run locally, I was always wondering whether things like Xcode Cloud are preps for exactly that.

mattiem,
@mattiem@mastodon.social avatar

@helge @Migueldeicaza Yeah you’re right.

I have experimented with LSP extensions that would allow project/file relay and environmental control so that a non-local server would think it was local. I didn’t get too far because it’s a lot of work.

helge,
@helge@mastodon.social avatar

I'm not sure whether LSP is strictly necessary for something Xcode like. I'd think Swift stuff could just stay in-process. Maybe in a dedicated thread.
VSCode style advanced support for "any language" is a little different.

krzyzanowskim,
@krzyzanowskim@mastodon.social avatar

@helge swift thing is not designed to stay in process. and then it’s running the code that is also impossible on ios (again, not technically)

helge,
@helge@mastodon.social avatar

@krzyzanowskim It is not impossible, e.g. one option mentioned is Wasm. Though of course the basic idea of that being necessary is wild ;-)
Maybe we get at least XPC, that would benefit forking off stuff that doesn't expect clean shutdown (I assume the Swift compiler is that way?).

helge,
@helge@mastodon.social avatar

@krzyzanowskim Also the most funny thing is: Why would you ever want to do this to you? We spend wayyyyy too much time discussing that, no iOS powered device is suitable for serious coding in the first place (AvP, maybe?).

krzyzanowskim,
@krzyzanowskim@mastodon.social avatar

@helge that’s also my take. I love my iPad but coding on iPad is pure pain (at least with tools I used). It is slightly better with external keyboard (regular one), but even then iOS makes it awkward

Migueldeicaza,
@Migueldeicaza@mastodon.social avatar

@mattiem a general purpose ide might be hard, but there are some possibilities out there (we could run a VM with Linux for instance)

But for narrow ecosystems it should be ok.

One of my concerns is whether the iPad form factor is convenient for traditional IDE development.

mattiem,
@mattiem@mastodon.social avatar

@Migueldeicaza I think you are right that a VM is the only realistic option. Can that be done locally?

Per-environment like you are doing makes the problem much more tractable.

But yeah, it’s hard to know about the form factor. I struggle with ergonomics as it is!

Migueldeicaza,
@Migueldeicaza@mastodon.social avatar

@mattiem yes, a few ways to run VM stuff - something like libSystem is one option (it runs Jupyter, TeX, has its own C compiler), or iSH (I think this is a full Linux VM with Debian)

Migueldeicaza,
@Migueldeicaza@mastodon.social avatar

@mattiem sorry, not libSystem, ios_system: https://github.com/holzschu/ios_system/

You can see an all in action: a-shell or Carnets: https://apps.apple.com/us/app/carnets-jupyter/id1450994949

And ish is here:
https://github.com/ish-app/ish

mattiem,
@mattiem@mastodon.social avatar

@Migueldeicaza ios_system is very clever, but I cannot imagine it will help much, if at all.

ish is bonkers. But I kind of hate it. I’d probably go for environment proxying and LSIF for non-awful offline support. I played around a little and it would be a lot of work.

ctietze,
@ctietze@mastodon.social avatar

@mattiem @Migueldeicaza Couldn't we WASM-ify LSP servers and run them in a WKWebKitView in the corner or something

mattiem,
@mattiem@mastodon.social avatar

@ctietze Nope. They are often implemented in the language they serve. But, much worse, they depend on being able to launch processes, and interact with the project and language installation unrestricted.

ctietze,
@ctietze@mastodon.social avatar

@mattiem ugh, that'll be a hard thing to bridge

helge,
@helge@mastodon.social avatar

@ctietze @mattiem I think theoretically that could work, you would need to get some Posix kernel/OS running within Wasm. Which is just another computer w/ a different arch?
It just doesn't make a lot of sense, IMO 🙂

cdf1982,
@cdf1982@iosdev.space avatar

@mattiem Correct me if I’m wrong, this doesn’t mean Apple couldn’t bring Xcode to iPadOS, but that a third party IDE with different languages’ support is currently not possible, right?

krzyzanowskim,
@krzyzanowskim@mastodon.social avatar

@cdf1982 @mattiem apple did that already with Swift Playground, it’s full featured Swift compiler. And no, we can’t do the same with Swift. But with other languages (some of them) it is possible to some extent.

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