2009-10-11 64 views
3

嘿,夥計們,我對Web開發業務比較陌生。我和兩個朋友創立了我們自己的小公司。 1人是設計師,1人是銷售/顧問,我是開發人員。現在,它是一個後續工作項目,但我們希望擴大並讓它成爲我們的全職工作。網站開發 - 您的設置(編輯器,項目管理,測試網站,現場網站等)

無論如何,我的問題是,完整的Web開發項目週期的最佳途徑是什麼。

的事情列表來討論:

  • 建議 - 你們怎麼找到這些重要
  • 項目規劃 - 多少規劃並制定應該有?
  • 項目管理軟件 - 我做了一個 以前的小研究,我喜歡 在線門戶。對我來說,Parallels脫穎而出 。
  • 編輯工具 - 我一直在使用 最基本的編輯器Notepad ++。我覺得 像我應該使用更先進的東西 。
  • PHP Framewor k - 我剛剛迷上了 CodeIgniter。
  • 部署網站的方法 - 現在我是 我的大部分編輯工作都是通過FTP到 這個活的網站。我應該在本地副本上工作 ,然後上傳到 客戶的測試網站?然後 最終轉到活動服務器。 有沒有辦法讓這個自動化? (最佳實踐?)

我等不及聽到所有的投入,特別是人誰是它的老兵!

回答

2

建議

這真的取決於你在尋找什麼樣的客戶羣。在你的公司開始的時候,這可能不是必要的,因爲你會與中小客戶打交道,但這樣做並不壞。當我做了一些自由Web開發時,我沒有在基於提案的系統上工作。相反,我做了更多的網站模型 - >變更 - >實施系統。我想一個樣機是提案的形式...

項目規劃

同樣,這取決於項目的大小。如果你在一個靜態的20多頁的網頁上工作,你可能不想過多地考慮規劃方面。但是,如果您正在與一個涉及大量技術(論壇,CMS,AJAX,Web服務等)的網站合作,那麼您可能需要事先多投資一些。

項目管理軟件

不能說我在我的天作爲一個自由Web開發人員曾經使用過的項目管理工具。我會說現在不要投資任何東西。一旦你的公司發展壯大,你就能更好地瞭解你的要求。

編輯器工具

記事本++現在可以削減它,但我不會推薦它在長期運行。如果您正在尋找PHP以外的其他技術,我絕對不會推薦它。事實上,如果你正在尋找一個更「商業用戶」風格的客戶,你需要考慮進入ASP.NET或J2EE。我會建議找一個至少有代碼完成的PHP IDE,因爲這可以幫助消除大量的PHP錯誤。我不確定Notepad ++是否有這個功能。您也可能想要獲得集成到IDE中的調試器。我知道幾年前Eclipse有一個PHP IDE,但我不確定這些日子有多好。

PHP框架

從來沒有真正使用任何PHP框架,但那是因爲我畢業,找到了一份工作之前,我有時間教自己的任何人。 :)去任何適合。你可能想習慣多於一個,因爲有些項目會更適合一些框架。

方法來部署網站

Defintely,肯定得到一個本地服務器設置。你可以很容易地在你的開發機器上安裝WAMP/LAMP安裝。正如其他人所說的,由於墨菲定律,您可能想要使用源代碼管理。就我個人而言,過去幾年我一直在使用wampServer,因爲我沒有真正開發過那麼多的PHP,這使我能夠非常快速地獲得工作環境。但是你可能希望進一步定製你的devenv。但是,您應該在虛擬數據庫上使用虛擬數據庫在虛擬服務器上測試您的應用程序,然後將其部署到具有真實數據庫的實時服務器上

希望這會有所幫助!

2

不可能回答這個完全在這裏只舉一個職位,但我會給你一些punchlines:

建議 - 你們怎麼找到這些重要

不知道你的意思那?銷售建議?

項目規劃 - 應該有多少計劃和制定圖表?

不要花太多時間進行前期規劃 - 一旦進入下一階段,它將失去價值。儘管計劃不夠。用例和一些界面草圖/線框是很有價值的。

項目管理軟件 - 我做了一些調查,我喜歡在線門戶。 Parallels對我而言非常出色。

在這裏你永遠找不到金色的子彈。儘可能少/儘量簡單地使用,並且始終使用明確的退出路線。少即是多。另外,請記住,這種工具需要同時適用於非常不同類型的人員。該工具雖然支持一個過程,但請記住 - 不要讓該過程由該工具定義。

編輯器工具 - 我一直在使用最基本的編輯器Notepad ++。我覺得我應該使用更先進的東西。

使用什麼適合你。除非你知道如何使用它,否則一個好的工具是沒有用的。同樣,如果你很瞭解一個簡單的工具,你可以得到很多。

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

與編輯者完全相同。

部署網站的方法 - 現在我正在通過FTP將大部分編輯工作都轉到活動網站上。我是否應該在本地副本上工作,然後上傳到客戶的測試站點?然後最終轉到活動服務器。有沒有辦法使它自動化? (最佳做法?)

這應該是優先考慮的變化。至少,在SCM中獲取源代碼 - Subversion是最主流的,所以我建議使用它。其次,獲得獨立的開發環境和生產網站。您可以在開發設置中進行開發,並在完成後部署到實時站點。

下一步是看測試和自動化部署(谷歌爲此)。但首先要做的是 - 習慣SCM和單獨的開發/設備設置。

最後,如果你還沒有閱讀它,Getting Real可能是值得你的時間。

+0

會給那本書一讀。看起來有趣! – Roeland

0
  • 建議 - 爲什麼不。只是不要過頭。不要讓它變得像你和你的客戶之間的這個大公司牆。你很小,是個人的。這是你的力量。
  • 項目策劃 - 你們有三個?跳過項目規劃軟件。
  • 編輯工具 - 如果有一個記事本++不具備的特定功能,您需要需要,然後切換編輯器。但切換不要感覺更高級。
  • PHP框架 - 保持開放的心態,並使用你所迷戀的東西。
  • 部署網站的方法 - 總是針對開發箱工作。有些測試框會使用真實世界的數據在部署到生產框之前測試更新。總是版本控制你的代碼。無論您使用什麼工具或方法進行部署(確實是一個有趣的事情),都需要保留一個簡單的清單,其中包含部署時要經過的步驟並保持最新狀態。對生產環境進行自動定期備份,並實時在測試盒上進行重置和恢復,並記下從備份恢復所需的步驟。
0

作爲編輯,我強烈推薦jEdit。它是跨平臺的,可以使用許多編程語言,擁有大量用於擴展功能的插件,宏記錄/保存/回放,主動維護以及可配置性。

對於部署,Subversion使很多問題消失。對於Web開發,我通常有兩個分支; devel and live。所有更改都是在devel中完成的。當您準備發佈更改時,單個svn合併操作會將相同的更改應用到活動分支。

Subversion在其基礎架構中掛鉤了某些事件發生時調用腳本,如簽入軟件。後提交掛鉤可以自動將(scp,ftp,unison等)文件傳輸到devel服務器或活動服務器上,具體取決於更改所在的分支。現在,只要檢查更改,您幾乎可以立即自動更新網站。

Subversion的另一個好處在於它可以掛接到Apache以提供WebDAV接口,因此您可以在任何地方更改文件,而無需通過防火牆打開Subversion本身。如果你需要從你的日常工作中做出快速改變,你可以。