网站开发 - 您的设置(编辑器,项目管理,测试站点,实时站点等)

时间:2009-10-11 20:13:58

标签: php html web-services project-management

嘿,伙计们,我对Web开发业务比较陌生。我和2个朋友开办了我们自己的小公司。 1人是设计师,1人是销售/顾问,我是开发人员。现在,这是一个后期工作项目,但我们希望扩大并让它成为我们的全职工作。

无论如何,我的问题是,完整的Web开发项目周期的最佳方式是什么。

要讨论的事项清单:

  • 提案 - 你们发现这些重要的
  • 项目规划 - 应该有多少规划和制图?
  • 项目管理软件 - 我做了一个 以前很少研究,我喜欢 在线门户网站。 Parallels脱颖而出 对我来说。
  • 编辑工具 - 我一直在使用 最基本的编辑器Notepad ++。我觉得 就像我应该使用更多的东西 先进。
  • PHP Framewor k - 我刚刚迷上了 笨。
  • 部署网站的方式 - 就在我现在 通过FTP完成我的大部分编辑工作 现场。我应该工作吗? 在本地副本上然后上传到 客户的测试网站?然后 最终转到实时服务器。 有没有办法自动化这个? (最佳做法?)

我等不及听到你的所有意见,特别是来自那些退伍军人的人!

4 个答案:

答案 0 :(得分:2)

这里不可能在一篇文章中完全回答这个问题,但我会给你一些妙语:

  

建议 - 你们发现这些重要的

不确定你是什么意思?销售提案?

  

项目规划 - 应该有多少规划和制图?

不要花太多时间预先计划 - 一旦你进一步下线就会失去它的价值。尽管计划得足够多。用例和一些界面草图/线框是很有价值的。

  

项目管理软件 - 之前我做过一些研究,我喜欢在线门户网站。 Parallels为我脱颖而出。

你永远不会在这里找到一颗金色的子弹。使用尽可能少/简单,并始终采取明确的退出路线。少即是多。另外,请记住,这种工具需要同时适用于不同类型的人。该工具支持流程,因此请记住这一点 - 不要让工具定义流程。

  

编辑器工具 - 我一直在使用最基本的编辑器Notepad ++。我觉得我应该使用更先进的东西。

使用适合您的方法。除非你知道如何使用它,否则一个好工具就没有了。同样,如果你熟悉一个简单的工具,你可以走得很远。

  

PHP框架 - 我刚刚迷上了CodeIgniter。

完全相同的情况适用于编辑。

  

部署网站的方法 - 现在我通过FTP进行大部分编辑工作到现场网站。我应该在本地副本上工作,然后上传到客户端的测试站点吗?然后最终转到实时服务器。有没有办法自动化这个? (最佳做法?)

这应该是改变的重中之重。至少,在SCM中获取源代码 - Subversion是最主流的,所以我建议使用它。其次,获得一个单独的开发环境和生产站点。您可以在开发人员设置中进行开发,一旦完成,就可以部署到实际站点。

下一步是研究测试和自动部署(google for the)。但首先要做的是 - 习惯SCM和单独的开发/生产设置。

最后,如果您还没有阅读,Getting Real可能值得您花时间。

答案 1 :(得分:2)

<强>提案

这实际上取决于您所关注的客户类型。在您公司成立之初可能没有必要,因为您将与中小型客户打交道,但养成这种习惯也不错。当我做一些自由网页开发时,我没有在基于提案的系统上工作。相反,我做了更多的网站模型 - &gt;更改 - &gt;实施系统。我想模型是提案的一种形式......

项目计划

同样,这取决于项目的规模。如果您正在使用一个静态的20多页网页,您可能不希望在规划方面做太多。但是,如果您正在使用可以使用大量技术(论坛,CMS,AJAX,Web服务等)的网站,您可能需要事先投入更多资金。

项目管理软件

不能说我曾经在自由网络开发人员中使用过项目管理工具。我想说现在不要投资任何东西。一旦公司发展壮大,您就可以更好地了解自己的要求。

编辑工具

Notepad ++现在可能会削减它,但从长远来看我不会推荐它。如果你正在寻找PHP以外的技术,我绝对不推荐它。事实上,如果你正在寻找一个更“业务用户”的客户,你需要考虑进入ASP.NET或J2EE。我建议使用至少具有代码完成功能的PHP IDE,因为这可以帮助消除大量的PHP错误。我不确定Notepad ++是否有此功能。您可能还希望获得一个集成到IDE中的调试器。我知道Eclipse在几年前有一个PHP IDE,但我不确定这些日子有多好。

PHP Framework

从来没有真正使用任何PHP框架,但那是因为我毕业并找到了工作,然后才有时间自学其中任何一个。 :)随身携带。你可能想要习惯不止一个,因为有些项目更适合某些框架。

部署网站的方式

Defintely,绝对可以获得本地服务器设置。您可以在开发机器上轻松安装WAMP / LAMP。正如其他人所说,由于墨菲定律,你可能想要使用源代码控制。就我个人而言,过去几年我一直在使用wampServer,因为我还没有真正开发那么多的PHP,这让我可以很快地获得工作环境。但您可能希望进一步定制您的devenv。但是,在将数据库部署到具有真实数据库的实时服务器之前,您绝对应该在具有虚拟数据库的虚拟服务器上测试您的应用程序!

希望这有帮助!

答案 2 :(得分:0)

  • 提案 - 为什么不呢。只是不要过头了。不要让它变得像你和你的客户之间的大公司墙。你很小,是个人的。那是你的力量。
  • 项目规划 - 你们三个人?跳过项目规划软件。
  • 编辑器工具 - 如果Notepad ++没有您需要的特定功能,则切换编辑器。但不要只是为了感觉更高级。
  • PHP框架 - 保持开放的心态并使用您所迷上的内容。
  • 部署网站的方式 - 始终针对开发框工作。有些测试盒具有真实数据,可在部署到生产盒之前测试更新。始终版本控制您的代码。无论您使用什么工具或方法进行部署(实际上是品味问题),都要保留一份简单的清单,其中包含部署时的步骤,并使其保持最新状态。对生产箱进行自动定期备份,并且不时地在测试盒上进行重置和恢复,并记下从备份恢复所需的步骤。

答案 3 :(得分:0)

作为编辑,我强烈推荐jEdit。它是跨平台的,可以说许多编程语言,有许多用于扩展功能的插件,宏记录/保存/回放,主动维护,并且非常易于配置。

对于部署,Subversion会让很多问题消失。对于Web开发,我通常有两个分支; 开发直播。所有更改都在devel中完成。当您准备发布更改时,单个 svn merge 操作会将相同的更改应用于实时分支。

Subversion在其基础架构中有钩子,可以在发生某些事件时调用脚本,例如检入软件。后提交挂钩可以自动将文件(scp,ftp,unison等)传输到devel服务器或实时服务器,具体取决于更改所在的分支。现在,无论何时检查更改,您都可以立即进行自动网站更新。

Subversion的另一个好处是它可以挂钩到Apache以提供WebDAV接口,因此您可以从任何地方更改文件,而无需通过防火墙打开Subversion本身。如果你需要从日常工作中做出快速改变,你可以。