Skip to Content
Personal Insights
Author's profile photo Kamil Kovac

Using something other than a Windows computer for ABAP development: It’s possible, but is it practical?

Spoiler: Yes, it is. Now more than ever.

I’d wager that most ABAP Developers and Architects use Windows computers. It’s simply the default option. But can our everyday tasks be carried out with the same ease using a Mac, a Linux, or some other desktop? Let’s find out.

 

A Linux computer

Every year is supposed to be the “Year of Linux”. “This is the year when Linux will break into the mainstream” – pundits, annually. Well, it hasn’t happened yet, and the command line is to blame. You see, in Linux you cannot yet fully avoid using the Terminal to type in some rather cryptic commands in order to achieve stuff. Show an average user a black screen with a blinking cursor, and they’ll freak out. We are programmers, though, and such things don’t scare us. We shall learn to use the Terminal in no time. To install (some of the) programs, to change config files, or for troubleshooting. 

Here is the good news: For nearly all Linux commands you will ever need to write you will find dozens of web resources. A quick Google search will yield web pages from which you will be able to copy-paste the commands, often with all the necessary parameters. You won’t even have to type. Just remember to add SHIFT to your copy-pasting action in the Terminal. And that you can cycle through the last commands using the UP / DOWN keys.

I have yet to find a Linux task for which there wouldn’t exist at least 5 web pages containing the correct solution, that I couldn’t find in less than 10 minutes. Such is the power and commitment of the open-source community. 

So don’t be afraid, and if you feel like trying something new, take the plunge.

Linux%20and%20apps.%20SAP%20Gui%2C%20Eclipse%2C%20Remmina%20remote%20access

Linux and apps. SAP Gui, Eclipse, Remmina remote access

But why would you? Why would you bother learning Linux, when for 400 Euros you can buy a laptop with Windows preinstalled, and call it a day?

Well, I could try telling you about how you can bring back to life an old laptop that can no longer run a supported Windows or Mac OS by installing (the most recent) Linux desktop on it. But then you would just say: 400 Euros for a new PC, remember? I might counter that we should repair and reuse instead of throwing away, but… in the end it will come down to your degree of geekiness and / or anti-establishment-iness. I am not particularly anti-establishment, but yes a 100% geek. I find it cool using Linux and learning it. I also find it a good idea to support the open-source development community by using their products and making a donation from time to time.

So what is the availability of apps that we need for our daily work on Ubuntu Linux?

  • The obvious:

SAP Gui? Yes! The shiny new 7.70 for Java. Is it 100% the same as its Windows counterpart? Sadly, no. First of all, there is no Excel in-place in ALVs, as there is no Excel. By the same token, there is no editing of long texts in Word. But more importantly for the developers, there is no code highlighting in SE80. We mostly use Eclipse nowadays for coding, but I still find myself working in SE80 quite a lot.

No%20code%20highlighting

No code highlighting

Setting up the connection to the Server is also different. Instead of filling out a form, you have to go to the “Advanced” tab, select “Expert mode” and introduce a connection string, something like “conn=/H/<IP Address>/S/3200&systemName=<System Name>”. Weird.

  • IDEs:

Eclipse? Yes. Always the latest version, 100% compatible with other OSs. (Duh! It runs in a Java VM).

VS Code? Similar to Eclipse.

Adobe LiveCycle Designer? Some versions on some enterprise-oriented distributions, but in general terms this is rather a no. Forms developers must look elsewhere.

  • Design:

I use Draw.io which runs in a browser, but I bet there’ll be other options. Haven’t explored, as Draw.io has so far been sufficient for my UML diagrams.

  • Office suite:

Microsoft Office? No, but there is an equivalent: LibreOffice. It is compatible to a large extent – it can open the files created in MS Office and save them in that format, although some formatting may be lost and advanced features may not be supported. LibreOffice comes pre-installed by default on Ubuntu. 

Or, you can always use Microsoft Office web apps in a pinch, limited as they are.

  • Collaboration:

An e-mail client? No Outlook, but about 20 alternatives, for sure. The default on Ubuntu is Thunderbird, I have come to like and use Mailspring.

