Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

pldelisle

macrumors 68020
Original poster
May 4, 2020
2,248
1,506
Montreal, Quebec, Canada
I recently succumbed to the temptation. I bought a brand new iPad Pro 12.9 2018. As a software engineer and graduating M.A.Sc student, I hesitated a lot before purchasing this new Apple gadget. I was feeling doubtful regarding the usability of the iPad for my daily usage. Regrettably, these fears turned out to be partially true…

What I do everyday
I am a machine learning engineer. I’m currently finishing my M. A. Sc in machine learning applied to medical imaging. I work on adversarial normalization for image segmentation acquired from multiple sites. Basically, I write machine learning algorithms. I am also an active software developer on GitHub with two open source libraries under heavy development. I code, implement features, write tests, and especially debug. My everyday tools for doing my work are Git (Atlassian SourceTree), instant messaging (Slack) for collaboration with other members of the lab I’m in, a LaTeX writing application (Overleaf) and a powerful IDE (Jetbrains PyCharm). All these tools are available on macOS mainly since their inception.

Why chose the iPad Pro
I am a Mac guy. I made the jump from Microsoft Windows in 2012 and I have always worked on Mac and UNIX-Like operating systems since then. Over the years, I adopted a lot of products coming from Apple; the iPhone, the Apple Watch, the Apple TV, and the Mac. I also had the first generation iPad Air when it released in 2013. I loved this iPad, but unfortunately, the battery has worn out and it now needs to be plugged at all time, impacting severely the usability of it. I love the Apple ecosystem and the “it just works”. For a professional, this aspect is crucial since it can improve productivity a lot. For me, problems in the Apple ecosystem are very, very rare. Everything works flawlessly. Going with the iPad Pro more than any other tablet on the market was natural.

But why not stay with the Mac? My actual MacBook Pro is the high-end 15 inches late-2013 model. While there is still hardware and software support for it, the battery is aging, lasting no more than an hour. One must know that heading to work takes me an hour and a half and take the same amount of time for returning home, so the Mac just can’t hold it anymore. Plus, it’s been almost 7 years I carry this laptop every day from home to college and university. I had enough. I wanted something lightweight, reliable, fast, that just work, and with which I could leave the Mac at my office and work on the go and at home.

I tried both iPad Pro sizes. I had both 11-inch and 12.9-inch side-by-side for more than two hours. The thing that tipped the balance in favour of the 12.9-inch is when I read a scientific paper on it. Reading papers and journal articles is currently, as a master student, a large proportion of my time at work, and will also be at my future job as a research engineer. Reading double-column papers on this iPad is absolutely a charm. The Apple Pencil makes annotations a breeze, writing notes and summary of articles very quickly. The other thing is for remote desktop. I wanted to be able to remotely connect to my Mac if I needed to, and the bigger screen makes it a bit easier. The increased size of the display is also easier for viewing and writing code while not making the iPad bulky as a laptop. The Apple Smart Keyboard Folio was also more comfortable for this usage in its 12.9-inch format.

Where things get complicated
The 12.9-inch iPad Pro is, without any doubt, an incredibly powerful tablet. To date, I have not seen any slowdown. It follows me as fast as my Mac does. Even if it is almost 7 years old, my Mac it’s still plenty fast enough for my daily use. iPadOS is definitely better than any iOS previously released for the iPad. Without doubt, it unleashes the power of the iPad with improved multitasking, the possibility to use external drive, spaces, powerful gestures, without forgetting the increasingly more versatile Files app. iCloud integration is at its apogee, saving storage space on the iPad and seamlessly integrate with many apps. Dark mode is being integrated into many apps too, which gives stunning visual effects.

It does pretty much everything my MacBook Pro does without sacrificing efficiency and productivity. Except one thing.

Coding.

As a software developer, I can attest that the iPad Pro misses an integrated development environment.

