At Villanova, we do VuFind development on both Windows and Linux. It is not generally difficult to develop on one platform and move code to the other. Things to watch out for:
1.) Line ending differences – while these won’t cause any execution problems, inconsistencies between Windows and Linux line endings can make version control more complicated. Just be sure you set up your tools appropriately to avoid confusion.
2.) Case sensitivity problems – Windows filenames are case-insensitive, Linux filenames are case-sensitive. Be sure you name things carefully, or else you can end up with files that load correctly in Windows but fail in Linux.
3.) Filename/path problems – Obviously, Windows and Linux installations need to be configured differently due to different file path conventions. When in doubt, use Linux-style slashes (/) instead of Windows-style slashes (\). Most of the Windows tools can handle forward slashes, but backslashes will cause all kinds of trouble in Unix.