2011-07-25 190 views
27

我正在開始一個新的Symfony項目,這對我的公司非常重要。我的經驗僅限於Symfony 1.4。我有3個月的時間來完成這個項目。Symfony 2或Symfony 1.4?

該項目應該是多年,並將發展到擁有許多功能。我知道很多人已經在使用Symfony 2製作了,但是你認爲用1.4做一個壞主意?

每一種情況都不一樣。我沒有看到1.4的任何問題,但有些人建議我使用Symfony 2,因爲最終我們需要升級並進行大量的代碼重寫。

另外,有教條2.我會使用1.2.4。再說一遍,我知道Doctrine 2真的很棒,但是我堅持使用1.2.4會不會離開懸崖?它似乎做我們需要的一切。

感謝您的任何見解。

+2

好吧,公平的說,Symfony 2將於明天正式發佈*,所以如果對「我應該使用Symfony 2?」這個問題的答案不會太驚訝。在過去幾個月的過程中發生了變化...... –

回答

39

爲什麼要使用Symfony的2.0:

  • 更快。許多Symfony組件都看到了性能改進,現在它也支持邊緣包含。
  • 修復較弱的設計。 Symfony 1.x很棒,但是一些組件有缺陷,比如日誌記錄(現在外包)和任務(更靈活)。 1.x中的表單很強大,但有一些缺陷; 2.0中的表單更好。
  • 這是未來。 Symfony 1.x將在項目的生命週期之前到期。你已經說過你重寫它。等待是沒有意義的。
  • 更清潔,更簡單的代碼。命名空間,更多的解耦,通常比Symfony 1.x更美麗。
  • 學說2.0。方式更快,方式更易於使用。

與1.x一起使用的唯一可能原因是時間問題。但是,如果這個項目非常重要,那麼增加時間限制(如果它是不可行的)會更有意義,然後在1.x中完成,並在以後重寫它。

+6

雖然我同意你上面寫的所有內容,但與前一版本相比,Doctrine 2故意非常輕便。如果OP期待行爲,他們會感到失望。需要徹底的研究來了解你所得到的以及你失去的東西(或者需要做得非常不同)。 – Orbling

+1

你錯過了一點,很可能他會在下一個項目的同一個十字路口;所以現在就爬上學習曲線,並重新開始:p – Tjorriemorrie

19

那麼,如果你有更多的時間來完成項目,Symfony 2.0應該是你的下注。 Symfony 2.0開發人員仍然在努力學習使用所有這些好的標準和最佳實踐的正確方法。

使用SF 1.4的社區已經很成熟,並解決了所有常見(和其他不常見)場景可能出現的每一個問題。

所有關於速度的論據都不適用於建立在SF上的90%(或更多?)的項目。除非你需要一個高性能的webapp(服務超過500-1000個請求/分鐘),否則你會很好地使用SF 1.4。如果你需要提供更多的服務,你總是可以使用一臺服務器到現場。一個優化的SF 1.4應用程序可以表現很好。

我想說的是,對於大多數應用程序來說,所有關於性能的討論都不是問題。提高速度標誌時人們不會考慮它。

SF 1.4是一個結構良好的框架。它在開發過程中確實加快了速度。 SF 2.0是一個正在開發的社區。人們仍在爲最常見的問題開發解決方案和插件。

我仍然在所有新項目中使用SF 1.4。主要是因爲我在這方面做了很多工作,使得我的項目非常快速完成。我所有的客戶都不需要高性能的Web應用程序,但是我有我自己的項目,需要快速實現並且經過優化後才能實現。

+1

這張幻燈片可以幫助決定http://www.slideshare.net/thrashr888/symfony-performance。 –

+3

定義「好」。僅靠Doctrine 2可以輕鬆減少數百ms的執行時間。 Doctrine 1.x中的水合作用非常緩慢。 Symfony 1.x中的路由也很慢。 –

+4

