The app store page doesn't mention debugging, so I assume it's not there.
And probably not "go to definition". Completion quality is also questionable. These are very hard problems, even for a language with strict typing like Java. It's not easy to get these basic lookups correct and smooth.
>It's not easy to get these basic lookups correct and smooth.
Exactly, Intellij has been in the autocompletion industry for what, almost 2 decades? And still they present me with types in the autocomplete drop-down that I have never ever used in any of my projects. Yes I know, but I got tired eventually from excluding them. In my brain autocomplete is not hard, yet for an IDE guessing seems really really hard. AI improved this, at the cost of a second latency. No thankee sir.
Yet IntelliJ has always (figuratively, I dunno about its first years) been famous for having by far the best auto-completion ever. People used to become very upset when they were forced to use Eclipse after experience with IntelliJ.
I got OpenJDK 17 to compile for iOS, but I had to disable JIT compilation as iOS doesn't allow running unsigned Code.
Running the JVM itself is possible as long as the binaries are signed, and located at the correct paths.
The paths issue really made me jump through hoops because Apple doesn't sign binaries unless they are bundled in Frameworks at the root of the bundle. That forced me to create symlinks to replicate the directory structure expected by the JVM while satisfying Apple's stupid policy.
Of course this whole thing only occured when I tried to submit to the App Store and the whole app was finished. I wasn't going to give up at that point.
The app is monetized by limiting the number of “runs” you can do per month. Based on iOS limitations I think we can assume this means the compilation is done on a remote server.
EDIT: nevermind! I tried running a program with airplane mode on and it still worked. Now I’m really interested to hear how this was accomplished.
Probably a OpenJDK Zero VM build. That's a configuration without JIT or template interpreter, but a "plain" C++ switch dispatch interpreter that requires no runtime code generation.
I don't have a compatible device but I'm curious how the pricing works. Does it work like a subscription where you pay monthly for unlimited runs per month? Or do you just need to pay for enough runs and buy more if you run out?
In university, my friend used an iPad for all his notetaking. He had a keyboard for it, and used it like a little laptop. Bet he would have been all over this!
This is very common. A majority of my engineering maths students are writing lecture notes and exercises on a digital device, the plurality on iPad (Surface next most common). Many of these iPad users have a laptop as well as or instead of a keyboard for their tablet though, as the extra screen and flexibility are worth it.
This is awesome! I definitely think it makes coding way more accessible to beginners and would allow me to work on cool side projects, without having to carry a laptop around. Can't wait to try it out.
This is my biggest hang up about the iPad. Hardware is great. The OS is… passable. Sort of.
For me: I can’t do computer things that I want to do (mainly code, but sometimes game, etc).
I ended up buying a used Surface Pro X. A bit slow, but I like that I can run something like VS Code and a Node server, or even a real web browser with network debugging tools, all using a touchscreen while on a bus or in an airplane.
(For my gaming fix, I find that GeForce Now or Moonlight work pretty well for streaming my existing games — not as practical to do on a bus though.)
I understand what you are saying. The iPad is the best choice for some people and the worst choice for others. I have an older iPad Pro and it’s by far my favorite computer mostly because it doesn’t really feel like a computer.
My favorite apps are Procreate and GoodNotes. For me, either one is a killer app that justifies having an iPad.
I also have a ThinkPad for my personal projects and a desktop workstation for my job. Each machine has its strengths and weaknesses. Each was chosen because it was a great choice for what I need to do with it.
I’m one of the few people that hope the iPad doesn’t get more computer-like. I miss the days when you had an Atari or Amiga or PC or Mac and they were all very different and exciting and in competition with each other. Now we are approaching a very boring endgame where cross platform apps look the same everywhere and there’s nothing fun about any of it.
One solution is to tape a pi to your iPad case. :)
No internet connection required.
This should work for node but not compiled languages. I think that the compilation would happen on the slower Pi but maybe someone can figure out a way to compile but not run on the iPad.
But I also have internally a bigger app that is doing similar approach (not open source code though) - https://www.smartercurrency.app
I’ve yet tried and I guess it’s limited for trying to do any ObjC++ / C++ / Metal. But I do believe Apple is using playgrounds as a playground for Xcode successor.
The biggest issue though, is version control (git…) which requires more work to get things properly.
> I guess it’s limited for trying to do any ObjC++ / C++ / Metal
The last time I tried, I couldn't get it to work, except...
One of the documented ways of creating compiled Metal kernels is to provide the source code as a string in your Swift code. And that works in Swift Playgrounds. It will compile and run your C++ Metal kernels, but it either works or doesn't. You get no compiler output.
That's the main drawback I find with the iPad. So much memory, so much processor, and not being able to use an app that allows me to create iOS apps. It's the reason why I only have an old iPad Air, it's enough for browsing, reading ebooks, and watching a movie on a trip. Anything bigger would be too bulky with the MacBook.
> and not being able to use an app that allows me to create iOS apps
Maybe you already know about this and you just mean there isn't an app that provides the equivalent of your full MacOS dev environment, but you can absolutely build and run iOS apps on your iPad with Swift Playgrounds.
It has a lot of shortcomings, but I've used it to create a couple little personal apps that I can run without distributing them through the App Store.
So far, sort of. Continuous does have the advantage of having both C# and F# (although it’s a bit crashy these days on modern iOS). I can take the code I test there and build it on a desktop system as well, but haven’t figured out how easy it is to round-trip stuff in this yet (should be as easy, if not easier, but re-using libraries might be trickier).
And probably not "go to definition". Completion quality is also questionable. These are very hard problems, even for a language with strict typing like Java. It's not easy to get these basic lookups correct and smooth.
Personally I wouldn't call it an IDE (yet).
Exactly, Intellij has been in the autocompletion industry for what, almost 2 decades? And still they present me with types in the autocomplete drop-down that I have never ever used in any of my projects. Yes I know, but I got tired eventually from excluding them. In my brain autocomplete is not hard, yet for an IDE guessing seems really really hard. AI improved this, at the cost of a second latency. No thankee sir.
This is a great line.
Genuine question.
Of course this whole thing only occured when I tried to submit to the App Store and the whole app was finished. I wasn't going to give up at that point.
I just wanted to say great job!
And did you also try to use GraalVM?
EDIT: nevermind! I tried running a program with airplane mode on and it still worked. Now I’m really interested to hear how this was accomplished.
The UI is good, looks clean
Deleted Comment
For me: I can’t do computer things that I want to do (mainly code, but sometimes game, etc).
I ended up buying a used Surface Pro X. A bit slow, but I like that I can run something like VS Code and a Node server, or even a real web browser with network debugging tools, all using a touchscreen while on a bus or in an airplane.
(For my gaming fix, I find that GeForce Now or Moonlight work pretty well for streaming my existing games — not as practical to do on a bus though.)
My favorite apps are Procreate and GoodNotes. For me, either one is a killer app that justifies having an iPad.
I also have a ThinkPad for my personal projects and a desktop workstation for my job. Each machine has its strengths and weaknesses. Each was chosen because it was a great choice for what I need to do with it.
I’m one of the few people that hope the iPad doesn’t get more computer-like. I miss the days when you had an Atari or Amiga or PC or Mac and they were all very different and exciting and in competition with each other. Now we are approaching a very boring endgame where cross platform apps look the same everywhere and there’s nothing fun about any of it.
No internet connection required.
This should work for node but not compiled languages. I think that the compilation would happen on the slower Pi but maybe someone can figure out a way to compile but not run on the iPad.
https://magpi.raspberrypi.com/articles/connect-raspberry-pi-...
I’m even maintaining project that still keeps working as Swift Playgrounds.
Here is an open source example of such: https://github.com/talaviram/OpenSpoken/tree/main/OpenSpoken...
But I also have internally a bigger app that is doing similar approach (not open source code though) - https://www.smartercurrency.app
I’ve yet tried and I guess it’s limited for trying to do any ObjC++ / C++ / Metal. But I do believe Apple is using playgrounds as a playground for Xcode successor.
The biggest issue though, is version control (git…) which requires more work to get things properly.
The last time I tried, I couldn't get it to work, except...
One of the documented ways of creating compiled Metal kernels is to provide the source code as a string in your Swift code. And that works in Swift Playgrounds. It will compile and run your C++ Metal kernels, but it either works or doesn't. You get no compiler output.
Maybe you already know about this and you just mean there isn't an app that provides the equivalent of your full MacOS dev environment, but you can absolutely build and run iOS apps on your iPad with Swift Playgrounds.
It has a lot of shortcomings, but I've used it to create a couple little personal apps that I can run without distributing them through the App Store.
https://apps.apple.com/us/app/continuous-net-c-and-f-ide/id1...
Deleted Comment