I've tried to use an iPad for Python web development - it's usable for a Vim person since they'd be using the keyboard all day, but for me I missed Sublime too much. Ended up getting a Macbook and the iPad is now collecting dust.
Also task switching between your editor (which was Vim inside an SSH terminal in my case) and Safari to see the end result was way too slow, and you constantly need to take your fingers off the keyboard to interact with the touchscreen.
For external keyboards, Cmd-Tab works on the iPad to switch applications. In addition, most apps support a subset of standard keyboard shortcuts - if you hold Cmd down, it'll throw up a list on screen.
I worked off of an iPad Pro 12.9 (with keyboard cover) when I was remote for a few months. It was ok. What made it possible for me was Panic Inc's Coda, Transmit, and Prompt apps.
The portability of it and battery life were great. There's also a certain intimacy in working with a touch device. But there's a cumbersomeness to it when coming from a keyboard-centric background.
The portability and battery life were great, and since Android has the Termux app available, I could also do vim/git/node.js locally.
Unfortunately I had to give the tablet back when I switched jobs earlier this year. The iPad Pro looks pretty appealing, especially now that there is a Mosh app (Blink Shell), meaning that the SSH connections won't cut out after two minutes of being out of the app.
I'm curious what device the author prefers, for software development: iPad Pro or the surface. Also, the conclusion is that "it’s quite possible" to use the iPad Pro, but that isn't necessarily an endorsement.
I only ask because I've been toying with the idea of buying a surface / iPad Pro.
I have a 2015 15-inch retina macbook pro and a surface pro 4. Ever since Windows 10 added a native ubuntu bash shell to its OS, I have preferred using the surface for all of my development (some web stuff where I ssh into other boxes and some python number crunching done locally). A big factor is that the surface pro 4's screen looks a lot better than my retina macbook pro because it is more dense and has a higher resolution. A few years ago I would not have believed the stuff I am writing in this comment, but here we are!
I carry both at times. During commute and travel I use the iPad for development as it has smaller form factor and longer battery life. Developing on it is enjoyable given the right “homework” with the automated deployment. Obviously the feedback is not as fast as using the surface as all compilations and vm or containers works locally.
I think the right tool for the right situation would best describe this. Mind you that the comparison was with surface pro 4, as I understood the new Surface should have better battery life.
We've got a gen-3 Surface in the office for when we need to do Windows stuff and I'd say: definitely try before you buy. Given how much positive stuff I'd heard about it, almost every part of the reality was... surprising.
I do most of my writing and research on an iPad Pro, but not much coding - just little things while traveling. I like Raskell for Haskell and Pythonista. I also use Prompt for SSH.
Why? You can get iPads with cell service, allowing you to connect to a test/staging server without having access to power. I use a full blown MacBook Pro at work, and _still_ connect to a powerful EC2 box running tmux/vim/etc for development.
I'm curious how the smaller screen affects productivity. I've had the primary responsibility for building applications with associated web services and tackling that on a 15" Retina Macbook Pro was, while possible, hardly ideal and certainly not what I would call "enjoyable". It was by temporary necessity and it was a relief having a large external monitor attached. Jumping between applications gets old pretty fast and turns what would otherwise be a smooth flow from one part of a task to another into nearly a full context switch.
As an aside, when I see "simply", "of course", or "just" (or, for example, hear it in a presentation) I get concerned since those are abstracts of highly variable possibilities that could otherwise be interpreted as "your mileage may vary". Ergo, the relevance could drop off precipitously, leaving little more than a passing anecdote.
That's not meant as a jab at the author as I appreciate them outlining their experience as it provides useful guidance. (And I'm probably over-analyzing it...)
I've noticed that it's easier for me to get to a state of flow on smaller screens vs big or multiple screens. The tabbing between applications (e.g. IDE and browser) doesn't tire me either. It's like the simple keystrokes for tabbing between applications are far less intrusive than having to turn my head, search, and regain focus. To me that makes sense.
The screen real estate alone should be a good reason not to do that. I gather most people do js programming on a tablet. I would still need three windows side by side: the IDE, the UI rendered in a browser, and stackoverflow or some documentation. Having to switch all the time must be tiring.
The most effective folks I've talked to about doing this tend to be doing server-side work and pretty heavily TDD'd. So most of your time can be spent with an editor in one pane and docs in the other, and have a keyboard shortcut in your vim/etc terminal window to run your tests automatically.
I'd love to find a good iPad style dev workflow, but the step that requires "commit and push" before compiling is a deal breaker for me. Is there no rsync or good way to move a local copy to a remote dev server from the iPad?
Well you have things like Dropbox and iCloud and box.net, etc, etc. They will sync files across magically. Plus there are editors that can do it across things like SFTP: https://panic.com/coda-ios/
I use Coda to push files to remote servers for exactly this reason. There's a good number of alternatives that are less feature-rich than Coda which can do the same thing. I think Prompt is probably a great alternative if you just want to SSH a file onto a remote box.
Working Copy is an app that provides you with, just that, a local working copy of your git projects on your phone. Not just an explorer. Just started using it yesterday and I love it.
meh...looks pretty rough to me still; that seems like a HUGE sacrifice coming from a surface pro 4. As much as I don't like it, cloud based IDEs + dev platforms seem like the only way for this to work.
Even for web development it's useless for me. Today I had to install new package via composer, install new package via npm, do multiple gulp/grunt runs, regex trough 100k+ lines of log files, ssh multiple times to the server and build docker containers. And that's just average day at the office as PHP/JS dev / devops. Try to do that on iPad.
the thing is, every device can be used for web development these days.
"it’s quite possible to do advanced software development on the iPad"
the author's idea of advanced seems to correspond to what i consider the duplo blocks of programming, which is sad. :/
try some actual software development and the ipad does not stack up, because there are zero compilers for it and zero tools. on the other hand, that surface 4 can run all of the industry standard tools except xcode and lets you build native code for any platform, including those horrible apple ones and complicated or specialist stuff like quantum computers or games consoles.
Doesn't take much to connect a mechanical keyboard (assuming you meant keyboard not keyword) to an iPad. And the keyboard shortcuts on the iPad are becoming much more powerful.
You can of course connect an external monitor to an iPad, but not a lot of applications are taking advantage of this ability yet (for extended screen space).
But realistically, iPad won't be ready until they support the mouse due to "gorilla arm" as it's called. Getting the iPad to eye level for proper ergonomics require a lot more effort to raise your arm to interact with the screen.
[+] [-] Rjevski|8 years ago|reply
Also task switching between your editor (which was Vim inside an SSH terminal in my case) and Safari to see the end result was way too slow, and you constantly need to take your fingers off the keyboard to interact with the touchscreen.
Related: http://yieldthought.com/post/31857050698/ipad-linode-1-year-...
[+] [-] haikuginger|8 years ago|reply
[+] [-] decasteve|8 years ago|reply
The portability of it and battery life were great. There's also a certain intimacy in working with a touch device. But there's a cumbersomeness to it when coming from a keyboard-centric background.
[+] [-] bergie|8 years ago|reply
http://bergie.iki.fi/blog/working-on-android-2017/
The portability and battery life were great, and since Android has the Termux app available, I could also do vim/git/node.js locally.
Unfortunately I had to give the tablet back when I switched jobs earlier this year. The iPad Pro looks pretty appealing, especially now that there is a Mosh app (Blink Shell), meaning that the SSH connections won't cut out after two minutes of being out of the app.
[+] [-] mozartoz|8 years ago|reply
I realise the advantage one of the huge advantages of this approach is that you have so few dependencies even Android or iOS can be OK.
[+] [-] skizm|8 years ago|reply
I only ask because I've been toying with the idea of buying a surface / iPad Pro.
[+] [-] hari_seldon_|8 years ago|reply
[+] [-] rvbd|8 years ago|reply
I think the right tool for the right situation would best describe this. Mind you that the comparison was with surface pro 4, as I understood the new Surface should have better battery life.
[+] [-] ashark|8 years ago|reply
[+] [-] mark_l_watson|8 years ago|reply
[+] [-] eggy|8 years ago|reply
I also use Continuous [1] for F# dev. Great IDE experience, and being able to play around with apps right on the iPad Pro (2016 model).
[+] [-] rocky1138|8 years ago|reply
and
> "Having a test or staging server is mandatory so that we can test our codes that we wrote on the iPad."
are not congruous.
[+] [-] the_gastropod|8 years ago|reply
[+] [-] settsu|8 years ago|reply
As an aside, when I see "simply", "of course", or "just" (or, for example, hear it in a presentation) I get concerned since those are abstracts of highly variable possibilities that could otherwise be interpreted as "your mileage may vary". Ergo, the relevance could drop off precipitously, leaving little more than a passing anecdote.
That's not meant as a jab at the author as I appreciate them outlining their experience as it provides useful guidance. (And I'm probably over-analyzing it...)
[+] [-] jeppebemad|8 years ago|reply
[+] [-] cm2187|8 years ago|reply
[+] [-] lazerwalker|8 years ago|reply
[+] [-] hartator|8 years ago|reply
I still dream about an iPad that run macOS. :)
[+] [-] marcc|8 years ago|reply
[+] [-] blktiger|8 years ago|reply
[+] [-] zie|8 years ago|reply
[+] [-] artimaeis|8 years ago|reply
[+] [-] asidiali|8 years ago|reply
[+] [-] ashark|8 years ago|reply
[+] [-] jdc0589|8 years ago|reply
[+] [-] bluesign|8 years ago|reply
Even for web development, there are a lot of obstacles on the way.
[+] [-] arvinsim|8 years ago|reply
[+] [-] JollyGiant|8 years ago|reply
[+] [-] wodenokoto|8 years ago|reply
Is it that you "get an ipad" to use when not developing?
[+] [-] jheriko|8 years ago|reply
"it’s quite possible to do advanced software development on the iPad"
the author's idea of advanced seems to correspond to what i consider the duplo blocks of programming, which is sad. :/
try some actual software development and the ipad does not stack up, because there are zero compilers for it and zero tools. on the other hand, that surface 4 can run all of the industry standard tools except xcode and lets you build native code for any platform, including those horrible apple ones and complicated or specialist stuff like quantum computers or games consoles.
[+] [-] fhood|8 years ago|reply
[+] [-] efficax|8 years ago|reply
[+] [-] nailer|8 years ago|reply
[+] [-] infosample|8 years ago|reply
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] jam-python|8 years ago|reply
[+] [-] icedchai|8 years ago|reply
[+] [-] rxlim|8 years ago|reply
My desktop computer is exactly that.
[+] [-] lolive|8 years ago|reply
IntelliJ is finally available in the App Store? Count me in!
/sarcasm off
[+] [-] awkwarddaturtle|8 years ago|reply
I need a keyword and two monitors at the very least.
[+] [-] nkristoffersen|8 years ago|reply
You can of course connect an external monitor to an iPad, but not a lot of applications are taking advantage of this ability yet (for extended screen space).
But realistically, iPad won't be ready until they support the mouse due to "gorilla arm" as it's called. Getting the iPad to eye level for proper ergonomics require a lot more effort to raise your arm to interact with the screen.