为基于Web的应用程序实现全功能原型

时间:2009-06-24 15:43:10

标签: c# php prototyping

我正在构建基于Web的应用程序的原型,并且正在考虑用HTML构建前端,然后可以在以后为实际应用程序重用它。我之前做了一个基于Flash的原型,它将.swf嵌入到C#可执行文件中。 Flash可以实现快速周转时间,同时Windows应用程序可以无限制地访问用于数据库访问和声音的花哨API。

我也想考虑类似的东西。这种方法有意义吗?我特别关注HTML与容器应用程序通信的方式。根据我的初步研究理解,它只能通过JavaScript,这可能会很快变得笨拙。这尤其如此,因为与基于Flash的原型不同,它在.swf中实现了很多功能,HTML UI将完全依赖于shell来维护状态。此外,我不需要访问数据库。因此桌面应用程序可能过度。

另一个想到的替代方案是使用PHP构建原型并使用便携式服务器堆栈(如Server2Go或XAMPP)进行部署。但我以前从未做过这样的事情。这里的任何人都对这种方法的缺点有所了解吗?

关键要求是快速迭代UI,可重复使用的前端代码和简化的部署,无需任何安装或配置。

6 个答案:

答案 0 :(得分:4)

我见过的一些最好的编程建议来自Code Complete,并且就是这样,“渐进式原型是好东西,一次性原型是很好的东西,但是当你尝试时遇到麻烦从另一个做出一个。“也就是说,知道你正在开发哪种类型的原型,并尊重它。如果您正在开发一次性原型,请不要在生产系统中使用任何原型,无论它有多么诱人。如果你正在开发一个进化原型 - 一个打算成为生产系统的原型 - 不要以任何方式妥协质量。

听起来你正试图同时获得这两者,一次性的快速发展和进化原型的可重用性 - 你不能。下定决心,坚持下去。你也不能吃蛋糕,也不能吃。

答案 1 :(得分:2)

在这里,我认为你是错误的开始。为什么您希望您的原型功能齐全?原型旨在抛弃,并帮助充实需求和UI。如果您需要完整功能,为什么不跳到最终产品?如果原型确实是您想要做的事情,我建议您查看specialized prototyping tool

答案 2 :(得分:2)

您是否正在为客户设计用户界面原型?如果你是这样的话,可以考虑一些不像paper prototypes或演示软件(如PowerPoint)那样笨拙的东西,直到你确定UI为止。如果您可以建立用户界面并明确客户的要求,那么您可以在任何实际平台的基础上开发应用程序,并考虑清晰的模型。

在我目前的项目中,我首先在PowerPoint中原型化UI。在随后的迭代中,我使用静态网页和一些jQuery插件来模拟实际的用户交互。事实证明,这在展示界面方面非常有效,我不必首先构建应用程序。

答案 3 :(得分:1)

我会加入那些建议纸质原型作为“想法”的人,但不一定是实施。这里最重要的一点是HTML或Flash等工具让你在细节中“陷入困境” - 这种颜色是什么样的?这件事的文字是什么?很多时间都可以通过这种方式。相反,你应该关注的是用户流程。

Balsamiq:http://www.balsamiq.com/demos/mockups/Mockups.html是一种保持纸张原型精神而没有所有“纸张”缺点的工具。 Jeff和Joel在其中一个Stack Overflow播客中介绍了它;我已经将它用于我自己的项目一段时间了。它是免费软件,它的工作非常出色。

答案 4 :(得分:0)

如果您了解C#,那么您可以看到的另一个选项是Silverlight。然后,您可以利用您对C#和/或JavaScript的了解,并与丰富的对象模型进行交互。

那会做你想要的吗?客户端的安装很少 - 下载并安装Silverlight插件

答案 5 :(得分:0)

如果原型是你真正希望在这里完成的事情,那么纸和笔将成为你最好的朋友。您可以根据需要绘制尽可能多的迭代。虽然一旦开始编码,这一切都不会在以后最终有用,但它会快速而迅速地发挥作用。

如前所述,有许多原型设计工具有一些学习曲线,但另一个需要考虑的方法是使用CakePHP或Ruby on Rails等框架,这样可以实现快速的应用程序逻辑并保留前端的自定义是剩下的主要辛勤工作。此外,当您完成原型设计后,您可以根据需要进行调整。

在任何一种情况下,您都需要预先支付您的时间(在学习新框架的情况下),支付时间(在纸上进行原型设计或手工编码)。