2013-07-05 78 views
19

我們目前正在評估在企業應用程序(電子銀行)作爲單頁應用程序使用AngularJS的。 許多開發人員的工作已經確信沒有其他的路要走。這是大勢所趨,是未來的證明(HTML,CSS和JS)這是很容易做到,服務器等等等等 就少負擔,儘管該框架的有趣的部分,我不相信有因素必須是在走這條路之前考慮。這些可以是:代碼AngularJS和企業應用

  • 的代碼的可維護性
  • 可測性,不僅UI部分
  • 持續集成(如TeamCity的或TFS)
  • 開發者友好像調試,代碼中導航
  • 安全(如果有風險)

有沒有人在企業應用程序的任何經驗建立這樣的?我寧願去與Asp.Net MVC4。請不要假設的答案,我不想開始戰爭。真正的生活體驗真的很感激。

問候

回答

6

我結合角到我們的企業應用程序時已經想到這個問題。首先是一些可選的背景信息。我真的需要將所有的頁面狀態保留在客戶端,因爲在服務器端重新創建它是一項非常耗費資源的任務。我剛開始只用JQuery來構建它,因爲我只需要幾件事情,但很快我發現自己無法跟蹤上週我寫的回調。因此,我想重構。在我看來,Angular看起來最適合我的編程風格。

解決您的疑慮:

我覺得這是更易於維護,因爲它鼓勵你的東西分開。然而,這完全取決於你的團隊和你的紀律,以保持可維護性。

的角度肯定團隊想過,當他們使它測試。事情很容易測試,從單元測試到e2e測試。其他人甚至在兩者之間找到了一箇中間立場。

我們使用詹金斯在我們微軟的商店持續集成,因爲這是我們更容易在我們自己的程序插件,使之與我們的環境複雜的設置工作。但是,我認爲這與您決定使用哪個框架無關。

從Visual Studio來,我發現JavaScript的一般葉片不理想的東西。我喜歡編輯並繼續,展開堆疊,並拖動黃色箭頭。那東西只是純粹的魔法幸福。在瀏覽器上進行調試並不能爲您提供所有這些。

安全性不錯。仔細查看文檔,您可以看到團隊關注安全問題,如XSS和CSRF攻擊。但是,通過瀏覽器完成的任何事情都很難保證。每隔一天都會發現新的攻擊和錯誤。如果你真的擔心安全問題,你就不會有在線應用。您將確保您的客戶只使用多種形式的ID在分支中存入。據說,我不認爲Angular比任何其他JavaScript解決方案都不安全。

我想提出所有這些JavaScript框架/庫的另一個問題。他們都是相當新的,並不斷髮展。看看JQuery最近棄用了多少個函數,並且您會了解到如何保持在庫的頂部。其中許多也被遺忘並腐爛。谷歌的產品之一Angular也讓我有點害怕,因爲他們已經取消了他們的項目浪潮。希望Angular不會成爲其中之一。

該文檔也缺乏。雖然社區很好,但文檔不是。許多頁面都完成了一半。同樣,與微軟的最新內容相比,文檔相當稀少。

這是新事物之一,很難聘請某人來幫助/接管這些東西。

儘管有這些缺點,但我真的很喜歡它,而且我一定會推動我的公司採用它。

+0

非常感謝您的回答。最終有人只能希望有些東西會佔上風。當有人意識到現在有多少框架時,這很可怕,並且在兩年內,其中一半已經消失。尤其是當項目規模巨大,需要1 - 2年的時間才能完成。是否真的有很多好處,而不是使用Asp.Net MVC4呢?如果優勢消除了對另一臺服務器或更大的服務器的需求,但是您需要花費兩倍的時間來開發,測試(開發人員成本)? – Mantzas

+0

asp.net mvc4也鼓勵「分裂」,並且讓你的腳更難拍攝。一般來說,角度和spa大於高服務器處理成本?即使有角度,你也必須有超過1臺服務器才能實現故障切換。爲什麼不是1或2個服務器更多,並與mvc4,使其版本4和5即將到來?如果我需要更多時間來開發,那也需要花費! – Mantzas

+1

@Mantzas我也很喜歡MVC。我想使用客戶端庫的最大原因是,我的很多用戶交互不需要返回到服務器,驗證用戶輸入需要很長時間才能使用我的應用程序。 –

0

是的,我已經用MongoDB的.PLS一起使用角與Asp.net的WebAPI找到我的發現

1)可測性是絕對fantatic。你可以利用因果報應和茉莉

方便地測試你的單元測試

2)CI。詹金斯的集成可與噶

3)易於調試類似於JavaScript調試可以使用Chrome擴展Bartrang調試角應用程序中輕鬆

+1

可維護性,安全性?這必須是一個非常安全的網站! – Mantzas

+0

@Ajay Im AngularJS是新的,想用ASP.NET WEB API實現它,你推薦我的任何教程?非常感謝 – VAAA

+0

可維護性如何?瀏覽代碼(例如Java/Eclipse中的「查找引用」或「轉到聲明」類型函數)? UI設計如何?如果這是一個內部銀行應用程序(不是面向客戶),UI可能會變得非常複雜,然後您需要某種方式來快速預覽/查看您要放置的組件的佈局。例如,如果您更改標籤或調整組件大小,您可以多快確認該更改是否可以接受(某些情況下,不只是猜測)? – User