Overview
Features
Download
Documentation
Community
Add-Ons & Services

Use with UI toolkit

A general discussion forum.

Use with UI toolkit

Postby chrisdouglass » 24 Jan 2007, 00:03

Does anyone have any experience(s) or recommendations about using POCO for regular desktop application development (vs embedded) and if so, which cross platform UI toolkit did you use? I'd like to build an app that runs on Windows and Mac.

I'm considering JUCE for the UI layer: http://www.rawmaterialsoftware.com/juce/. Interestingly, I also am considering Flash for the UI layer and already have a Win32 C++ app running that uses Flash for its UI. So, there's a chance I may go the Flash (www.adobe.com/flash) route.

Thanks,
Chris Douglass
chrisdouglass
 
Posts: 8
Joined: 03 Oct 2006, 15:10

Re: Use with UI toolkit

Postby chrisdouglass » 24 Jan 2007, 17:12

In case anyone actually reads this or cares about desktop apps, when I say I'm considering using Flash as the UI what I really mean is upcoming Apollo release that incorporates Flash with a lot of other technologies: Check it out:

http://video.google.com/videoplay?docid=2840522561992638726&hl=en
http://labs.adobe.com/wiki/index.php/Apollo

So, we'll see. My app benefit from C++ level coding and digging into the OS at times but then it also needs a cross platform UI that can talk to the web, render HTML and integrate rich UI controls like Flash can do or any other desktop toolkit for that matter. But, aside from JUCE I really don't see much out there in the way of getting all of that functionality cross platform like Apollo should be able to do.

Anyway, just thought I'd relaly some of my research on possible solutions for the UI side of the equation.

Chris
chrisdouglass
 
Posts: 8
Joined: 03 Oct 2006, 15:10

Re: Re: Use with UI toolkit

Postby guenter » 24 Jan 2007, 17:59

We used WxWidgets once in a project together with POCO. Might be another option for you.

Apollo looks like great stuff, btw.
guenter
 
Posts: 1121
Joined: 11 Jul 2006, 16:27
Location: Austria

Re: Use with UI toolkit

Postby chrisdouglass » 24 Jan 2007, 18:18

I see. Did the two libraries play well with each other? Any headaches? Overall, did you think wxWidgets was a good toolkit? I've followed it over the years but for some reason never really dove into it. Not sure why...

Thanks Guenter. BTW, I hope POCO gets its due recognition. It's really kick ass in my opinion ;)
chrisdouglass
 
Posts: 8
Joined: 03 Oct 2006, 15:10

Re: Use with UI toolkit

Postby chrisdouglass » 24 Jan 2007, 18:18

> Does anyone have any experience(s) or recommendations about using POCO for regular desktop application development (vs embedded) and if so, which cross platform UI toolkit did you use? I'd like to build an app that runs on Windows and Mac.
>
> I'm considering JUCE for the UI layer: http://www.rawmaterialsoftware.com/juce/. Interestingly, I also am considering Flash for the UI layer and already have a Win32 C++ app running that uses Flash for its UI. So, there's a chance I may go the Flash (www.adobe.com/flash) route.
>
> Thanks,
> Chris Douglass
chrisdouglass
 
Posts: 8
Joined: 03 Oct 2006, 15:10

Re: Re: Use with UI toolkit

Postby alex » 24 Jan 2007, 19:08

> Anyway, just thought I'd relaly some of my research on possible solutions for the UI side of the equation.

Apollo looks great (as does pretty much anything coming from Adobe) but there is a price to pay - runtime to download. It's great when things just work, without any additional downloads, so it depends whether Apollo becomes defacto standard and in that sense, using it may be a gamble. But then again it depends what your target user base is. If it's small, it may not be a big deal.

Btw, a Poco AJAX toolkit is planned, and it will be Boost licensed, we briefly discussed it in this topic. It should play nice with the servlet engine. No firm imeframes yet, though.

I thought (and still think) that both AJAX-based and "classical" GUIs could be developed side-by side, with common event handling and different rendering engines.

Alex
alex
 
Posts: 1120
Joined: 11 Jul 2006, 16:27
Location: United_States

Re: Re: Re: Use with UI toolkit

Postby alex » 01 Feb 2007, 17:40

FYI:

An interesting article by Bruce Eckel about Java, AJAX and Flash/Flex/Apollo.
alex
 
Posts: 1120
Joined: 11 Jul 2006, 16:27
Location: United_States

Re: Re: Re: Re: Use with UI toolkit

Postby guenter » 04 Feb 2007, 17:37

> FYI:
>
> An interesting article by Bruce Eckel about Java, AJAX and Flash/Flex/Apollo.

With all the stuff Adobe is currently doing, Flash starts to sound like a really great alternative to Ajax. We should keep that in mind for the upcoming POCO GUI stuff.
guenter
 
Posts: 1121
Joined: 11 Jul 2006, 16:27
Location: Austria

Re: Re: Re: Re: Re: Use with UI toolkit

Postby alex » 05 Feb 2007, 05:16

> > FYI:
> >
> > An interesting article by Bruce Eckel about Java, AJAX and Flash/Flex/Apollo.
>
> With all the stuff Adobe is currently doing, Flash starts to sound like a really great alternative to Ajax. We should keep that in mind for the upcoming POCO GUI stuff.

I think you should definitely keep it in mind, but it may be too early to jump on that train, too. If you look in the past some things came out, seemed very promising and then disappeared from the horizon (VRML anyone?). For example, I'm not quite sure what is the current SVG status - it's Adobe's baby turned W3C standard, Mozilla has partial implementation built-in while IE depends on Adobe's viewer which is in turn being - desupported.
The bottom line for any technology is - as long as there is a bulky plugin download associated with it, it means more hassle and less likelihood to get widespread.AJAX is a hack, but it's a convenient one - there's nothing the vast majority of users have to download or do to make it run. And there's a great value in it.
alex
 
