我有幾年使用PHP開發Web應用程序的經驗,而且我也廣泛地使用過Java(但從來沒有用於Web應用程序開發)。我正在完成一個在PHP/CodeIgniter中構建並在CloudControl中託管的過去六個月中一直在進行的大型項目(提供自動服務器配置和可伸縮性)。關於從PHP開發人員進行Web開發的Java的問題
該項目進展順利,PHP滿足了我的需求 - 但現在我正處於開發一個針對企業用戶的Web應用程序的開始階段,我正在考慮使用Java(可能是'Grails')結合AWS Elastic Beanstalk。
我的第一個問題是:多線程,它在Java應用程序開發中的頻率如何?使用我的PHP應用程序,我的服務器可能需要響應用戶的請求(例如發佈到用戶的牆上)對Facebook進行API調用。爲避免讓我的PHP進程在返回給用戶之前等待API調用完成,我使用Gearman作業隊列服務器w/workers將工作從主應用程序服務器卸載到後臺工作。
Java開發人員是否只需旋轉一個線程來處理API調用,並讓主進程返回給用戶?這是通過PHP進行Java開發的最大優勢嗎?謝謝!
我一直在用兩種語言餵養自己一段時間呵呵。我非常謙虛的觀點是:Java的優勢在於API和庫的可用性。對於PHP來說,構建原型或功能版本的速度很快。現在看看我,我又選擇了一個新的項目,因爲我知道我可以使用Apache POI而不是PHPExcel ......有點懶惰。 :) – Alfabravo 2011-12-22 23:38:21
我知道產生新線程的能力對於PHP開發人員(比如我自己)來說是新鮮事物,並且有能力使用PHP非常缺乏的這個很好的功能,從而產生了一大堆「哦,我可以做這個,這個,這些東西「的思想類型 - 但要保守。我聽到有太多關於PHP開發人員使用某種允許多線程的語言的故事,並且進入了一種情況,他們已經開始使用100個線程來完成可以在3中合理完成的任務,然後想知道爲什麼服務器像狗一樣運行。 – DaveRandom 2011-12-22 23:41:44
當用戶需要數據可用時(性能是一項功能!),我已經使用了線程,並且在單個線程中收集它們都需要很長的等待時間。我相信還有很多其他案例證明它有幫助,但它不是一個銀色的子彈,也不是建立某種東西時的首要想法。 – Alfabravo 2011-12-23 16:14:18