One of our long-standing goals has been that FieldWorks development could eventually be carried out on either platform, and target both platforms. Last month, the very first example of this started to happen.
For the past several years FieldWorks has used a proprietary user-interface library called DotNetBar to implement various parts of the TE and Flex UI, particularly the side-bars that are a major feature of both TE and Flex. DotNetBar is a very good product, but it has had some disadvantages for us, particularly in regard to licensing. The most significant problem, though, is that it can’t be used on any platform other than Windows, because it uses native Windows APIs (via P/Invoke).
Although there have been plans to replace DotNetBar with a user-interface library of our own, using 100% managed code, this has not been a high priority for the Windows teams since they already have something that works on their platform.
So our Linux group decided to take on this project, as a necessary part of porting FieldWorks to Linux. However, we’ve been careful to develop in such as way that the library can be used on Windows as well as Linux, and this has included actually building and testing the code on Windows on a frequent basis.
This has become the first example of Linux-first development for FieldWorks. May it not be the last!