I have only worked on web apps for my whole career. I'm starting a new desktop (Adobe AIR) app project but I found myself having difficulties with:
- stuck with thinking about overall UI design in the traditional page model
- not sure how to handle the navigation part in the UI
- not taking advantage of states
- deciding what should be implemented on client vs server 开发者_运维知识库side, (or on both?).
Any advice? Thanks.
Look at other desktop apps to see how they solvde common problems. Over the years several recurring patterns have emerged like:
- Tabbed document interfaces like in most web browsers
- Split views like in many email clients
- Toolbars, panels with groups of buttons
- Multi column views
Look how other apps utilize these things and come up with ideas how you can use them.
The part about having ideas however .. You'll have to do that yourself after all.
Read about MVC pattern. For example here.
Everything should be loosely coupled. Top menu shouldn't know about bottom status bar. Everything should go via notification in MVC.
For flex application take a look at PureMVC tiny but very powerful framework.
Here is a nice tool to deal with it: http://www.extjs.com/deploy/dev/examples/
精彩评论