A web browser? Take your pick. I use the good old Chrome.

Microsoft Teams? Yes. For some reason it is labeled “Preview”, but it works perfectly well. I have used it in a production environment no problem.

Zoom? Yes. Installed, logged in, haven’t used except for the odd test meeting.

Dropbox? Yes. 100% of the functionality that I use.

Skype for Business? This one is a no. The application is well on its way into oblivion. It has never been ported to Linux, and it won’t be.

  • Remote access:

Citrix Workspace? Yes, 100%.

Microsoft Remote Desktop? No, but each Linux distribution has its own equivalent, which is compatible to an extent. In the case of Ubuntu the application is called Remmina. Comes pre-installed as a default. You will be able to access “classic” Remote Desktop computers, but you won’t be able to connect to Azure Desktop. For that, you’ll have to use the web interface. That works quite well too, but is more resource-intensive. It goes through my laptop battery rather quickly.

  • Other

Docker. You kidding me? Yes, 100%.

I have installed Ubuntu Linux on an ancient 2012 MacBook Air. That computer has been through a lot, having survived 8 years with my wife. She doesn’t treat gadgets gently, let’s put it that way. Yet, this machine somehow survived, testimony to the robustness of Apple-designed hardware. It wasn’t supported by the current versions of Mac OS or Windows anymore.

Ubuntu Linux 20.10 Groovy Gorilla was supported, and then some. Installed without a flaw, all hardware recognised and correctly set up. WiFi module, trackpad, SD card reader – you name it. It runs external 4k screens on full resolution via its mini-DisplayPort. 4k screens didn’t even exist in 2012. Intel’s game was strong back then.

I later upgraded to the current 21.04 Hirsute Hippo, which I’ve been using to date. I have only been using it to connect to my own SAP system. With the right VPN setup it could be used for work. Or if the customer lets you connect your computer to their network directly, which is increasingly rare.

Old%20laptop%2C%20modern%20OS

Old laptop, modern OS

An Apple Mac

Personally, I do not like Mac OS for productivity. I love it for personal use / entertainment, but not for work. I find the windows management, for example, seriously retarded compared to MS Windows.

Until recently, Mac OS used to run on computers with Intel chips. Which meant that Mac computers could also run the “traditional” x86 Microsoft Windows. I would buy a MacBook every few years, put the Parallels virtualization software on it, obtain a Windows license inexpensively, and install Microsoft’s latest and greatest. I would then use the Windows virtual machine for work, and Mac OS for home / entertainment. The best of both worlds. The VMs could be easily backed up using snapshots, or simply by copying the gargantuan folder representing the virtual machine onto a fast external disk.

Even the smallest, least powerful MacBooks were capable of this. To this day I use a 2017 12” MacBook with a puny mobile processor. (Yes, the ridiculous one with a single USB-C port. Yes, I bought a dongle. Dongles don’t bother me none.) It runs Windows 10 in a Parallels VM quite satisfactorily, while driving a second 4k monitor from which it also draws power via the same USB-C cable that transmits the video signal. And all this without breaking a sweat.

I would work on SAP projects for months with this little machine, plugging it into external monitors at clients’ sites. It weighs less than a kilo. You wouldn’t know you had it in your backpack. I wouldn’t even haul the charger for it, the thing will charge from the little 18W charger that came with the iPhone. All chargers are tiny now that we have GaN technology, but back then laptop chargers were bricks. 

A%20miraculous%20little%20machine%20that%20could

A miraculous little machine that could

Alas, things have changed. Macs use Apple’s own processors now, and it isn’t possible to run Windows in a VM anymore (at the time of writing you can run some kind of a Windows for ARM Insider Preview, but that’s supposed to be temporary). If you buy a Mac, you are mostly left with the Mac OS (Linux in a VM is still possible, albeit fewer Distributions are supported). 

Does all the requisite software for ABAP development, office tasks and collaboration exist in the Mac OS world, then? Why yes it does, thank you for asking.

  • SAP Gui, check.
  • Eclipse, check.
  • VS Code, check.
  • Docker, check.
  • Full and up-to-date Microsoft Office suite, check.
  • Microsoft Teams, check.
  • Microsoft Remote Desktop, check. 100% functionality, like in Windows.
  • Zoom, check.
  • Citrix Workspace, check.
  • Dropbox, check.
  • Even Skype and Skype for Business, check.

Luxury. 

Most of the applications have a version built specifically for the new Apple chips. If not, the version for Intel chips will run courtesy of Apple’s Rosetta translation layer as well as makes no difference.

When it comes to SAP Gui, it is again the 7.70 for Java, and the same limitation applies: No code highlighting in SE80. I don’t think we’ll ever get it.

It is therefore perfectly possible to use any Mac (even an Apple-silicon Mac) as your primary and only development machine. I know because I’ve tried. Haven’t actually bought an M1 Mac, as I try to stay away from first-generation products. But I did rent one from Scaleway for a few weeks and installed all necessary software on it.

The only scenario I could imagine where Mac OS failed would be if the customer used a VPN constellation that would only support Windows. Or if you are an Adobe Forms developer – I’m not sure whether the LiveCycle Designer for Mac exists. It seems like it does not. Me, I try to stay clear of Adobe Forms as much as I can.

Another drawback of a Mac might be the keyboard, but only if you use an Apple layout, such as the built-in keyboard in a MacBook. Annoyingly, the CTRL key isn’t located bottommost and leftmost, but rather it is the second key from the left. That is travesty, everyone knows CTRL must be the first key your left little finger finds as it brushes against the keyboard. It’s basic courtesy.

Fortunately, this is easily remedied by an external keyboard. I use Logitech products, namely the K375s and the MX Keys. They are pricey, but they feature other essentials, notably a two-storey ENTER key.

 

Thin client + Desktop as a Service

The world is moving to the Cloud. Our e-mail was the first to make the jump back in the 1990’s. Then our books, our music, our files, the films and TV shows we watch… the list goes on.

Desktops have moved to the Cloud, too. I am currently renting a modest Desktop-as-a-Service virtual computer from UK-based ubiDesktop for some 18 Euros per month + tax. I use it for self-training and study, as a development machine for the ABAP Platform 1909 Developer Edition that I also run in the Cloud. How do I access it? From a thin client. A thin client is a device used to access web-based or cloud-based services. The device itself can have little computing power, it is sufficient if it can connect to the internet, then to the service you want to access, transmit keyboard and mouse input to it, and show you the results on-screen. All the heavy lifting is done by the service on the other side, in my case by the virtual computer I am accessing.

A thin client can be most any working computer, a tablet, or some smartphones. Samsung DeX devices in particular are bound to be excellent thin clients, transforming as they do into full-fledged desktops when you connect them to external monitors. I have yet to try that – might spring for the next Galaxy Tab S when it comes out, to replace my aging 2018 iPad Pro. Even a Raspberry Pi 4B is almost usable as a thin client. I suspect it would be fully usable with some tuning – a bit of overclocking, running the 64-bit version of the operating system from an NVMe disk instead of the 32-bit version from an SD card, that kind of thing.

Raspberry%20Pi%2C%20Remmina%2C%20Windows%20virtual%20PC

Raspberry Pi, Remmina, Windows virtual PC

Apple’s iOS products are a missed opportunity for now. The new iPad Pro, crazy powerful as it is, pathetically doesn’t support external monitors in any 21st-century-worthy way. It does not resize the image when connected to an external screen, leaving you with the 4:3 screen ratio and wide black bands on both sides. Unless your screen is already 4:3, in which case you wouldn’t care. But even then it only mirrors – doesn’t extend. Sure, you can use its own screen, but… iPad OS is really holding back that amazingly powerful hardware. Shame. And the less said about iPhones, the better.

I access the ubiDesktop DaaS via Microsoft Remote Desktop. I have experimented with a number of remote access solutions, and found the MS RD to be the best, closely followed by Citrix. VNC performed by far the worst in my tests. TeamViewer was nothing to write home about either, albeit it wasn’t as dismal as VNC.