好意味着你編寫你的應用程序,它的用戶不會抱怨緩慢。對我來說這很好。用戶不關心基準。更好的程序比速度更快的程序更好。儘管Doctrine 1.x和SF 1.4路由速度很慢,但您可以優化您的應用並獲得200ms <處理時間請求。 –

0

去與Symfony的2 我是從1.4到2做開關,現在因爲Symfony的2

的高級訪問控制列表功能,它將爲您節省大量的時間在年底。

1

完成任務比使用最新最好的更重要,雖然symfony 2看起來是一個更好的版本,symfony 1.4仍然是一個偉大的產品,擁有更多知識淵博的開發人員,因此如果你擊中任何絆腳石博客,你更有可能在更短的時間內找到解決方案。

你的目的的symfony 1.4是不夠好,如果當你決定要移動到的symfony會給你的symfony更大的升值2

有版本之間有足夠的相似之處,能夠獲得有用通過使用symfony 1.4的知識,這意味着現在,您可以獲得兩全其美的體驗 - 爲以後的工作提供有用的體驗並完成工作。

2

我仍然在Symfony 1.4中執行我的項目,但爲如何將這些更改轉換爲2.0將爲您自己制定一個策略將是一個不錯的主意。另外,這聽起來似乎對教條有一些沮喪,並且Propel的開發似乎已經被喚醒。將來可能會有許多偏好轉向Propel。

2

短期: 如果你知道sf1.4可以讓你完成你已經做客戶要求的所有的東西去與時間的項目。

  • 臨:你知道,在技術沒有你的成本
  • 缺點:2012年11月的支持結束,石灰測試(或插件PHPUnit的),使用「舊」的解決方案

長期: 正如你所說的項目應該是多年,所以我認爲,許多開發人員將在此工作。 Sf2更加分離並使用PHPUnit進行測試。允許您使用ESI並使用HTTP標準(無應用程序緩存)執行非常好的操作。

  • 優點:全新的工具,非常活躍的項目,一對夫婦的上述sf1.4步驟,網絡也將演變Sf2的會擁抱變化和支持發展
  • 缺點:你不知道,但你可以僱傭一些人來幫助你(GTD和學習一個新的框架)
0

我會去symfony 2.你有所有的功能改進(更快,教條2等等等等),但這不是原因我會去的。

Symfony 2已經進行了全面的安全測試,這對於任何真實的項目都至關重要。加上長期支持不會覆蓋你的項目生命週期這一事實,並且確實需要在2中建立它。

我剛剛在SF2開始我的第一個項目,在sf 1工作了幾年後。X。有很多變化,但適應並不需要太長時間。

5

自從1.0以來,我一直在努力。好吧,我完成了我的1dot 0項目邪惡的火災...沒有等待現在1.1 ...好吧升級經歷所有的升級麻煩...好吧酷現在它已準備好去,但沒有等待1.2現在。 ..FFS ...確定升級到1.2通過學習這個新的表格類和插件問題而掙扎cuz sfGuard需要一個新的版本等等等等......好吧,現在我們準備好開火了,但沒有等待......他們在WTH的同一天發佈1.3和1.4版本。好吧,這次升級會有多糟糕? phpmailer很好的swiftmailer不好。或者這是另一種方式呢?哦FFS這是什麼Symfony2中所有關於現在.....

我相信我不是唯一一個已經通過了(或類似的情況)

什麼事情是什麼,你知道的和你擅長什麼。 Symfony 2我敢肯定,它是偉大的真棒最好的等等等等等等。但是,如果你需要三個月的時間才能加快速度並處理所有會出現的錯誤。那麼你最好和1.4一起去建立你所知道的東西。

我堅持1.4,因爲我有一個龐大的代碼庫,我已經建立,工作得很好。正如你所看到的那樣,儘管辯論可能會持續一段時間,但各方意見都可以看出來。

無論如何,這是我的兩分錢。

+0

不能同意更多。 –