I useTextastic app. While being able to directly use repository from Working Copy which is a powerful and beautiful implementation app for Git workflows, it doesn’t have code completion for Python, currently one of the most used languages. I could have used Pythonista, but the app hasn’t been updated in two years and actually /running/ Python scripts on the iPad is not one of my priorities. I have dedicated Linux servers with powerful NVIDIA GPUs in them for this. I don’t even run Python code on my Mac, my algorithms requiring far too much power than any Mac computer could deliver (except the Mac Pro). There’s Code Editor by Panic (formerly Coda) which seems higher quality, but seems to lack a few features from Textastic while offering others which are less useful. For terminal emulation, the Termius app, in its free tier, offers pretty much everything one needs. Blink Shell is also a very nice app for terminal emulation.

It seems like we cannot get the best of all into one app.

What we need
What we need on the iPad is a complete IDE with the possibility to have a remote execution / interpreter / deployment configuration, just like we have in any JetBrains IDE. I personally develop on my Mac, but I have run configurations that execute my code on remote servers with automatic uploading and synchronization.

Why couldn’t we get this for the iPad? A serious IDE app, in which you can edit your code, have a console at the bottom, navigate your project on the left, and a /Play/ button at the top right corner to run your code on the server you want, whether it’s on the cloud or your own at your office or at home. And most importantly, having a complete, full-featured debugger, just like the one in any JetBrains IDE. Having such a debugger for remote execution could be a life changer for any software developer who has to debug something on the go.

debug_session-1024x640.png
A typical debugging session in JetBrains PyCharm.

Why not build and run on the iPad?
The compute capabilities of the iPad Pro are no longer to be demonstrated. We all know the iPad Pro, compute-wise, is a beast, surpassing in some use case fully powered Intel mobile CPUs. Why not unleash this to the developers? I can perfectly imagine an iPadOS app developer code, build, and test its application directly on the target device. It would assuredly greatly improve efficiency and productivity of this developer. So why Apple is still reluctant about it, the same company which claims at every WWDC their OS improve productivity for all kinds of people, but forgetting the very ones in front of the stage during this event?

The solution might be in containers technologies.

We saw during last decade the lightning rise of containers technologies such as Docker. For the latter, it first began on Linux, but the native implementation on macOS didn’t take long before being released. Using the native /Hypervisor/ framework, it’s one of the best things that could happen to software developers on the Mac. It’s efficient, stable, and user-friendly.

Why not port this to iPadOS?

Okay, you might think this guy is crazy, but this could unlock the possibility to build and run code on the iPad the most secure way possible.

One of the main things why Apple is reluctant to let developers actually build and run code on the iPad is security. The malicious code could potentially affect other apps and compromise security of the device, which is for Apple the biggest possible no-go.

But if we port a container technology to the iPad, one could seamlessly code, build and run its code within a secure container, without actually knowing it’s a container underneath. Inputs could be bridged to the container if the application requires interaction from I/O such as touch screen or Apple Pencil. The powerful A12X/A12Z processors coupled with the fast storage of the iPad could definitely be able to instantiate a container on demand effortlessly. IDE’s developers would be proposed to use a simple framework just like any other iPadOS framework in which the app create or use a container for executing code. The user could choose which container to use from a platform such as DockerHub. Since most of the images are quite small in disk usage, storing them locally on the iPad, which has multiple storage options, would not be a problem. Installing any libraries would not be limitation anymore like in the actual Pythonista app. Software isolation is the key here.

Conclusion
I presented here my personal opinion about a product I love from Apple. The iPad has its place, but the OS still severely limits the capability of this great device. It’s certainly the greatest tool for artists, students, and any people who want an easy to use, portable and lightweight device. For some people, the iPad can totally replace the Mac or PC, but I find software developers are left behind on this great device. Hopefully the app will get more and more sophisticated over time. I saw that Panic Inc. has some plans to port Nova, a completely redesigned code editor to the iPad, meaning there might be hope in seeing a real IDE on the iPad in the coming year. Many people hoped Xcode would appear at WWDC 2020 in iPadOS 14, which could have been a big step forward for software developers wanting to do more out of their iPad, but unfortunately, Apple chose not to include the app.

Thanks for reading!
 
Last edited:
Have you tried jupyter with ssh? I’ve not tried it on the iPad but I use it all the time to connect to our cluster of GPUs and run ML code.
 
  • Like
Reactions: Slimmyhendrix
Have you tried jupyter with ssh? I’ve not tried it on the iPad but I use it all the time to connect to our cluster of GPUs and run ML code.

