2017-02-12 90 views
3

我想創建一個web應用程序,它實際上是實時儀表板)。考慮維護項目的時間和複雜性,我正在尋求建議我應該爲項目選擇什麼樣的堆棧,以便長期維護它,維護API你會推薦Python或NodeJS來創建實時Web服務嗎?

下面是我的一些要求:在儀表盤最近發生的事件

  • 實時更新。

  • 正確的服務API。

  • 專注於問題,而不是處理配置和調整。

問題:我感到困惑我的選擇,很難採取決定,將幫助我在長期運行。

這裏有一些事情我已經研究後想通了:

  • Python和擁有的NodeJS對WebSockets的框架(SocketIO,Greenlets,扭曲等)。但是,在JavaScript中對異步處理的支持更好。

  • 回調地獄可能會吸吮。事實上,你不能指望所有調用的函數的返回值都是異步的(有Promise)。但是,必須遵循體面的編程實踐。

  • Python爲您提供了對代碼的更多控制,並且更易於維護。

  • 對於我來說Javascript已經出乎意料,在幾次更新之後就破壞了事情。社區正在快速發展,但對於企業級應用程序來說這可能太快了。儘管如此,還有像PayPal這樣的大企業的例子,Google對此表示讚賞。使用Javascript正在成爲新的酷派,所以我更有可能爲我的項目找到維護者,或者在未來找到更多的新兵。

  • 與Django/Flask相比,在使用Express的JavaScript中更容易創建API。

  • 節點項目通常有很多模塊(正在看Github上的一些項目),比如BodyParser,Meteor,Webpack。我不認識他們,但感覺好像太多了。

  • 在Python中比較難以拉屎,社區更加成熟穩定。與之相反的是,Node對於簡單的任務有很多模塊,其中大部分是由不合標準的程序員創建的,因爲它們更容易製作。 (沒有冒犯你,你不是其中之一:P)

  • 有像Firebase這樣的解決方案,但是我想避免使用它,因爲長期來說這會嚴重依賴專有工具。歡迎提出建議。

我爲什麼問?

你在日常生活中可能比我更有經驗。

PS:我在JavaScript和Python方面都有相當的經驗(在Python中更高效)。但請不要將語言視爲障礙。我想要一個解決方案,即使我的團隊中有更多的成員,他們也應該對代碼庫感到滿意。

編輯:堆棧交換不允許基於意見的問題。這不應該是一個。我打算從許多可用的人中選擇一個特定的解決方案,得到一個合理的論點。在給予評論而非意見之前,您需要您在域名上的專業知識。請不要擱置這一點。

+3

他們都可以做this.Different程序員喜歡不同prgramming language.So你爲什麼不選擇一個你最擅長什麼? – McGrady

+0

謝謝@McGrady。 –

+0

把問題擱置之前請考慮。我不打算徵求意見,但是事實,專業知識和參考是偏好一個堆棧而不是另一個。相反,你可以減少褒獎的答案,而不是整個問題。 –

回答

0

我認爲這與其他任何事情一樣是個人偏好。我個人的首選將定義爲NodeJS。原因是:

  • 像Socket.io這樣的框架非常棒,通過npm很容易實現。
  • 節點移動速度很快,但我從來沒有遇到過打擾我的麻煩。
  • 就像你說的在JS中創建API更容易。
  • NPM太棒了! docs超級有幫助。

在一天結束時,這是你的電話。這就是說,我會隨時隨地與nodeJS一起去。

0

我會推薦看看rethinkdb

這對您的情況非常有用。選擇更喜歡哪種語言。我建議選擇Node.js - 您將有更多人爲您的項目做出貢獻。

Rethinkdb resources

相關問題