Link to home
Start Free TrialLog in
Avatar of thready
thready

asked on

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
ASKER CERTIFIED SOLUTION
Avatar of Member_2_248744
Member_2_248744
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of thready
thready

ASKER

<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)
Avatar of thready

ASKER

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...
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.
Avatar of thready

ASKER

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)
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.
Avatar of thready

ASKER

Thanks!