HTML5 & CWnd custom controls & WPF

Hi Experts,

I've been contemplating what to use in my next little project.  I want to create something simple enough that it should not matter where the view code comes from- but that I can get it on Windows or on an Android phone or on a mac or iphone.  HTML5 is the first thing that comes to mind.  However, I want to create rich custom controls.  I read a tiny bit about WPF and it seems interesting enough- but windows-specific.  And CWnd custom controls are obviously too specific to windows as well to run on an android phone.

I'm hoping someone knows of something new, maybe the answer really is HTML5 (with canvas?) -- just looking for some good input - anything general - just get some good discussion on this!  I just want to minimize the code I need to write and get it on the most platforms possible - but very rich fat application looking controls....

Many thanks!
Mike
LVL 1
threadyAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Slick812Commented:
greetings thready, , , I read this question, and since I have done some things in programming for windows, android and "web publishing" (aka web pages), I can not see what you may need to do, as you say - "that it should not matter where the view code comes from", I do not think there is any - "that it should not matter where the view code comes from" especially since Microsoft is now kicking and shoving their way into the "Mobil" marketplace. BUT, since I am now doing mostly WEB page production, I can say that even in HTML5 viewed on browsers (laptop, tablet, cellies) that your "but very rich fat application looking controls" may absolutely depend on WHAT you are doing (application programming delivery goals delivered to a GUI) and some what less on the end platform. However there is now a great development stampede (almost mindless) to have a so called "Cloud Access" for apps in all platforms, I guess you are in this mindless racing stampede? ?
Anyway there is a "NEW" browser GUI using the newer SVG-GUI, which I guess is in the HTML5-Box, but this is so Mashable-Flex-able definition, depending on how you want to have a HTML-SERVER-CLOUD thing! I have done some in the browser SVG, but it is more "universal" to have a server cloud output in JSON or XML, and let the calling APP decipher your JSON to its platform.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
threadyAuthor Commented:
<sigh>.... yeah it's depressing ain't it?  And I'm not in the stampede, I'm carefully considering offering the server side, but would rather have the option for both local installs or server.  Anyway.

My first thought is that with a CWnd-derived control, I'm really developing a sort of calendar view (but not really a calendar) - where you have views that depend on weeks or months - and if the display is wide enough in pixels, then you can have more of them lined up and that grow upon a resize (in windows) or are static on a mobile phone because they can only take up the full screen...

SVG looks interesting - it might be just what I'm looking for actually....  Thanks - I'll get back to you in about a week on this!  :o)
0
threadyAuthor Commented:
I should have said I wanted to write once, run anywhere.  I'm stuck between HTML5 and canvas.  I wish there were an API that feels like C# for web pages that would size according to the device they are running on.  It seems that the only thing that sort of comes close is Flash or silverlight, but those are too limiting to run on android, iphone, mac, windows....  I know I'm asking for a lot...
0
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

Slick812Commented:
UUUMMM?  Well, I can really relate to you saying - "that would size according to the device they are running on." When I did programs for windows OS, It was difficult to have a GUI that changed size and was still the same in appearance, so every complex GUI had to make changes with BIG and SMALL, doing most GUI arrangement development in the typical mid-range size. Now I'm am dealing with web pages on cellies, and still be able to have the web page be good view on a 1920x1080 monitor, but it's just not going to happen if you have many events, options, functions, view-lists, buttons-clickables, ajax updates, menus, drop-downs, sliders. I have to use a very different "thinking" for a 460x300 view, and a 1600x900 view. I really do not feel that your "write once, run anywhere" will work for you, unless your"write once" takes into account the vast size differences for web able devices, and a good experience for the user from your streamed-lined understandable GUI. DHTML web pages now have some great assists for detecting and adjusting the page to various viewpoint sizes, but you can not ever expect to have the area for display and controls-inputs in 1200x900, the you have in 400x280. Please consider to mix the html and canvas. text display in web page as HTML, and simple controls a an html image, wid areas of page as canvas output for vector drawing. I will not comment much on flash or silverlight, , cell phones now can do some flash, but only the windows phone can attempt the silverlight, I personaly try to not have those on web pages, although they now can offer many attention getting visual effects, they mostly lack in a good user experience for many-step web process functioning, , , they can be good at that, but you can not use a standard flash templates, and have to do real flash process and GUI programming to get that. You may want to start development wid a Goal-Plan that has most of services-functions you need this to do for your clients, and then draw-sketch a prototype visual GUI with the controls and displays to effectively deliver these services-functions, then you can figure some of the pluses-minuses for each development framework you are considering.
0
threadyAuthor Commented:
Of course we need to design the view with the size of the display in mind.  That's not really what I meant.  The subcontrols will have the smarts to do so, with the whole design growing out of them.  (i.e., I'm doing something simple enough to consider this - where subcontrols are in some sort of container that knows its size and the acceptable size of subcontrols - and if the screen is bigger, more of them can be placed in the container)...

Now I'm looking over native code, generated from Qt, since it targets a lot of platforms - and even indirectly the replacement to webkit - the webengine - which I think could work very well for natively creating android and IOS apps...

Thanks for the long discussion, points coming soon!  :o)
0
Slick812Commented:
I now use many things that do a "TAB" touch for many different views in the same view rectangle, also the "DROP-DOWN" like for menu display, these several many "options" are hidden until a touch on the drop button. Also "hidden" slide-outs on the left or right margins of the complete view or touch "slide-outs" on the margins of the several many tabbed display rectangles. Most all platforms now can do a great job of "layering" and stacking different views in the same area, with touch or finger slide to go to the different content for a rectangle. If you have much experience in GUI design and have done user surveys to see what is understandable for them, then you can be extremely creative in the user's visual display and interface touch experience. But be warned, the entire development team can think the GUI is great, only to find that your users hate their experience with it, for reasons that no one on the team ever thought of.
0
threadyAuthor Commented:
Thanks!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C++

From novice to tech pro — start learning today.