Develop client applications NOT linked to any specific OS
As I planned to work on a wrapper for Salesforce DX, my experience with Salesforce Ant left me with a bitter taste. If you initiate your project with implementation teams in mind, there is a common wall you will be hitting soon or later: The developer OS of choice. Some developers are working on Wintel platforms (the majority) and some are on Mac (a sizeable chunk).
The point of this project is to address the issue of the target machine OS compatibility in a world of SaaS client-server in general and in particular Salesforce implementations.
To start with, let's see what I think can be called multi-OS. The software needs to support:
The original target...
While at it...
Sorted by priority...
- Microsoft Windows This is the client OS of choice. Most programs are developed for Windows first then adapted to Apple if at all...
- Apple MacOS
- Linux
- Google Chrome
- Apple IPadOS
Typically, implementation teams tooling is seen as a useless expense... For this reason, it is prerable to target open-source or pre-paid solutions to build-up your tool-belt. If this is "too expensive" you may have difficulties to justify it...
Platforms incompatibility (Microsoft vs. Apple)
The original plan was to add an abstraction layer on top of the most popular OS that you can find in a project. This abstraction layer would be VMWare or VirtualBox on a PC and Parrallels on Mac. The problem is that these virtual environments are related to the micro-processor instruction set, hence whatever you do, soon or later you will be hitting the Intel vs. Apple processor challenge. I appreciate that nowadays Parrallels is selling itself as a WinTel emulator but this has not been always the case especially in the early days of Apple move to their own silicium. More over, we are speaking about emulation here which can come with its own bugs and not be weclome in a Cloud Computing implementation project.
Although the containerisation of client applications may seems like the next historical step after virtualisation, it is a complete new set of technologies which bring both advantages and drawbacks to the table.
