SharePoint 2013 開發——APP開發的考慮和建議

須要考慮的方面:安全

1. 記得CSOM授予網站集及如下的權限,而場解決方案須要整個場的訪問權限。服務器

2. 因爲應用程序是彼此徹底獨立的存在,他們直接不能進行直接的通訊,這跟在平板電腦和手機上是同樣的。一個實現方式是在APP中留一個外置的部分,好比放到Azure雲中,這個外置的部分能夠暴露一個WEB服務如WCF端點,能夠做爲APP之間通訊的媒介,這和代理的原理相似。架構

3. Silverlight尚未被正式廢棄,仍然在客戶端對象模型中有效。然而,微軟更建議使用JavaScript和HTML5。工具

4. 每一個APP的DNS條目不是必須的,建議爲目標APP域建立一個通配符DNS條目,Visual Studio能夠爲你作這件事。學習

5. APP支持他們本身的身份驗證,意味着他們支持Windows認證或表單認證/基於聲明的認證。網站

6. 有一點必需要注意,不能使用服務器端代碼(包括自定義的服務器端控件)。全部自定義的服務器端代碼必須託管在SharePoint環境的外部。可是服務器端代碼仍然是本地SharePoint開發者的便利工具,這也是我一直強調Server API的不可替代的方面。Web部件、應用程序頁、計時器任務等仍然是有很大價值的東西。APP拓寬了SharePoint業務開發的領域,可是使用起來仍然是有限的,我以爲這也是資料很少的緣由吧。spa

7. 遠程事件接收器與傳統的事件接收器相似,可是代碼運行在外部的服務上。遠程事件接收器對於開發來講有些棘手,但APP是可使用的,由於傳統的不能用在APP上。.net


提供的關鍵建議:代理

1. Colud-hosted和SharePoint-hosted應用程序的決策標準。對象

Cloud-hosted APP SharePoint-hosted APP
最靈活的選擇,支持任意類型的應用程序代碼 基於內嵌的JavaScript代碼需求,適合較小的應用程序
開發者可使用任何開發技術建立本身的基礎架構 基於SharePoint的JavaScript代碼,不存在服務端代碼
可能須要處理多租戶的管理和明確的權限管理 繼承頁面或網站上的多租戶功能和權限

2. APP和場解決方案的決策標準。

首先,微軟是建議開發者默認優先選擇APP的開發方式的,這是由於對於場解決方案來講,APP提供了一些優勢:

(1). 對於最終用戶來講,能夠經過SharePoint應用商店和企業內部的應用程序目錄方便地進行應用的查找、購買和安裝;應用程序一次編寫以後能夠在本地、雲端幾乎任何位置運行。

(2). 對於管理員來講,應用程序相對於沙盒解決方案提供了更安全的擴展SharePoint的方式。

(3). 對於開發者來講,應用程序能夠應用非SharePoint開發技術,這下降了開發者必備技術和學習曲線的門檻;相對於場解決方案,應用程序更靈活和易於擴展,而且應用程序經過OAuth實現了利用安裝者的權限;開發者可使用跨平臺標準,包括HTML、REST、OData、JavaScript和OAuth。

(4). 對於企業來講,SharePoint應用程序比解決方案更加靈活,經過微軟SharePoint商店能夠輕鬆地拓展市場和進行銷售。

儘管有了上述優勢,我仍然會強調解決方案(即Server API)是沒法取代的,因此當咱們須要解決具體問題時,就須要從如下的方面來考慮判斷使用哪一種方式:

(1). 代碼中是否須要包含服務器端對象模型。這個是顯而易見的,Server API永遠是最全面最強大的接口(此處強調一下,強大不少),有些CSOM力所不能及的地方就須要使用解決方案。

(2). 代碼是否須要訪問在運行APP的網站以外的SharePoint對象,若是須要,那麼使用解決方案。

(3). 咱們實現的東西的目的是爲了協助最終用戶仍是管理員,管理員任務是不能經過CSOM實現的,因此這種狀況咱們也要使用解決方案。

(4). 簡單的東西用APP,複雜的東西用解決方案。由於APP個體之間是相互獨立的,若是咱們要實現一個相對大型的有不少內在聯繫的東西,仍是選擇解決方案更合適一些。

可是,場解決方案對於一個服務器上的全部Web應用程序均可用,須要徹底信任而且具備管理員權限,代碼錯誤致使的異常嚴重時會形成整個服務器癱瘓,因此必定要當心。

最後再引用一個表格,在咱們實際進行開發任務的時候能夠參考。


相關文章
相關標籤/搜索