I haven’t. I rarely use Jupyter. Jupyter is fine for small ML things or data mining, but not the kind of long training as I do. My code takes 5 days to train On a Tesla V100 32 GB.
 
I haven’t. I rarely use Jupyter. Jupyter is fine for small ML things or data mining, but not the kind of long training as I do. My code takes 5 days to train On a Tesla V100 32 GB.
I have jupyter hooked up to a quad GV100 machine but I tend to only access it on my desktop via ssh. I may give the iPad a go at some point. I use pytorch mostly.
 
Yeah me too, Pytorch is the best ! Made a lib for Pytorch with a university colleague : https://github.com/banctilrobitaille/kerosene

It's not that I don't like Jupyter, but I find you tend to do smaller things with it than plain Python scripts.

Might be time for me to switch to Swift development and make this IDE for iPad ... ahah !
I’m keen to find out more when you have something. Pytorch is amazing. Wait until you train on a multi-gpu system it blew my mind how easy it was to setup!
 
I agree with you. iPad is a great device and definitely can meet the needs of a lot of people but not for everyone. Software Development is one of those aspects that is severely lacking. Honestly we Devs want one integrated IDE for everything. We do not want to install multiple apps and have complicated workflows. We want as simple workflow as possible so that we can focus on the technical solution design and the coding itself.

That being said I am not sure how many people are there like you and me to warrant Apple or other companies (like Jetbrains) to invest in making IDE app for iOS/iPadOS.

Also while I do think that the iPP have great CPUs I worry about the RAM. Granted I do mostly Java coding, less Python. I mean I now read Java code at work (manager, no time to write code) but at home I play around with Python and data mining and machine learning (newbie, no expert like for sure). And running the IDE setup on my Windows computer does needs its RAM.

For me also Apple needs to work on RAM management in iPadOS. The way the OS seems to decide on its own to kill processes is not the way to go when you are working on things like coding, compiling and testing. And if you ask me is not the way to go for a lot of professionals. This is what holds iPads back for me. I am true multi tasker in the sense that I am quite efficient and do run multiple processes on my computer in the same time. I would read documentation or check code while I am waiting for something to compile and be deployed so that I could test it.

Also multiple monitors. I like to see on one place the application that I test and on the other monitor to have the IDE to debug and check the code.
 
Forgive me for sound abrupt or perhaps rude and unknowledgeable, I don’t mean to- it’s a serious point. The op mentioned everything is in place except the correct applications, but as programmers - can’t you just develop the required apps?
 
  • Haha
Reactions: el beisbol
Forgive me for sound abrupt or perhaps rude and unknowledgeable, I don’t mean to- it’s a serious point. The op mentioned everything is in place except the correct applications, but as programmers - can’t you just develop the required apps?

This is indeed a good point. If a Developer knows Swift and sees the benefits (meaning a lot of people would use it and pay for it) a Developer can start thinking in that direction.

I have not written Swift but I have a friend that tried. First of all you need Mac to be able to write Swift code. OP can do it, but I cannot and this puts me off. As a Developer I do not like a company to restrict my choice on the used machine for writing code. I want to be able to use the machine I want, the OS I want and to be able to install the IDE where I want. Second iOS Developers are not allowed to do a lot when it comes to RAM management. This puts me off as a Developer too.

So to answer your question yes Developers can but for me personally Apple has not done a lot to motivate me to write Swift code. Their strategy does not work for me.
 
  • Like
Reactions: cupcakes2000
Forget the native apps and run jump desktop back to a desktop. It’s infinitely less frustrating and it actually works really well.
 
  • Like
Reactions: akash.nu
Also while I do think that the iPP have great CPUs I worry about the RAM. Granted I do mostly Java coding, less Python. I mean I now read Java code at work (manager, no time to write code) but at home I play around with Python and data mining and machine learning (newbie, no expert like for sure). And running the IDE setup on my Windows computer does needs its RAM.

You are right. As soon as you touch to ML/data mining, it takes a lot of RAM. But I have powerful servers for this with 256 GB of RAM. The idea is to maybe let build small apps/apps that are in the iPad’s capacity of running. Most non-scientific apps don’t take more than 50-100MB of RAM. And for the rest of us, allow the IDE of the iPad to run remote interpreter/JVM. You connect to a server which runs the environment without never exiting the native iPad app. Jetbrains IDE can run a remote SSH JVM/Python interpreter pretty easily. So I could remotely connect, run and debug code with breakpoints within the iPad app.

