[TriEmbed] Development language for simple "GUI" window program

jonjwolfe at anibit.com jonjwolfe at anibit.com
Tue Feb 10 11:42:53 CST 2015


FWIW, Windows.Forms *does* work decently under mono on OSX and Linux. I 
have never tested elaborate or sophisticated UI's in Winforms/mono, but 
basic one's work well. The thing to watch out for is anything in C# 
where you use "P/invoke", which is the way in .Net to cheat and make 
calls into the underlying OS. Those are not going to work in Mono. 
Custom controls and digging deep into the Windows messaging loop are two 
things that often require p/invoke calls, so if your app doesn't use 
those, it should be fine. I have even verified that C# console 
applications work under mono on Raspian. I think I also tested Winforms 
on the pi, but I cannot remember for sure. My UI framework of choice, 
WPF, is not at all supported under mono, but given that Microsoft has 
recently open-sourced many crucial parts of the .Net framework that 
weren't already open source, I am hopeful that support will come one day 
in the not too distant future.

I agree with Adam, it does sound like python/pyserial is the way to go 
if you want easy cross platform, I have used it too.

I have researched a lot of options for UI's in Python, and it seems like 
a lot of it is done in either tkinter or gtk. I'm personally leaning 
toward tkinter because it's very commonly included with Python, so there 
is not additional setup.

If you know neither Python nor C#, and only need Windows support, and 
have ever done any C/C++/Java, then C# with Windows.Forms is probably 
the fastest way to get something up and running quickly with minimal 
learning curve. Google "Visual Studio 2013 Express for Windows Desktop" 
or "Visual Studio 2013 community". Both are free, royalty free, and free 
for most commercial use(within certain limits). Express is smaller to 
download and install, but has been replaced by the more featured 
"Community" edition.

--Jon


On 2015-02-10 11:14, Adam Haile wrote:
> Fred,
> I had to research the same thing when developing the AllPixel. It
> doesn't use an FTDI chip since the ATMega32u4 we used has CDC USB
> Serial, but as far as the OS is concerned, it's just serial like FTDI.
> 
> First major question that will change my answer is what OS support you
> need?
> Because I needed to support any OS on any architecture, I went with
> Python (2.7.x) and pyserial which is a pure python, cross-OS serial
> interface.
> However, the UI components of Python are lacking. There's a plethora
> of windowing packages but I've never been super happy with any of
> them. So, if you just need something simple and a command line
> interface would work, I would definitely recommend the pyserial/Python
> route.
> 
> If, for example, you just need Windows support, I can certainly
> recommend C# which has built in serial functionality. With a little
> work and the use of Mono it should even work cross-OS. But if you do
> need that, _start_ with Mono since you will really need to use GTK#
> instead of WinForms or WPF that are the Windows C# defaults but _don't
> _work in Mono so much.
> 
> On Tue, Feb 10, 2015 at 8:35 AM, Fred Ebeling
> <FEbeling at ecpdesigns.com> wrote:
> 
>> HI
>> 
>> I am developing a simple controller unit that interfaces to the
>> computer using a USB FTDI IC. What I need is a simple support
>> language that would allow me to program some text and select
>> some options and then send commands to the controller.
>> 
>> Any suggestions:
>> 
>> Fred Ebeling
> 
> 
> _______________________________________________
> Triangle, NC Embedded Computing mailing list
> TriEmbed at triembed.org
> http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
> TriEmbed web site: http://TriEmbed.org




More information about the TriEmbed mailing list