为可安装项目选择 Web 框架
我目前正在为客户评估不同的 Web 应用程序框架。我们面临的问题是,客户要求将 Web 应用程序作为所有主要操作系统(Windows、MacOS X 和杂项 Linux 风格)的可安装包提供,这些操作系统将由其用户进行设置,而技术上可能不太先进。 由于该项目必须是跨平台的,我想我们可以排除 ASP.NET,而且出于某种原因,他们似乎不太喜欢 Java。那么这给我们留下了什么?
为了详细说明我们打算编写的应用程序,它将是现有服务器应用程序之上的基本 UI,我们可以通过 SOAP API 访问它。服务器的世界观与我们想要呈现给用户的世界观略有不同,因此 Web 后端必须进行一些数据改组和缓存,但 Web UI 可能只是简单的“从列表中选择项目并执行”由于我们不直接与数据库对话,ORM 和快速将数据库模式映射到视图的能力对我们来说并不是那么重要,因为将会有一个每个客户办公室运行的网络服务器服务器应用程序完成了所有繁重的工作,可扩展性并不是什么大问题。我们首先需要解决的主要问题是“可安装”要求。几乎所有其他变量(语言、设计、功能等)都是次要的
I am currently in the process of evaluating different web application frameworks for a client. The problem we are facing is that the customer requires the web app to be delivered as an installable package for all the major OSs (Windows, MacOS X and misc linux flavors) which will be set up by their users which may not be too technically advanced.
Since the project has to be cross-platform, I guess we can rule out ASP.NET and they do not seem too fond of Java for some reason. So what does that leave us?
To elaborate a bit on the app we intend to write, it will be a basic UI on top of an existing server app which we can access through a SOAP API. The server has a slightly different view of the world than we want to present to the user, so the web-backend will have to do some data shuffling and caching but the web UI will probably be a simple 'select items from a list and perform actions on them' affair with some AJAX eye candy thrown in. Since we're not talking to a database directly, ORM and the ability to quickly map the database schema to view is not all that important to us, and as there will be one web server running at each customers office and the server app does all the heavy lifting, scalability is not much of an issue. The main issue we need to get out of the way first is the "installable" requirement. Pretty much all other variables (language, design, features etc) are secondary
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可能想了解 Real Studio Web Edition,它可以创建可安装在 Mac OS X、Windows 和 Linux 上的 Web 应用程序。该网络应用程序本身是一个已编译的可执行文件,因此您的客户可能更容易安装。
这是一个非常的新产品(2010 年 12 月才发布,并且仍在经历重大变化),因此您在考虑之前应该仔细评估它。
但看起来它确实足以满足您的要求。
http://www.realsoftware.com
You might want to look into Real Studio Web Edition, which can create web applications that can be installed on Mac OS X, Windows and Linux. The web app itself it a single compiled executable so it might be easier for your clients to install.
This is a very new product (only released in Dec 2010 and still going through significant changes), so you should evaluate it carefully before even considering it.
But it does look like it would meet your requirements well enough.
http://www.realsoftware.com
任何 Python Web 库都可以。 Bottle、CherryPy、web.py 带有内置的 Web 服务器。您只需使用 py2exe(或 Mac 等效程序,Linux 用户可能对“运行”脚本感到满意)打包“服务器”,然后就可以开始了。 python Web 服务器启动后,它启动了一个指向 localhost 的浏览器。很多个月前我就用 web.py 做了这个。
可以更进一步,构建一个单一站点浏览器 - 嵌入式 Webkit 或 IE,这很简单。
(注意:Python 只是这里的一个示例 - 您可以使用 Java/Tomcat 等执行相同的操作)
Any Python web library would do. bottle, CherryPy, web.py come with a built-in web server. You simply package up the 'server' using py2exe (or the Mac equivalent, Linux users may be happy with a 'run' script) and you're good to go. After the python web server has started up, it launched a browser pointing at localhost. I did exactly this with web.py many moons ago.
Could have taken it slightly further and built a single site browser - embedded Webkit or IE, trivial to do.
(NB: Python is just an example here - you could do the same with Java/Tomcat, etc etc)
您可以查看web2py - 请参阅此答案更多细节。
You might check out web2py -- see this answer for more details.