问题
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).
回答1:
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.
回答2:
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