The idea too is not to force a dev to be iPad-only. It’s for working the road. Leave the Mac at home, continue working in public transport for example. Once you are at the office, you commit/push on the iPad, pull on your office machine and you are ready to go.


Forgive me for sound abrupt or perhaps rude and unknowledgeable, I don’t mean to- it’s a serious point. The op mentioned everything is in place except the correct applications, but as programmers - can’t you just develop the required apps?

I could if I had the time to do it !😅

As a Developer I do not like a company to restrict my choice on the used machine for writing code. I want to be able to use the machine I want, the OS I want and to be able to install the IDE where I want.

With all the tools Apple offers in Xcode to ease the devs, I see no problem with the Mac-exclusive environment. It’s normal for a company to impose a development platform for its own product. Just think to embedded hardware development which all impose their own IDE (but in their case, they are all crappy!) The mac is the perfect platform for development of an iPad/iPhone app. I think Jetbrains has AppCode IDE but I don’t know how it compares against Xcode.

Forget the native apps and run jump desktop back to a desktop. It’s infinitely less frustrating and it actually works really well.

I tried the app and ask for a refund. The resolution can’t match my Mac. You really get tired soon, the resolution is blurry. I chatted with tech service and they never found a way to help me, so asked for a refund. I tried a plain VNC too, but it was kind of sluggish. Haven’t tried Screens or Duet remote desktop thought.
 
You are right. As soon as you touch to ML/data mining, it takes a lot of RAM. But I have powerful servers for this with 256 GB of RAM. The idea is to maybe let build small apps/apps that are in the iPad’s capacity of running. Most non-scientific apps don’t take more than 50-100MB of RAM. And for the rest of us, allow the IDE of the iPad to run remote interpreter/JVM. You connect to a server which runs the environment without never exiting the native iPad app. Jetbrains IDE can run a remote SSH JVM/Python interpreter pretty easily. So I could remotely connect, run and debug code with breakpoints within the iPad app.

Yes this is a good option. To be able to run the full IDE remotely on some server.

The idea too is not to force a dev to be iPad-only. It’s for working the road. Leave the Mac at home, continue working in public transport for example. Once you are at the office, you commit/push on the iPad, pull on your office machine and you are ready to go.

Ah I see, sounds good.

I could if I had the time to do it !😅

True that.

With all the tools Apple offers in Xcode to ease the devs, I see no problem with the Mac-exclusive environment. It’s normal for a company to impose a development platform for its own product. Just think to embedded hardware development which all impose their own IDE (but in their case, they are all crappy!) The mac is the perfect platform for development of an iPad/iPhone app. I think Jetbrains has AppCode IDE but I don’t know how it compares against Xcode.

Well I see your point but I kind of disagree. I need a lot more to decide to invest in Mac because it is far more expensive compared to the same hardware from other brands and I don't think it offers me enough to justify the cost. Take Jetbrains or Eclipse - I can install this thing whenever I want. I expect the same from any IDE. The way I see it - Apple offers really closed system where the moment I invest money in it (and it is a lot because Apple devices are expensive) I cannot get out. This is not an option I accept. I want to have the flexibility to move to whatever device I want. Today Macs might work for me, tomorrow they do not. I want to be able to always choose the best tools for me (hardware and software). As it is, Apple chooses. I am not that type of person. I know what I want and I want to get it - no questions, no restrictions. This is how I do it.
 
Yes this is a good option. To be able to run the full IDE remotely on some server.
Not the IDE itself, but the interpreter/JVM on which the code run. See https://www.jetbrains.com/help/pycharm/configuring-remote-interpreters-via-ssh.html#ssh

Well I see your point but I kind of disagree. I need a lot more to decide to invest in Mac because it is far more expensive compared to the same hardware from other brands and I don't think it offers me enough to justify the cost.

