In my experience, that helped me with cross-platform issues:
- Library code in one language, which is portable to any platforms that you need to develop, in my case C / C ++.
- Continuous integration with unit tests so you can catch any changes to the interrupt code as soon as possible.
- Very modular libraries that try to have as few dependencies as possible.
- Do not be afraid to have specific platform implementations of any concept that you need for speed / functions / independently. There are many ways to hide the fact that you are using platform specific code in your main code.
- Using design patterns can help achieve your desired results. There are also other executives, such as DRY and SOLID, who also help. This is a better software design than cross-platform.
Some design problems you may encounter depend on what you are trying to achieve. If the UI is not a bargain, then using lib such as QT can be a way. The same goes for any aspect of your application. Using open or paid libraries helps reduce development time, which can be good.
If your application is designed to shine, you really have to code this part yourself.
I canβt talk much about choosing a user interface, since most of the platforms I deal with are so different that you need to redesign the user interface level each time. The fact that libraries and core engine layers are portable between platforms helps make this easier.
source share