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業務開發的領域,但是使用起來仍然是有限的,我覺得這也是資料不多的原因吧。
7. 遠端事件接收器與傳統的事件接收器類似,但是程式碼執行在外部的服務上。遠端事件接收器對於開發來說有些棘手,但APP是可以使用的,因為傳統的不能用在APP上。
提供的關鍵建議:
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應用程式都可用,需要完全信任並且具有管理員許可權,程式碼錯誤導致的異常嚴重時會造成整個伺服器癱瘓,所以一定要小心。
最後再引用一個表格,在我們實際進行開發任務的時候可以參考。
相關文章
- iOS APP開發公司需要考慮的因素有哪些? 北京銳智互動iOSAPP
- golang開發:go併發的建議Golang
- 微軟正式“封殺” UWP:建議開發者轉向 Windows APP SDK 作為 APP 開發的未來微軟WindowsAPP
- 給PHP開發者的建議PHP
- Sharepoint 開啟發布功能的PowerShell
- 從ui圖到開發頁面該有的考慮UI
- Android開發一點小技巧和建議獻上Android
- 開發APP和開發微信小程式的區別?APP微信小程式
- 程式設計師需要重新考慮無程式碼開發的原因。程式設計師
- 開發邊緣計算儲存策略的關鍵考慮因素
- 即拼商城APP開發(開發APP)APP
- 什麼時候考慮使用無程式碼開發平臺
- mpvue開發音訊類小程式踩坑和建議Vue音訊
- 嵌入式開發微處理器選型需要考慮的因素
- 成為最差開發者的10條建議
- sharepoint 2013 網站集解鎖網站
- NFT鑄造智慧合約平臺開發方案部署原始碼建議參考原始碼
- 無程式碼開發如何實現?什麼時候考慮使用無程式碼開發平臺
- [需求建議]前臺個人中心外掛開發需求建議。
- Flutter小知識--外掛開發建議Flutter
- 日常開發中,提升技術的13個建議
- 多端開發之uniapp開發appAPP
- go語言開發入門:GO 開發者對 GO 初學者的建議Go
- 開發網校系統原始碼前,需要考慮哪些關鍵點?原始碼
- 學會了slidev.js的開發者, 也許可以考慮不用ppt了?IDEdevJS
- 新手錦囊:Web前端開發小白的學習建議和路線圖Web前端
- FFmpeg開發筆記(四十六)利用SRT協議構建手機APP的直播Demo筆記協議APP
- 我考慮的是來看考慮考慮勞福德
- 區塊鏈--公司開發私有鏈搭建建議基於什麼開源框架開發區塊鏈框架
- 聚焦 App Store 上的小型企業和 App 開發者APP
- 教育app開發需要開發哪些功能APP
- 佛家app開發APP
- [20210113]給PB開發人員的一個建議.txt
- 不建議企業自行開發CRM的幾個理由
- 前後端高效協作開發的11條建議後端
- 一個PHP開發者總結的九條建議PHP
- 直播app開發公司中直播程式的開發流程APP
- 教育APP開發_教育培訓APP開發解決方案APP
- 選購MacBook Pro 需要考慮什麼?購買MacBook Pro建議Mac