2013-10-30 33 views
7

我有一個關於SPA的一般性問題。也就是說,SPA是否僅適用於Dashboard類應用程序?或者我們可以將SPA用於任何規模的企業級應用程序開發(比如ERP解決方案)嗎?企業級系統的單頁應用程序

SPA

UPDATE:

請查看以下鏈接此話題約翰·爸爸,丹Wahlin和其他偉大的討論....

Single Page Application for Enterprise Level Systems

+0

它主要取決於你使用的工具/框架。如果響應/用戶體驗速度是最重要的,則SPA特別好。如果情況並非如此,那麼SPA可能不會帶來額外的複雜性。 – zmirc

+0

@zmirc是的,我想用AngularJs做那個。你的想法是什麼(我上面也分享了一個鏈接)? – Sampath

+0

@zmirc假設我可以處理這種實現的複雜性。但是我的問題是,是否適合通過使用Javascript框架開發這樣一個大型應用程序? – Sampath

回答

14

AngularJS是我也用過的一個非常熱門的項目,但你回到擁有JavaSc中的所有邏輯如果項目變得龐大(這是企業),這會增加複雜性和痛苦。

經驗法則是:軟件解決方案應該越複雜,企業越應該使用專業工具和靜態語言(Java/C#)。

維護是軟件使用壽命的80%。把它放在JavaScript中可能會非常棘手。在腳本語言中,重構,結構和開發人員獨立性有點困難。

有些使用情況的SPA是一個好辦法:
1.當你想爲所有類型的移動設備的高性能應用程序(如果您不能負擔本地開發,如果你不想支付費用到蘋果,谷歌,微軟當你賣東西)。
2.希望儘可能吸引用戶的新聞網站(www.usatoday.com就是一個很好的例子)。
3.社交網絡你必須盡一切努力讓用戶保持活躍(例如:Facebook主要是SPA)。
SPA的底線=最快的網絡性能&最好的用戶體驗。

+0

一個小問題。你可以粗略推薦SPA適合哪些系統? – Sampath

+0

當你想爲所有類型的移動設備提供高性能應用程序時(如果你負擔不起本地開發,並且你不想向蘋果,谷歌和微軟支付費用時,你賣東西)。希望儘可能吸引用戶的新聞網站(www.usatoday.com就是一個很好的例子)。社交網絡,您必須盡一切努力讓用戶保持活躍(例如:Facebook主要是SPA)。底線=最快的網絡性能和最佳用戶體驗。 – zmirc

+0

偉大Answer.Thanks很多:) – Sampath

6

偉大的問題。我真的在SPA開發了一款企業移動應用程序。我從經驗中學到了很多東西。如果你喜歡,該應用程序有大約40個模塊或應用程序。每個應用程序有約3-6的意見。我很早就意識到,傳統的Web架構不會削減它,記住它是一個移動的第一個項目,所以我開始做一個spa。

有這麼多的東西,還不夠或者在這裏表達,但它並不那麼難。這裏有一些原則,我相信你必須堅持:

避免沉重的框架,他們得到太多,他們來來去去,所以不要嫁給他們 香草JavaScript是你的朋友在很多方面。所有瀏覽器都與支持相同標準,Apis等非常一致。 利用本地存儲緩存數據以及標記 不要一次下載大塊標記 不要創建不必要的聊天應用程序localStorage和indexDB是您的朋友 創建一種機制,在每次加載應用程序時只提供修改後的標記內容 保持您的DOM小,太多元素,甚至隱藏創建一個呆滯的機器餓死內存。 使用appcache離線,但瞭解它的怪癖

我一般大部分的企業應用都可以用100kb以下的JavaScript來完成,那就是整個應用程序。我的DOM通常少於100個元素在視圖中禁止長列表或表格。我的所有應用程序都在不到1秒的時間內加載,並在後臺加載子模塊內容。

+1

+1分享您的真實體驗。 – Sampath

+0

thnx我實際上正在努力完成一本書,說明我這樣做的方式。希望它能在十二月之前上市,時間會證明。 –

0

對於我谷歌達特+聚合物聲稱用於ERP發展。 但谷歌正在用Dart,Flutter,Dartino做所有事情,僅僅是 被遺棄的Polymer.Dart和Teh Dart Editor。

+1

使用谷歌框架是一個糟糕的主意,因爲他們往往會不斷停止他們的工作。 – TedOnTheNet

相關問題