In this chapter, we discussed various additional complications that developers of native graphical applications are likely to face, especially if looking to build for multiple operating systems. Addressing the challenges around graphical presentation (visual hierarchy, system look or application design, and custom graphical elements) will take some planning and investigation—not just to design the ideal application, but also to choose the constraints or overheads that you will work with.
The remaining technical challenges—concurrency, web integration, packaging, and distribution—will vary based on the implementation language. As outlined previously, many graphical toolkits are created using languages that did not originally provide support for these considerations. Some provide low-level support that the developer must build upon for their application...