UbiDesktop’s service gives me access to a virtual Windows computer from anywhere, anytime. So far I have been using it only for personal purposes. It would be possible to use it for work, but advanced knowledge of network stuff might be required. We connect to clients’ systems usually via VPN. On a virtual PC this VPN would need to be linked to a second (virtual) network interface card. Otherwise the VPN would break the RD connection to the thin client. Right now I wouldn’t know how to set that up, but again, an interesting topic to learn about and try out someday. If you are a geek, like yours truly.

Time is then upon us when we shall be able to walk into the office with nothing but a Samsung DeX device in our pocket. A Galaxy S smartphone, for example. We shall plug it into a USB-C monitor, unleashing its desktop mode. We shall connect a wireless keyboard and mouse. Then we shall use the Remote Desktop app of choice to connect to our Desktop-as-a-Service Virtual PC, and off we go.

In fact, such time has already been here for a while. I had a colleague in a project in Budapest who worked exactly like that already back in early 2019.

I am now in a stage where I can pick up any of my 3 computers randomly – The Windows PC, the Mac, or the Linux PC, and work with it seamlessly. That’s why I can claim that any of the 3 platforms is, indeed, practical.

So what’s next? For me, next would be to get rid of the two large and ugly black holes which currently occupy my desktop: The two 27” screens. I would love to replace them with some lightweight VR glasses. Such glasses would tether to my PC and project a couple of virtual screens into my line of sight. 27” equivalent, 2k resolution @75 Hz per screen would be sufficient. Leaving a transparent band in the bottom part, so that I could see the keyboard. With a slot to insert my prescription lenses. A microphone and speakers for teleconferencing.

Am I describing an existing product? You bet I am: Lenovo ThinkReality A3 Smart Glasses. Except for the 2k resolution – they currently go up to Full HD only.

Over to you. What do you use?