Posts: 1120
Joined: 11 Jul 2006, 16:27
Location: United_States

Re: Use with UI toolkit

Postby chrisdouglass » 12 Feb 2007, 21:55

Hey guys,

Alex I agree that installing something for a web application is a pain but Macromedia saw/sees around 95% penetration of their player b/c most people go ahead and install the Flash runtime. As Bruce mentions, it's painless b/c it's mostly unintrusive and requires no user feedback and no personal data/input, etc.

Also, for me as a desktop application developer I'm already building an installer for my application to install it and its components. And, by executing a simple and free license agreement with Adobe you can distribute the latest Flash player runtime installer within your application's install. Thus, at the end of my install I kick off the Flash install.

And in this sense, the desktop app scenario, this distribution overhead is essentially "pain neutral" for an end user since they've already went through the pain of downloading and executing my app's installation. Kicking off the Flash installer is basically a non-issue.

Now, if you're delivering a web-only application you're in the same boat as everybody that deploys Flash content on their website: redirect the user to the Adobe "Get Flash Player" page if the user doesn't have Flash. And for 95% of the world, they've been OK with that pain and installed Flash.

So, I expect whatever the runtime for Apollo to be that similar numbers will install it and enjoy the next rev of Flash. And for us desktop developers, again executing the Flash Apollo runtime during our install will be a non-issue.

Maybe the most important piece of Bruce's post was that Adobe will be on the same release schedule or very close with all of the important platforms: Win, Mac, Linux. So, to me that's great since one of the reasons I've looked into cross-platform toolkits for the GUI is b/c I wanted to make sure guys on Linux could still use my app. But, the Flash runtime lagged behind in the past for Linux and I didn't like that.

Hopefully, Adobe will deliver.

They have EVERY motivation to deliver though and for the most part, via Flex,they're already there. So, Apollo will be pretty revolutionary in many ways but a LOT of it is already shippping. It's the rich desktop/system/file/low-level OS capabilities that will appeal to desktop developers. I mean, they won't cover every API of every OS and in some way I'm sure you'll still be sandboxed but at least they're trying to help get us down to a lower-level than just running in the browser.

BUT, what I do see coming after Apollo is out there is a way for serious applications to handle cross-platform system servies like threading, IPC, highly performant code, integration with legacy APIs, etc and that's where POCO comes into the picture. For me at least. I'm not a Linux guy, I'm not a Mac guy. I'm a Win32 C++ guy that has invested a LOT of time in reasearching cross-platform enabling my application on the system and the GUI levels.

So, I think some slick integration with Apollo would make POCO very very appealing to a lot guys doing non-trivial applications. On that note, Flash currently allows external application integration via a COM event interface e.g. ExternalInterface, FlashCall, fscommand, etc. How Apollo allows you to integrate with external applications will be of HUGE importance to me.

If they don't make it at least as functional as the current Flash mechanism, then I'm screwed and will have to use some other toolset for my GUI (probably wxWindows). But, the problem that does exist right now is there is no ExternalInterface capability on Mac or Linux. So, I'm not sure how to talk to external apps on those platforms except for maybe a socket server in my app that my local Flash app connects to.

At any rate, in terms of a great design environment for making a NICE UI and having it work on win/mac/linux, the Flash/Flex solution doesn't seem to have much of an equal. They just need to give us more runtime integration with system-level (C++,etc) applications on the desktop, maybe Apollo will do that. They're thinking of the web designers, web coders mainly but perhaps they will cover the desktop developers of the world too. I hope so.

But, I've put a lot of time recently into WPF too and since it can run on the mac via WPF/e I may actually give it a fair shake. It doesn't solve my Linux problem but Mono goes a long way to giving me a bridge one day. But, Mono may solve my need to resort to another language to do system level coding. But, that's down the road too. Their coverage of the .Net library isn't complete and if you use 3rd party .Net toolkits then some of them won't port even if you have source (some use direct API calls even on Windows b/c even .Net doesn't have full API coverage on its native platform yet).

So, for now, in the next 24 months or so I see a strong possibility of Apollo/Flash/Poco being a unique, powerful and most likely unmatched toolset combination in terms of power and platform support. It may become the best solution to many ISVs main problem: how to get my app running on the most platforms with the best ROI for my development effort without comprimising performance or usability and most importantly code-reuse(quality).

Besides, they let device builders use the Flash SDK to build embedded ports of the Flash runtime: cell phones, etc. So, I see a potentially really nice way to cover just about every frequency in the cross-platform spectrum: desktop OS - web - hand held/PDA/Smartphones - cell phones- etc using Apollo/Flash and POCO.

:) After looking and looking and reading a LOT, I don't see a better option. Of course, one of the interesting aspects of the Adobe acquistion of Flash/MM, is that whatever rich desktkop/web/embedded application development solution they deliver will eventually integrate nicely within the design workflow all designers already use: Illustrator, Photoshop, Fireworks, etc... That will have value too.

MS is just starting that process with the Expression tools. They're not that great yet.

BTW, in case anyone wants a possible bridge from Flash/Apollo into .Net/WPF and then onto BSD/Linux/Mac via Mono, there's a really nice SWF 2 XAML converter out there. It works great!!

http://www.mikeswanson.com/SWF2XAML/
chrisdouglass
 
Posts: 8
Joined: 03 Oct 2006, 15:10

Next

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest