2009-10-31 125 views
1

我們的團隊是web應用程序開發的新手。我們一直在使用Java開發基於Windows/Linux的應用程序。該團隊還擁有豐富的Perl經驗。哪個Web框架最適合私有云Web應用程序?

新的任務是開發一個內部的私有云網絡應用程序。看起來所有的Web應用程序開發框架都相當混亂:Ruby on Rail,Drupals,Zend Framework等等。所有這些都是開源框架,並且都聲稱是快速Web應用程序開發的最佳選擇。這些框架的優點和缺點是什麼?

對於實時的團隊協作內容管理web應用程序,哪個框架最好?

由於團隊具有豐富的OO應用程序開發經驗,因此需要具有強大Web widget支持的OO框架。任何建議?

回答

0

作爲一名Python粉絲,我必須推薦Python Web框架之一:web2py。它很容易使用,與許多數據庫和GAE一起使用。看他們網站上的幻燈片。

1

在一天結束的時候,沒有人實際上可以告訴你一個框架 比另一種更好,但我對你的忠告是:熟悉基本 ,然後拿上評論再看看你已經通過了。

Drupal(和Joomla和Wordpress)都是基於PHP的內容管理的 應用程序。這些是完整的解決方案,而不是框架。 你可能會發現其中一個已經符合你的要求, ,並且只需要很少的編程就可以滿足你的需求。 這個應用程序廚房site例如使用WordPress構建,意味着 只需調整代碼即可完成。

但是,很可能您必須從頭開始構建應用程序。 我相信,對於您來說,瞭解基本的 Web開發概念的最佳方式是,作爲java開發人員,您將通過一個簡單的基於Servlet/JSP的應用程序啓動 。 您將不得不學習如何使用servlet容器,如 TomcatJetty,並且您將應付相對容易的學習曲線。 跳過舊教程中可能遇到的所有舊的JDBC/SQL技術,並且只是簡單地嘗試理解MVC(模型 - 視圖 - 控制)概念 在構建UI時,您可能會遇到術語JSF,I建議去 也跳過它。這些日子的常見做法是在純HTML/AJAX/javascript中構建UI 。

談到了JavaScript, JQuery是各種框架中最流行的,但你可以考慮 Prototype,而不是因爲它很好地與Ruby on Rails和CakePHP的 集成(會得到他們以後) 對於你的第一個應用程序,嘗試構建一個簡單的請求響應web應用程序 (同樣,避免在此階段使用數據庫),以及一些AJAX。

一旦你完成(2-3天),你將準備好更好地決定自己 什麼樣的框架最適合你的需求。 從這個意義上講,Java框架是恕我直言太臃腫和陳舊, 但如果你會得到不同的想法,然後Spring是一種在這一領域事實上的 的。除非您打算構建大型傳統企業 應用程序,否則完全避免使用J2EE/EE5,因爲它們被視爲已棄用,至少在我的周圍是 。 即使這是不可接受的解決方案,一個非常好的主意將是每天拿 來學習谷歌AppEngine for Java,它基於Eclipse插件 和基於Jetty,並在該級別,學習它應該是毫不費力。 這是一個servlet conatiner,有一些附加價值。 您將瞭解ORM的概念(實際上,您將在任何其他現代Web框架上使用數據庫工作的方式) 。 作爲獎勵,您還可以跳上雲計算的潮流。

從現在開始,選擇您的終極框架將變得更容易。 此時,您可能更願意使用Java的進一步專業知識, 或掛鉤到另一個良好建立的Web堆棧。 如果你仍然堅持繼續Java,看看GWT(Google Web Kit 被用來建立Google Wave)。因爲它會強烈地提醒您熟悉的Swing組件和佈局的舊日 。 作爲一個成本/效益的解決方案,我認爲這是您的實時團隊協作內容管理Web應用程序更好的選擇 。

但是,如果說再見熟悉的Java世界是你想要的, 有些人會堅持認爲你應該決定權提前跳到 PHP或者Python框架當前使用的網絡巨頭, Facebook,WordPress(PHP),Google和FriendFeed(Python)都是其中的一部分。儘管許多框架很快採用了它的核心概念和想法,但它的榮耀日子已經結束, Ruby on Rails也可以成爲一種選擇(Twitter)。 對於PHP,我推薦CakePHP(Mozilla附加組件網站),它將是一個簡單的從Java堆棧 轉換。 Zend是沉重的傢伙,不是你的解決方案,如果你在很短的時間, 笨/交響樂也許是你的requierments, 太輕,但值得檢討。

對於Python,可以考慮從Facebook 新的頂級框架(通過FriendFeed的開發),發展易學命名Tornado很好的框架 的家。它回答了一些問題,沒有其他的框架, 可能碰巧正是你所需要的。您可以在 的homepage上5分鐘內得到它。 Turbo-Gearweb.py也很好 建立的設置。

希望我幫助,祝你好運。

1

這是一個相當古老的問題,但我想我會分享我的想法,因爲這個問題仍然相關,應該進一步討論。

如今,當環境正在發生變化,雲計算已經成爲運行的Web應用程序的標準環境,這會影響如何使用框架。所列出的這些內容都不適合雲,因爲它們源於單一服務器時代。

無論框架是什麼,最重要的是你如何設計Web應用程序。例如,您可能不希望在應用程序中運行任何Quartz/Cron任務,因爲當您擴展時,所有這些作業都會繁殖。如果只做一次,那麼多次完成相同的工作。

在設計雲應用程序時,必須將雲環境視爲分佈式系統,這意味着只有自主子系統才能真正響應需求。可擴展性是您應該入雲的最重要的因素。如果你不需要,那就不要付錢。

所以要回答你關於哪個框架的問題,我會說,首先你必須知道你想要達到的目標。如果您有將需求推向雲端的需求,則需要專注於設計,然後選擇適合設計的框架。如果看起來你不需要任何沉重的東西,所有的框架都應該完成這項工作。