.NET(c#) 移動APP開發平臺 - Smobiler(2) - 平臺介紹
看到大家很多人在後臺問我一些問題,所以準備寫一個系列了,下面給個目錄
目錄:
.NET(c#) 移動APP開發平臺 - Smobiler(1) 環境的搭建及上手第一個應用
類似開發WinForm的方式,使用C#開發Android和IOS的移動應用?聽起來感覺不可思議,但是實際上確實很強大,那麽Smobiler平臺到底是如何實現的呢,這裏給大家介紹一下。
客戶端
Smobiler分為兩種客戶端,一種是開發版,一種是打包版
開發版:顧名思義,就是用來做開發時候的版本,在上面一章節中,大家其實都用過了,就是掃描服務端的二維碼,添加服務端後,就可以進行開發調試了。這個客戶端是官方的應用,可以在如下地址下載:https://www.smobiler.com/download.html
IOS對應蘋果客戶端,Android對應安卓客戶端,內測版本是代表還沒有正式發布的版本,比如上面,正式版本是4.5,內測版本是4.6,內測版本官方說是每周更新,和內部開發保持一致。所以如果有一些Bug類的,內測版本很快能解決,不用等正式版了。下面是開發版的樣子。
打包版:打包版的意思就是把生成自己獨立可安裝的APP,可以自定義應用名稱,應用圖標,企業用戶還可以自定義啟動頁面,關於頁等等。可以分別打包Android和IOS的,不過IOS的是要去買蘋果的開發者賬號的,這個具體有文檔,去看官方的文檔吧。 https://www.smobiler.com/yunapp.aspx#應用打包
另外對於客戶端的可擴展性,Smobiler推出了插件開發,就是可以開發原生的Android或者IOS的功能,然後集成到Smobiler的客戶端裏,這個方便了一些需要個性化實現的功能。還是很方便的,可以看文檔 https://www.smobiler.com/guide/plugin.aspx
服務端
Smobiler的服務端其實就是一個完整的.Net Framework,所以你需要實現Socket、WebService、WCF,以及調用數據庫接口,甚至COM接口都是可以的,只要是.Net Framework支持的,Smobiler都支持。另外如果你需要修改界面和代碼,不需要修改客戶端,只需要在服務端上修改,重新布置就可以了。另外如果你關掉客戶端,再重新打開,那麽你還會回到上次你操作的地方,而且數據也不會丟失,你可能會說,這就是一個Web吧,其實不是,因為客戶端是原生的,另外如果是Web,都是無狀態的,但是Smobiler的界面是有狀態的。所以它不是一個Web。那麽它是什麽呢?
你可以這麽理解,一個原生展現的客戶端 + 類似於WebForm+WinForm結合體的服務端。這樣來理解就簡單多了。客戶端只是一個展現層,把客戶端上輸入或者操作通過socket與發送給服務端做處理,服務端把界面和業務邏輯通過socket發送給客戶端顯示。所以服務端緩存和客戶端的數據和狀態,這也解釋了為什麽關閉客戶端,還能回到上一次操作的地方。因為你的數據在服務端。另外也解釋了為什麽修改業務和界面,只需要修改服務端即可。
這種方式可能有人說好,有人說不好,不過考慮開發速度,開發成本,開發門檻(比如一個只會c#的簡單開發的人,可以很快開發出一個應用出來,不用去學習Android或者IOS的復雜的知道,甚至也不用學習webapi這種接口,這就產生了價值)。所以Smobiler也提供了一些開源的產品,比如SmoONE是面向OA的,SmoSEC是面向設備管理的,SmoWMS是面向倉庫管理的,這些開源的項目可以拿來修修改改就可以上手了,進一步降低了門檻。
.NET(c#) 移動APP開發平臺 - Smobiler(2) - 平臺介紹