Believe me, it totally worths it. Switched back in 2012. Would never go back again. Yeah, I eclipsed the 2016-2019 faulty keyboards, I'm still on my maxed-out Late-2013 MacBook Pro 15. But even after almost 7 years, it still runs fine and will still be supported by Big Sur. And it will have an additional 2 years of security updates after that. So a 9-10 years of support, it's pretty insane for tech products. Yeah, it was 4000$ CAD at time of buying, but it served me incredibly well and still do.


I understand your point of view. I like to play in hardware too. But for my daily driver, I want a computer that just works, that "works like magics" as Steve was saying. And Apple offers me that. When I want new hardware, I simply drop by the Apple store, chose what I want, pick it up and start to work. Best tool for me has always been my Mac and Linux. I don't see why I would change my hardware to anything non-Apple, especially with the upcoming Apple Silicon Macs and improved Linux virtualization (for ARM Linux, but ARM binaries are already popular on Linux). But it's a matter of choice :)
 
  • Like
Reactions: akash.nu
Not the IDE itself, but the interpreter/JVM on which the code run. See https://www.jetbrains.com/help/pycharm/configuring-remote-interpreters-via-ssh.html#ssh

Ah I see. Thanks for the link!

Believe me, it totally worths it. Switched back in 2012. Would never go back again. Yeah, I eclipsed the 2016-2019 faulty keyboards, I'm still on my maxed-out Late-2013 MacBook Pro 15. But even after almost 7 years, it still runs fine and will still be supported by Big Sur. And it will have an additional 2 years of security updates after that. So a 9-10 years of support, it's pretty insane for tech products. Yeah, it was 4000$ CAD at time of buying, but it served me incredibly well and still do.

Yes, indeed, good point that usually Mac last more years. That being I said I do not want a computer for more than 4 years. To put it slightly I feel the need to upgrade in 4 years. Whether it is because I want to try out more RAM, or more SSD or another CPU, I just want it.

I understand your point of view. I like to play in hardware too. But for my daily driver, I want a computer that just works, that "works like magics" as Steve was saying. And Apple offers me that. When I want new hardware, I simply drop by the Apple store, chose what I want, pick it up and start to work. Best tool for me has always been my Mac and Linux. I don't see why I would change my hardware to anything non-Apple, especially with the upcoming Apple Silicon Macs and improved Linux virtualization (for ARM Linux, but ARM binaries are already popular on Linux). But it's a matter of choice :)

Yeah if you are happy with what Apple offers or any brand for that matter why would you change? You should keep what you have and what works for you!

But this is the thing for me. I am not happy with Apple offers. Like keyboards up to 2019 - it is disaster. Thermal issues. Dongle world. Why would I need 4 USB C ports and no USB A or HDMI? Why can I not change SSD and upgrade? Why can I not increase my RAM? Why do I need to wait for 3 years to get a computer that does not have ****** keyboard? See this is what I do not want. I do not want to be restricted by such things. And to have to buy that thing that I find highly overpriced for what it offers to write code is just too much for me.

Yeah I can buy dongles but this is not it works (as Jobs says) for me. It works means I buy the computer, turn it on and that's it.

Does this mean that Windows PCs are better or perfect? Hell no. IMO both OS sucks equally. I am Windows person, always have been. Never had disaster with Windows but I trust people stories and obviously some people have had disasters. However I have also seen Mac disasters. Same for Android and iOS. I have both, the Apple devices I have (iPhone and iPad) are not more stable than my Android phone. So honestly I think that both MacOS and Windows are at the same maturity level (in terms of crashing or it works). It is a matter of preference now and your system and what you have invested in it (both money and time).

That being said to return to my previous thought - at least in my country Macs are expensive. My co-workers are put off by the price and the closed system. In my country (Europe, not USA) Developers avoid as much as possible investing time and efforts in learning programming language surrounded by closed system for two reasons:

1. They cannot always play around at home
2. Not every company would offer this closed system

Most Developers here learn as much as possible common languages that offer them variety of different options when it comes to work offers. Investing a lot of time and efforts in Swift and only Swift would not be seen as a wise choice here as it is rather too specific and can be used only for iPhone and iPad apps. On the other hand languages like Python, Java, C, C++ offers you more variety and thus more opportunities.

The market might be different in USA of course.
 