Assigned tags

      12 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Jelena Perfiljeva
      Jelena Perfiljeva

      Great blog, Kamil! Thank you for sharing!

      At IBM, newly hired developers were offered a choice between Mac and PC when joining. I've lived in the corporate PC + Microsoft world for all my life, so the choice was obvious. But it turned out that our manager and many other team members used Macs. The setup of my new PC was so excruciatingly painful that the manager disabled the choice for all new hires and forced everyone to use a Mac.

      Sadly, it turned out that Mac is absolutely terrible when it comes to the classic ABAP development in SAP GUI. New editor does not exist there and working with dynpro screens is incredibly painful because there is no layout designer available at all. So, if there is even a remote possibility that you might ever do that, definitely go with PC.

      I'm a happy iOS user on all mobile devices but there is no way I'm ever getting a full-blown Mac.

      Author's profile photo Kamil Kovac
      Kamil Kovac
      Blog Post Author

      Thank you for your comment, Jelena. I missed the point about the classic dynpro editor, as I haven’t had to change any screens lately. That is a true dealbreaker if you have to modify or create even a single dynpro. Unless you are willing to go back to the 1970’s with the non-graphical dynpro editor.

      Author's profile photo Andrea Borgia
      Andrea Borgia

      Using Linux at home and mostly Eclipse for programming, I ran into a weird issue with abapGit because of a JavaGUI bug. Bottom line: when in doubt, I recheck with the Windows GUI 🙂

      Author's profile photo Kamil Kovac
      Kamil Kovac
      Blog Post Author

      Thank you, Andrea. JavaGUI 7.70, I see. I’m on patch level 1, don’t even know how many patches are out. Hopefully a future one will solve the bug you mention.

      Author's profile photo Graham Robinson
      Graham Robinson

      I enjoyed your blog very much Karnil.

      Unlike you I love my MacBook Pro - albeit with a 3rd party windows manager. But I can't live without SAPGUI for Windows for ABAP development. I also find many customers who don't support OSX VPN clients as much as Windows ones.

      Therefore I use Parallels to run a Windows VM where I run my VPN client, SAPGUI and test my SAPUI5 code. I develop my SAPUI5 apps locally using VSCode running on OSX then right-swipe across to the Windows VM to test using the Chrome browser. I use the nginx HTTP server on the Windows VM with a reverse proxy config for when I call SAP web services.

      FYI - Parallels nows supports the Apple M1 hardware. https://www.parallels.com/blogs/parallels-desktop-m1/

      Cheers

      Graham Robbo

      Author's profile photo Kamil Kovac
      Kamil Kovac
      Blog Post Author

      Thank you very much, Graham. You are a far more advanced user than I am.

      Yes, Mac + Parallels was a winning combination. I hope the time comes back when we shall again be able to rely on this solution. Last I heard, Microsoft did not have plans to license its Windows for ARM for use in a Parallels VM. Hopefully, that'll change someday.

      Author's profile photo Oleg Bashkatov
      Oleg Bashkatov

      Thank you very much!
      1) You are talking so much about software substitution between OS. But is there any interest which OS target users are running?))) It is not user-oriented to develop and test on other from target OS 🙂

      2) Well, I could try telling you about how you can bring back to life an old laptop that can no longer run a supported Windows or Mac OS by installing (the most recent) Linux desktop on it

      As for all-Linux - it is correct. But you talking only about Ubuntu. Ubuntu requires more system recourses than windows.
      proof:
      windows: https://support.microsoft.com/en-us/windows/windows-10-system-requirements-6d4e9a79-66bf-7950-467c-795cf0386715
      ubuntu: https://help.ubuntu.com/community/Installation/SystemRequirements

      Fedora gives such opportunity, but Ubuntu - not.

      3) if you want to go OS-independent ABAP-development you should UI5+OData with the possibility to install additional software on Linux-application server.
      It is my opinion.
      All other options are headache and nothing more than trying to play geek.

      Author's profile photo Kamil Kovac
      Kamil Kovac
      Blog Post Author

      Thank you for your comment, Oleg.

      Fully agree that customer's target OS is the most important. After all, that's where the programs have to run.

      I only know Ubuntu (and OpenSUSE a little), but you are right - I've also read it is quite resource-intensive as Linux distributions go. There are more lightweight distributions, more suitable for reviving old hardware. Lubuntu often comes top of the list, as does Linux Light, or Puppy Linux.

      I wonder if anyone uses Linux desktop in a production environment. Otherwise it's just "playing geek", like you said 🙂

      Author's profile photo Matthew Billingham
      Matthew Billingham

      "conn=/H/<IP Address>/S/3200&systemName=<System Name>"

      Perfectly recognisable to anyone who's ever had to set up a pre 31H Sapgui. 😀

      I've installed various flavours of linux several times for several people whose OS's are out of date and I/they don't want to buy a new one. It's a good solution for older hardware.

      Whenever I've had to use a mac for anything, I find them so awkward that I'm tempted to reprogram them with an axe.

      Eddie I'm waiting. I can wait all day if necessary.

      Zaphod Beeblebrox Computer, if you don't open that exit hatch pretty damn pronto, I shall go straight to your major data banks with a very large axe and give you a reprogramming you will never forget. Capisco?

      [pause] 

      Zaphod Beeblebrox Okay. Get the axe.

      [SFX hatch opens]

      Author's profile photo Kamil Kovac
      Kamil Kovac
      Blog Post Author

      Thank you, Matthew. Funny you should mention 3.1H - that's when I started 🙂 But then I didn't know my nose from my elbow; surely someone would have set the connection up for me.

      At first I read your sentence about the Mac incomplete - only as far as the word "reprogram". I though you were tempted to literally reprogram the Mac! :-))

      Author's profile photo Matthew Billingham
      Matthew Billingham

      Oh quite literally. With an axe!

      Author's profile photo Pavan Golesar
      Pavan Golesar

      Thanks for geeky post Kamil..I have learn if not all but few important points to know between Linux and Mac. I wonder when we could we completely avoid the terminal screen so as to make it more user friendly.

      Also I enjoyed gping thru all comments..haha yes https://people.sap.com/matthew.billingham is interesting person.

      Regards

      Pavan Golesar