我正在构建一个应用程序,作者将(希望)用它来帮助他们,呃...... 作者的事情.
把它想象成一个wiki,但仅限于一个人,但更酷.我希望尽可能让我(潜在的)崇拜群众尽可能地访问它,所以我正在考虑将它变成一个网络应用程序.
它当然不一定,没有与其他网站的整合,没有社交功能.然而,它涉及在表单中键入信息,因此对于快速构建,Web可能是最好的.
但是,我真的不想自己主持.我买不起它,但主要是使用它的人可能不希望他们的数据存储在其他地方.这是关于他们正在撰写的内容的私人信息,我不希望他们相信我,因此我正在考虑将其作为一个厚客户端应用程序.
其中存在的问题是,如何将主要侧重于表单数据输入的应用程序轻松提供给潜在用户(yay web apps),还可以离线,这样他们就知道他们完全可以控制他们的数据(yay胖客户端应用程序).
我看到以下解决方案:
将其构建为胖客户端Java应用程序,并在网络上运行缩减版本作为人们可以在下载完整内容之前玩的小程序.
将其构建为适用于在线的Flex应用程序和用于脱机的Air应用程序(基本相同的源代码不同的构建脚本).
将其构建为标准的Web应用程序(HTML,JS等),但有一个可下载的版本,以某种方式在他们的计算机上完全运行该网站.根本不会触及网络.
忽略1和2(我正在分别研究它们),我认为3会涉及:
打包一个安装程序,其中包含一个包含我的代码的小型Web服务器,可以运行.
将数据库从像mySQL这样的东西重新映射到像SQLite这样的东西.
创建一种运行服务器并将浏览器打开到正确位置的某种便利应用程序,可能使用像Prism这样的东西来隐藏整个broswer的东西.
所以,你以前做过这样的事吗?
如果是这样,你遇到了什么问题?
最后,还有其他我没有想到的解决方案吗?"
(另外,Joyent Slingshot是关于另一个问题的建议,但它是RoR(我没有经验)并且我99%肯定它不会在linux下运行,所以它不适合我.)
我想你应该看看tiddlywiki的灵感.
这是一个用JavaScript编写的wiki,它完全独立于一个html文件中.您将其作为file:/// URL加载到浏览器中,因此不需要服务器.
我用它作为个人维基来记录各种主题.
谷歌Gears用于离线提供一些谷歌应用程序(谷歌阅读器,Gmail,文档等).
什么是Google Gears?
Gears是一个开源浏览器扩展,允许开发人员创建可以脱机运行的Web应用程序.Gears提供三个主要功能:
本地服务器,用于缓存和提供应用程序资源(HTML,JavaScript,图像等),而无需联系服务器
一个数据库,用于存储和访问浏览器中的数据
工作线程池,使Web应用程序更具响应性
通过在后台执行昂贵的操作
Gears目前是早期访问开发人员的版本.目前尚未打算供生产应用程序中的真实用户使用.
如果您是有兴趣在应用程序中使用Gears的开发人员,请访问Gears Developer Page.
如果要在计算机上安装Gears,请访问Gears主页.但请注意,Gears尚未用于一般用途.
但是当你读到它时仍处于早期阶段.