Я обнаружил, что если вы с самого начала ориентируетесь на Windows, Linux и Mac OS X, ваш код, вероятно, будет работать везде, где вы можете попробовать его позже. Написание кроссплатформенного кода с самого начала требует большей дисциплины, но я считаю, что это стоит затраченных усилий.