But this is the thing for me. I am not happy with Apple offers. Like keyboards up to 2019 - it is disaster. Thermal issues. Dongle world. Why would I need 4 USB C ports and no USB A or HDMI? Why can I not change SSD and upgrade? Why can I not increase my RAM? Why do I need to wait for 3 years to get a computer that does not have ****** keyboard? See this is what I do not want. I do not want to be restricted by such things. And to have to buy that thing that I find highly overpriced for what it offers to write code is just too much for me.

Ahahah ! I feel your pain. Yeah, Johny Ive made a disaster with the butterfly keyboard. Nothing less than a real disaster. But well... No computer company is perfect. I see no problem with the thunderbolt ports thought. On the road, it's fairly rare that I ever need to plug my Mac in anything else than power. At home I would have a thunderbolt dock. Expansive, but still worth it.

As for RAM, SSD ... Useless. If you pick the right hardware at the beginning, you will never worry about this. For example, I have 16 GB of RAM in my MBP. It still manage perfectly well with 16 GB. My next computer will likely have 32 GB, because 32 GB will likely be the next standard in the coming years. Why would I need to upgrade within the next 7-8-9 years with 32 GB of RAM as a software engineer? Yeah, might be a higher upfront cost, but I don't have to worry about it over all the life of the computer. And that's the minding of almost everybody buying a Mac. Chose the right hardware at the beginning or slightly overpower and it will last over all the life of the computer.

Does this mean that Windows PCs are better or perfect? Hell no. IMO both OS sucks equally. I am Windows person, always have been. Never had disaster with Windows but I trust people stories and obviously some people have had disasters. However I have also seen Mac disasters. Same for Android and iOS. I have both, the Apple devices I have (iPhone and iPad) are not more stable than my Android phone. So honestly I think that both MacOS and Windows are at the same maturity level (in terms of crashing or it works). It is a matter of preference now and your system and what you have invested in it (both money and time).

I haven't seriously used Windows 10. The last Windows I used was either 7 or 8.1 I think (back in 2012, I know I used Windows Server 2012R2...). And it was a f*cking disaster. MacOS isn't perfect, especially at the beginning of Catalina, but every other version (except Yosemite when they switched the UI) was near perfect stability and usage. Never had a single problem with iCloud, iPads, Apple TV, Watch, name it ... I have them all. It always worked f l a w l e s s l y. ahah. I don't have Android hardware because I care about security and privacy and feel only Apple has a solid privacy concern for their users. As of macOS, I updated to Catalina when the .2 was released. There was still a couple of bugs, but nothing major. Not a single bug since .3 release. MacBook Pro has more than 90 days of uptime, still run like I just booted it. Really, having a UNIX legacy in macOS is seriously helping and way more powerful than any Windows version ever made. But after all, a dev must pick what he is confortable with and, as you said, pick the right tools for his use cases. My friend who is electrical engineer and embedded software dev don't have choice to run Windows. But if he could, he would switch instantly to macOS. I think, as a software engineer, that macOS is way more powerful, flexible, and stable than any other OS, including Linux (I always had bad experience with Linux and GUI. Headless Linux is flawless, especially RedHat or Ubuntu Server, but as soon as a GUI is in the equation, sooner or later, it f*ck up something). And with even more closed environment coming with Apple Silicon, macOS can only be more stable and performant. Maybe it will become slightly less powerful thought because you won't be able to run Windows on it. For a dev, having the possibility to test your software/web app on all three platforms on the same computer was definitively a plus. But there is no free lunch.

That being said to return to my previous thought - at least in my country Macs are expensive. My co-workers are put off by the price and the closed system. In my country (Europe, not USA) Developers avoid as much as possible investing time and efforts in learning programming language surrounded by closed system for two reasons:

1. They cannot always play around at home
2. Not every company would offer this closed system

Most Developers here learn as much as possible common languages that offer them variety of different options when it comes to work offers. Investing a lot of time and efforts in Swift and only Swift would not be seen as a wise choice here as it is rather too specific and can be used only for iPhone and iPad apps. On the other hand languages like Python, Java, C, C++ offers you more variety and thus more opportunities.

This is completely understandable. Strategically, learning something open is more profitable than learning something closed. But at the very end, it all depends of your personal choice, career direction you wanna take, and what pleases you more. There are tons of company in Montreal that only does software for apple platforms for example. If you want to do this, you have plenty of choice. It depends of your interests more than the "openness" of the language.
 
