探討Discuz論壇獨立App產品方案

前幾年業餘時間基於Discuz構建了兩個垂直電商領域的小社區,另外還開發了很多不錯的購物小工具,很吸引用戶,所以活躍度很高,積累了幾十萬的用戶了,甚至在高峰時期日活也能達到幾十萬PV,但是最近一年沒有怎麼打理了,再加上移動互聯網越來越的佔有用戶的時間,所以活躍度也在開始下滑。最近有一些空閑時間了,也想再收拾收拾這兩個項目,所以準備開發一個手機App,畢竟電商用戶的價值比一般產品的用戶價值要大很多。

於是看了一圈基於Discuz社區的移動產品,其中「鎚子科技論壇」的體驗是我最喜歡的一種,但是在網路上沒有找到相關的文獻,所以前幾天在微信公眾號推送了一條求助信息,想向大家請教一下有沒有比較好的產品方案。內容如下:

鎚子科技論壇是基於Discuz搭建的,配套的論壇App也很好用,不知道這個App是自己開發的,還是說有開源的解決方案?我也有一個基於Discuz的產品,想弄個App,同時再在社區App的基礎上開發其他功能,誰有方案推薦呢?

我本意是想找找有沒有現成的API方案,畢竟我規劃的App中除了社區之外,我想主推的功能與服務不是社區,Discuz只是其中一個單獨的模塊。我設想的把社區的原有體系平穩的遷移到App就可以,然後慢慢的培養用戶使用我基於App場景開發出來的全新功能,慢慢過度到一個全新的使用場景中。

我非常喜歡開源程序,幾乎市面上所有開源程序我都用過,所以我對開源程序的那套機制很熟悉,Discuz我也使用十年了,被騰訊收購後,慢慢也不更新了,現在團隊也解散了,所以近幾年移動互聯網起來之後,在這方面就沒有人發力了,所以基於Discuz的移動App端解決方案很少。大家的反饋都比較偏向於一鍵生成Discuz App,但是實際上我想要的是一個偏向於技術層面的API方案,因為除了社區,我的App本身還有其他功能,採用一鍵生成雖然很簡單,但是我就失去了App的自主開發許可權。

Discuz的API難點主要是帖子和回複信息的展示,因為帖子在Discuz中是以UBB格式存儲的,但是原生App是沒有那麼多富媒體展示形式的,所以後來我又和團隊技術探討了一下,大致要求就是能夠做到「鎚子科技論壇」的體驗就可以,最終研究了一個試驗性的方案。

先對Discuz帖子內容做一個轉化,把UBB轉換成html格式,在轉換過程中抽取附件數據(主要是圖片和視頻)並使用指定標記替換。處理完畢的數據(JSON)格式大體如下:

{ "topic_name": "帖子標題", "page_total": "分頁總數", "page": 1, "floors": { "1": { "body": "<p>傑出PM是一個面向產品經理人群的社群平台。我們致力於打造國內領先的產品經理智慧共享、資源整合、信息交流的專業社群組織,專門為互聯網產品領域的從業者及熱愛產品的人士提供「互助、交流、合作共贏」的線上線下互動平台。</p><!--IMG#0--><p>傑出PM產品線:</p><!--IMG#1-->", "imgs": [ { "ref": "<!--IMG#0-->", "pixel": "550*767", "alt": "", "src": "http://image.jiechupm.com/km/down/57.jpg" }, { "ref": "<!--IMG#1-->", "pixel": "356*201", "alt": "", "src": "http://image.jiechupm.com/km/down/56.jpg" } ], "user": "用戶信息", "floor": "樓層信息" } }}

客戶端獲取數據後,使用客戶端內置的html模版對獲取的數據進行拼接,之後使用webView進行展示,這樣既兼顧了社區富媒體的展示需求,又可藉助JS與OC/Swift/Java的橋接,實現原生的交互體驗(圖片瀏覽,非同步數據獲取等)。

基於這個方案,我研究和收集的技術材料如下:

(1)如何在webView中實現原生的圖片點擊瀏覽:數據拼接時,使用JS在html的圖片上添加點擊事件,回調到OC/Swift/Java,之後進行展示處理。

(2)如何優雅的翻頁:為頁碼添加點擊事件,回調後使用原生代碼處理:載入分頁數據,之後數據再次拼接後刷新(亦可做刷新動畫特效)

(3)JSBridge收集如下:

OCGitHub - jianpx/JPXUIWebViewJSBridge: simplify invocation between Objective C and Javascript Code.

Javalzyzsd/JsBridge

SwiftGitHub - alexkunitsa/SwiftJSBridge: Call JS from Swift and vice versa using WKWebView

以上方案就是我目前確定的一個試驗性方案,如果大家有更好的方案,不防也可以在微信中給我留言,我們一起再探討。

這套方案就是我在《傑出產品經理書》和《傑出產品經理課》中提到的產品形態層面的知識,它是一個B/S和C/S結合的產品形態,像「網易新聞」、「微信公眾號」都是兩種形態的相互融合。

因為一位朋友在微信後台給我留言說找到方案了記得分享一下,所以我就分享出來了。當然,產品經理不一定非要懂這些技術知識,懂得技術實現原理就可以了,至少在和技術溝通方案時,不至於一無所知。

原文:探討Discuz論壇獨立App產品方案


推薦閱讀:

從產品到服務

TAG:产品经理 | Discuz! | 产品方案 | 产品策略 |