Platform specific software is easier to write as you saw in the previous section. Software that is independent of platform is possible but is not an obvious choice. Access to platform specific software development tools and resources offers many opportunities to get things done fast and effectively. What is then the case for platform independent software?
Platform independent software is usually long-term in nature. Not on the order of years but decades. It is the kind of software you commit to when your perspective is platform specific foundations will rise and fall. When they fall, so can your solution. With platform independent solutions, the overall design will often lead to software constructs (usually code libraries) that are not tied to a specific technology environment and can transition easily between governing maintainers of those constructs without loss of support. As a result, your solution usually endures when the fortunes of a those behind a platform specific base of technology dwindles or decides to obsolete an offering.
Best of Class
You are not limited to a single representation of a software technology construct. This can be good or bad depending on the choices available, but it means you have more opportunities to gain capabilities that meet your desired quality criteria. You do occasionally spend more time evaluating alternative solutions and sometimes the integration isn’t smooth. The upside is you are not limited to the features or qualities specified by a defacto, but otherwise poor standard in a platform specific circumstance.
Higher Return on Investment
When decisions involving platform independent solutions work out, they generally work out in a huge way. A significant amount of time becomes available that may have otherwise been lost to platform churn. It doesn’t always work out, particularly when it comes to user interfaces and the visual representation mechanisms in software. Managed well however, it can expand the distance between a substantial solution you have now versus serious regression due to platform churn.
Platform independent software is often composed of constructs defined by real standards but in which one construct greatly differs from another in form. The amount of work required to define a platform specific solution can be greater but the return on the investment can be even greater. The primary source of information about platform independent software exists in the form of websites. Familiarity with the perspectives of Richard Stallman is advised for those who pursue this path.