資源描述:
《Youni隋云怡-環(huán)信ONESDK跨平臺開發(fā)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、環(huán)信ONESDK跨平臺開發(fā)Agenda?IMSDK簡介?ONESDK引進?ONESDK架構(gòu)?ONESDK模塊化?ONESDK抽象模型?ONESDK構(gòu)建?ONESDK測試?ONESDK挑戓環(huán)信DEMO當前SDK簡要?環(huán)信IMSDK2.0–Demo2.0+3.0appopensourced–EaseUIlibraryopensourced?https://github.com/easemob/easeui?https://github.com/easemob/easeui_ios?支持的平臺:–Android–IOS–WEB?穩(wěn)定的平臺–23026app,2.51億users
2、當前SDK功能簡介?單聊?群聊?聊天室?實時音視頻Agenda?當前SDK簡要?ONESDK引進?ONESDK架構(gòu)?ONESDK模塊化?ONESDK抽象模型?ONESDK構(gòu)建?ONESDK測試?ONESDK挑戓當前SDK開發(fā)之痛?接口不統(tǒng)一?功能重復開發(fā)?Bug重復修復當前SDK開發(fā)之痛?同樣業(yè)務多人維護?不同SDK開發(fā)的功能上線時間不同?開發(fā)人員溝通不及時當前SDK開發(fā)之痛?不同平臺的逐步引入–Android–IOS–EmbededLinux–PC–IoT當前SDK開發(fā)之痛?沒有統(tǒng)一的代碼庫ONESDK引入?共享IM內(nèi)核?共享IM業(yè)務模型?多平臺快速切入?自動化測試質(zhì)量
3、保證Agenda?當前SDK簡要?ONESDK引進?ONESDK架構(gòu)?ONESDK模塊化?ONESDK抽象模型?ONESDK構(gòu)建?ONESDK測試?ONESDK挑戓SDK整體架構(gòu)總體架構(gòu)?平臺層?適配層?核心層總體架構(gòu)?平臺層?適配層?核心層平臺層?Preference存儲?平臺語言?平臺IPC?平臺進程,線程,調(diào)度適配層?線程?線程鎖?定時器核心層?業(yè)務相關(guān)?協(xié)議層?提供同步API?線程無關(guān)SDK跨平臺語言?C++/C作為我們的跨平臺設計語言–C++可以設計更優(yōu)良的抽象層定義–C語言提供跨平臺基礎支持,例如協(xié)議層內(nèi)存管理?引用計數(shù)的實現(xiàn)–弱引用–強引用Agenda?當前
4、SDK簡要?ONESDK引進?ONESDK架構(gòu)?ONESDK模塊化?ONESDK抽象模型?ONESDK構(gòu)建?ONESDK測試?ONESDK挑戓模塊化之裁剪必要PrivateGroupAudio/chatchatvideo模塊化之Library構(gòu)建Chat.aGroupchat.aAudiovideo.aIMProtocol.aAgenda?當前SDK簡要?ONESDK引進?ONESDK架構(gòu)?ONESDK模塊化?ONESDK抽象模型?ONESDK構(gòu)建?ONESDK挑戓?ONESDK測試平臺差異?線程?線程鎖?定時器平臺差異?數(shù)據(jù)庫?HTTP請求?網(wǎng)絡連接Agenda?當前S
5、DK簡要?ONESDK引進?ONESDK架構(gòu)?ONESDK模塊化?ONESDK抽象模型?ONESDK構(gòu)建?ONESDK測試?ONESDK挑戓多平臺構(gòu)建工具?CMake?GYP(GenerateYourProjects)GYP(GenerateYourProjects)?生成不同的平臺的項目文件–MacOX/IOS->Xcodeproject–Windows->slnproject–Linux->Makefile?支持crosscompileGYPbuildfileGYPgenerate?生成不同的平臺的項目文件–gyp--depth=.easemob.gyp--gener
6、ator-output=./buildAgenda?當前SDK簡要?ONESDK引進?ONESDK架構(gòu)?ONESDK模塊化?ONESDK抽象模型?ONESDK構(gòu)建?ONESDK測試?ONESDK挑戓SDK測試之道?自動化測試–跨平臺質(zhì)量保證的重中之重–構(gòu)建自動化測試資源?UI手動測試–全平臺覆蓋測試必要保證Agenda?當前SDK簡要?ONESDK引進?ONESDK架構(gòu)?ONESDK模塊化?ONESDK抽象模型?ONESDK構(gòu)建?ONESDK測試?ONESDK挑戓平臺差異化?接口不統(tǒng)一?庫缺失戒不可被引用?語言特性–C++11代碼大小?SDK最終大小直接影響開發(fā)者的選擇–
7、Template–3rdPartyLibrary已完成的平臺實現(xiàn)?Android?IOS?Linux?MacOS