Some months ago, my loved Thinkpad x1 carbon started to have some issues on battery and motherboard. It was an 8 years laptop, so i decided to directly buy a new device for my "personal purposes" (all devices for work activities are provided by my employer).
So, i decided to take a "brave choise": I bought a Apple iPad Pro 11', with LTE module and a Magic Keyboard.
With the latest version of iPad OS, the Apple tablet is a good substitute of a 'real' laptop, especially when its use is limited to specific activies, like web browsing, writing and some multimedia activities (like video editing and music producing).
To date, I'm very satisfied with the choice: the iPad Pro is beautiful, compact, fast and I don't feel the need of a laptop. However, just an activity may be difficult on this kind of device: coding!
Luckily, there is a solution even for this problem.
My iPad Pro setup
As i said, I opted for an iPad Pro (2020), 11' with cellular and 128Gb of storage.
An essential accessory is a physical keyboard: the on-screen keyboard take up too much space on the screen. I choose the Apple Magic Keyboard: pretty expensive, but really solid and functional, with a good touchpad.
A mouse in not mandatory, but if you choose another keyboard without touchpad, like the Apple Smart Keyboard Folio or a Logitech Slim Folio, a physical tracking device may be useful. I suggest, obviously, an Apple Magic Mouse.
Initially i tried several software solutions in order to write and run code directly on the iPad.
Also iSH is an interesting project: an instance of Alpine linux emulated on iOS. Sadly, is too slow!
Another solution I tried is a remote server (on my network or on AWS), accessed through an SSH client, like Termius: better than the previous solutions, but limited to a terminal interface.
Finally, i found a perfect solution: GìtHub Codespaces! A full Visual Studio Code session running directly into the iPad browser, with a development machine perfectly configured with correct library and dependencies according to your GitHub project.
Currently, Codespaces is free during the limited beta: you can request access to the beta using this link.