Last edited:
  • Like
Reactions: secretk
Ahahah ! I feel your pain. Yeah, Johny Ive made a disaster with the butterfly keyboard. Nothing less than a real disaster. But well... No computer company is perfect. I see no problem with the thunderbolt ports thought. On the road, it's fairly rare that I ever need to plug my Mac in anything else than power. At home I would have a thunderbolt dock. Expansive, but still worth it.

Agree, no company is perfect! The issue is that I do not need 4. I don't see the point of having 4 of the same ports that I cannot and would not use in the same time but to not have HDMI or USB A that I would definitely need and use.

As for RAM, SSD ... Useless. If you pick the right hardware at the beginning, you will never worry about this. For example, I have 16 GB of RAM in my MBP. It still manage perfectly well with 16 GB. My next computer will likely have 32 GB, because 32 GB will likely be the next standard in the coming years. Why would I need to upgrade within the next 7-8-9 years with 32 GB of RAM as a software engineer? Yeah, might be a higher upfront cost, but I don't have to worry about it over all the life of the computer. And that's the minding of almost everybody buying a Mac. Chose the right hardware at the beginning or slightly overpower and it will last over all the life of the computer.

Yeah, it is a matter of preference for sure. For example I use Asus laptop with both SSD and HDD (which is my preferable choice for setup anyway - I do want both HDD and SSD). I was able to choose the SSD I want, I also can expand to 32 GB RAM and definitely plan to do soon. Not because it is needed. I am with 8 GB RAM and it is working quite fine, but I want to leave the Asus maintenance guys to open and clean the laptop and prefer to also increase the RAM as well as I have been using it for 2 and half years already.

I haven't seriously used Windows 10. The last Windows I used was either 7 or 8.1 I think (back in 2012, I know I used Windows Server 2012R2...). And it was a f*cking disaster. MacOS isn't perfect, especially at the beginning of Catalina, but every other version (except Yosemite when they switched the UI) was near perfect stability and usage. Never had a single problem with iCloud, iPads, Apple TV, Watch, name it ... I have them all. It always worked f l a w l e s s l y. ahah. I don't have Android hardware because I care about security and privacy and feel only Apple has a solid privacy concern for their users. As of macOS, I updated to Catalina when the .2 was released. There was still a couple of bugs, but nothing major. Not a single bug since .3 release. MacBook Pro has more than 90 days of uptime, still run like I just booted it. Really, having a UNIX legacy in macOS is seriously helping and way more powerful than any Windows version ever made.

See I have had no issues with Windows even back then. My laptops have like 6 months uptime. I don't shut down them at all. So this is why I am saying that it is also about personal needs, preferences and experience.

But after all, a dev must pick what he is confortable with and, as you said, pick the right tools for his use cases. My friend who is electrical engineer and embedded software dev don't have choice to run Windows. But if he could, he would switch instantly to macOS. I think, as a software engineer, that macOS is way more powerful, flexible, and stable than any other OS, including Linux (I always had bad experience with Linux and GUI. Headless Linux is flawless, especially RedHat or Ubuntu Server, but as soon as a GUI is in the equation, sooner or later, it f*ck up something). And with even more closed environment coming with Apple Silicon, macOS can only be more stable and performant. Maybe it will become slightly less powerful thought because you won't be able to run Windows on it. For a dev, having the possibility to test your software/web app on all three platforms on the same computer was definitively a plus. But there is no free lunch.

True that that some Developers would need to test their code on all of their platforms. I guess for some cases virtual machines would be help.

This is completely understandable. Strategically, learning something open is more profitable than learning something closed. But at the very end, it all depends of your personal choice, career direction you wanna take, and what pleases you more. There are tons of company in Montreal that only does software for apple platforms for example. If you want to do this, you have plenty of choice. It depends of your interests more than the "openness" of the language.

Definitely depends on the personal preference and personal development plan. Also on the market itself. In my country (small country in Europe called Bulgaria) we have lots of software companies, but as it is Java is the most looked for currently. Most companies would have mobile development, but it is more like companion app for a web application and they do not need that many Developers. I mean we have way more backend Developers to develop REST API than for mobile Developers and do consider that by mobile Developers I mean both Android and iOS.
 
  • Like
