我即将开始一个Web应用程序。在开始之前,我想获得一些关于创建Web应用程序的最佳工作流程/顺序的建议。
我的项目将包含一个带有PHP和MySQL的服务器端。客户端将是XHtml,CSS和jQuery。还将使用AJAX。
我确信它可以取决于某些情况,但总的来说,使用这些凭据开发项目的最佳顺序是什么?
我应该先开始开发服务器端吗?或者我应该从客户端开始?或者我应该同时做两件事吗?那么数据库呢 - 应该是第一优先事项吗?那么也许是DAO?
答案 0 :(得分:11)
首先从数据开始。服务器端数据是应用程序的持久,必不可少的核心。如果这个数据模型不正确,你什么都没有。
您应该能够对数据模型进行单元测试,以证明您拥有正确的属性和关系。这不需要太多。一些要插入,更新和查询的测试用例。
您将支持使用后端处理的数据模型。
这也应该进行单元测试,以证明它可以正常工作并为数据模型做所有正确的事情。这将更复杂一些,因为此处理 应用程序。
然后,您可以考虑Web服务向Ajax公开的数据模型。
这也是可以证明JSON做正确事情的可行性。此测试通常相当复杂,因为这是GUI前端所依赖的。这必须是正确的。
然后,一旦您完成了Ajax数据模型,就可以编写前端GUI。
答案 1 :(得分:7)
您描述的工作流程是我用于自己(个人)项目的工作流程。
我喜欢在中间见面。我首先进行数据建模,同时开始对接口进行原型设计。业务规则排在最后,将所有内容整合在一起。
当我有一个GUI来查看时,我也发现它“鼓舞人心”......它鼓励我让它做某事。此外,GUI往往经历最多的修改,因此在流程的早期启动它们可确保您对最终产品感到满意,并且在您的业务逻辑实施时将最终确定。
答案 2 :(得分:4)
如果我正在为一家不确定他们想要什么的大公司工作,我将首先从UI开始。这样他们就可以在我将大量时间投入到系统的其他部分之前弄清楚他们想要什么。
另一方面,如果我确切知道需要什么,那么我将从一个功能开始,逐步完成图层,数据库,控制器,视图和ajax,直到该功能完成,然后再去转到下一个功能。通过这种方式,我记忆的上下文更少,而且客户端总是有新的东西可以使用。
答案 3 :(得分:1)
我不能告诉你什么是最好的,但对我有用的是......
与商界人士交谈,了解他们想要什么。
用笔和纸绘制UI。框表示页面。按钮和链接指向其他页面的箭头。不需要每一个微观细节。有些事情是隐含的。
一旦UI被很好地映射出来,设计数据库架构。有时候我会写出像这样的文本文件中的所有表格......
pets
----
id
name
species
# etc...
然后实现数据库。我使用Rails迁移。您可以手动编写DDL。
如果您有模型或DAO或类似的东西,我会使用单元测试来实现它们。
然后我通常按实体浏览应用实体。让视图和控制器工作。在测试代码和实现代码之间快速切换。
这是一般顺序,但整个时间都有调整等等。您需要回到数据库设计,并在构建实际功能时进行改进。