i am wondering if there is any way i can create an app that starts as a desktop application, for personal use for now. and since desktop applications can work with my HDD files which i may want to manage but don't feel secure throwing them onto a web server. but what i think i may want to do in the future is port the app to the web since that is where i think is the future of applications to come. web apps are available everywhere eg. web apps can be used on smart phones etc. facilitate team collaboration etc.
i have looked at some technologies but all seem to have some disadvantages
Adobe AIR 2
Advantages
- Use of existing web technologies make it easy for me (mainly a web developer) to design and develop applications based on HTML5, CSS3, JS (jQuery, Dojo) which can be ported to a web platform in the future with greater ease
- can access file system
Disadvantages
- i guess speed maybe an issue
- i may encounter limitations with what can be done in JS (vs languages like C#, Python, Java etc)
C#/F#/WPF/EF/LINQ
Advantages
- C#/F# powerful languages
- EF/LINQ makes data access very simple
- WPF provides good data binding, styling capabilities
Disadvantages
- WPF harder to use/learn than what i already know (HTML/CSS/JS)
- WPF abit more complex
- Harder to port over to a web platform (... maybe with a .NET platform its still ok? but i think Open Source PHP/Apache is more widely used)
Silverlight (Out of Browser)
Advantages
- C#/F# more powerful than JS
Disadvantages
- complexities of WPF vs HTML/CSS
Mozilla Framework
i dont know much about this option yet
Advantages
- XUL as a layout tool, i guess provides more flexibilities than HTML?
- uses CSS/JS existing web technologies so porting maybe still quite straightforward
- i think it can use native API/Code tho i dont know how it works yet
- in general, i think it will be a more powerful option over adobe air
Disadvantages
- Architecture of software seems messy, chrome folders etc? i think WPF seems like a much more powerful and elegant option compared to this?
i have seen QT-Webkit too, but same as Mozilla Framework, WPF seems like a much more powerful and elegant option
just FYI, i am thinking of building a Project Management/Organizer type application. most parts of it i think it will work on a web platform except i wanted to integrate features like screen capture, managing project files, resources (eg. web site inspirations, resources like fonts, videos, etc). i am also exploring Adobe XMP to add metadata to files (images, videos etc).
You might consider Adobe Air or Silverlight which are platforms that allow an application to run on the desktop or web. There is also an open-source alternative called Titanium that, like Adobe Air, is also multi-platform.
You can also use OpenLaszlo which uses flash.
来源:https://stackoverflow.com/questions/2351330/what-approach-can-i-take-to-developing-a-desktop-application-using-web-technolog