Reactions: pldelisle
Yeah, it is a matter of preference for sure. For example I use Asus laptop with both SSD and HDD (which is my preferable choice for setup anyway - I do want both HDD and SSD). I was able to choose the SSD I want, I also can expand to 32 GB RAM and definitely plan to do soon. Not because it is needed. I am with 8 GB RAM and it is working quite fine, but I want to leave the Asus maintenance guys to open and clean the laptop and prefer to also increase the RAM as well as I have been using it for 2 and half years already.

I personally prefer an all-SSD option. Way more performant while consuming less power. Non-upgradable RAM and storage also reduces weight and form factor of the laptop. I prefer this over carrying more weight and bulkier laptop every day.

True that that some Developers would need to test their code on all of their platforms. I guess for some cases virtual machines would be help.

It seems like you won't be able to run Windows ARM even in VM since the Windows licensing doesn't allow it. A bit weird thought, Microsoft may open the ARM licensing.
Definitely depends on the personal preference and personal development plan. Also on the market itself. In my country (small country in Europe called Bulgaria) we have lots of software companies, but as it is Java is the most looked for currently. Most companies would have mobile development, but it is more like companion app for a web application and they do not need that many Developers. I mean we have way more backend Developers to develop REST API than for mobile Developers and do consider that by mobile Developers I mean both Android and iOS.

I see. Definitively has to do with the market itself too. Here too I think there are way more backend devs too. It's normal. The backend of an application is way bigger than the frontend mobile/native OS app.
 
I personally prefer an all-SSD option. Way more performant while consuming less power. Non-upgradable RAM and storage also reduces weight and form factor of the laptop. I prefer this over carrying more weight and bulkier laptop every day.

In general yes but my laptop is not bulky :p. This is why I chose it - it has both HDD and SSD and Nvidia 1060 for being quite portable - under 2 kg. The plus in my configuration is that this way I have two separate disks. If something goes wrong with one, the other one is still intact. Also not every type of data that I store needs fast storage so this way I also pay less for the same amount of storage.

It seems like you won't be able to run Windows ARM even in VM since the Windows licensing doesn't allow it. A bit weird thought, Microsoft may open the ARM licensing.

Yes, this is what I heard as well.

I see. Definitively has to do with the market itself too. Here too I think there are way more backend devs too. It's normal. The backend of an application is way bigger than the frontend mobile/native OS app.

In most cases usually there are more backend Devs :).
 
I tried the app and ask for a refund. The resolution can’t match my Mac. You really get tired soon, the resolution is blurry. I chatted with tech service and they never found a way to help me, so asked for a refund. I tried a plain VNC too, but it was kind of sluggish. Haven’t tried Screens or Duet remote desktop thought.
Not sure what kind of problem you had here. Jump Desktop will use any resolution available on the Mac it is remoting to. To get a resolution native to the iPad, you might have to use SwitchResX to customize a resolution on the Mac.

As for blurriness, that’s just the nature of video codecs. I’ve asked them to add a non chroma subsampled setting to allow better quality over high bandwidth connections, but that’s not in there yet.

Whatever problem you had, it’s infinitesimally small compared to the impossibility of using and integrating the same tools natively on an iPad.
 
Forget the native apps and run jump desktop back to a desktop. It’s infinitely less frustrating and it actually works really well.

Often when I’m out and about this is my go to solution.
 
What we need
What we need on the iPad is a complete IDE with the possibility to have a remote execution / interpreter / deployment configuration, just like we have in any JetBrains IDE. I personally develop on my Mac, but I have run configurations that execute my code on remote servers with automatic uploading and synchronization.
This could be a solution:

I was able to do coding in a browser on an iPad Mini 5 with the server running on an AWS instance. Only annoying thing is reloading of the tab when switching from other apps. But that may be less of a problem on the iPad Pro.
 
Just saw this post and was about to suggest code-server. I've been using that myself on a remote machine with a lot of joy. Sure you always need internet in order to code but that has become much less of an issue nowadays. There is also github codespace in beta (still waiting to get it) which looks very interesting.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.