轉(zhuǎn)眼2018了!早上看到有關(guān)于2017年Q3季度關(guān)于互聯(lián)網(wǎng)行業(yè)的數(shù)據(jù)(我只截了一張圖)。說實話略荡,作為一個iOS開發(fā)者看到這樣的一個數(shù)據(jù),沮喪薯演,有一些撞芍,但更多的是想要做好自己吧。2018把眼界放寬跨扮,在iOS領(lǐng)域突破的同時,也在其它專業(yè)領(lǐng)域突破自己验毡。從事互聯(lián)網(wǎng)行業(yè)衡创,我們要做的不是一成不變,而是以最快的速度跟上這個行業(yè)的進步晶通。
手頭上做的一個項目璃氢,由于公司項目調(diào)整,時間不那么趕了狮辽,就打算整理一下2017年的工作收獲和不足一也。
2017年,是收獲的一年喉脖。一直從事純軟件開發(fā)的我椰苟,進軍到物聯(lián)網(wǎng)行業(yè),和前輩們學(xué)習(xí)到了很多树叽。技術(shù)領(lǐng)域的專注切換到了更多層面舆蝴。處理問題的方式也變得多樣性。比如,會更多的思考洁仗。以前层皱,看到不合理的需求,整個人就很拒絕赠潦,現(xiàn)在會好好想產(chǎn)品的出發(fā)點叫胖,會和產(chǎn)品討論交流。切入正題她奥,先說說17年的收獲瓮增。
1. 智能門鈴交互系統(tǒng)
門鈴(對,就是你家門口的那個門鈴) + Server + iOS/Android App實現(xiàn)語音通話的功能方淤。相對于傳統(tǒng)的用戶按門鈴來說钉赁,這里給用戶提供了通過app響應(yīng)訪客的按鈴操作。之前也做過一個視頻通話的項目接下來會講携茂。但核心功能用的是第三方的SDK你踩。這個系統(tǒng)只用到了通話功能,所以我們選擇了自己開發(fā)讳苦。數(shù)據(jù)傳輸是通過tcp長連接的方式带膜。Server進行數(shù)據(jù)的轉(zhuǎn)發(fā)。這個項目的每一個細節(jié)我認為都可以拉出來單獨討論鸳谜。如: tcp粘包丟包下的數(shù)據(jù)解析膝藕,回聲消除,緩存設(shè)計咐扭,AudioQueue錄音播放功能的底層實現(xiàn)原理芭挽,...等等。除此之外蝗肪,我們的視覺設(shè)計師很棒袜爪,里面有很多不錯的視覺體驗也是要花一些時間的(奸笑)。在音視頻開發(fā)中薛闪,想要成為一個可以說話的人辛馆,當(dāng)然還相差甚遠。路漫漫其修遠兮豁延,吾將上下而求索昙篙。
2. 云對講
和門鈴的功能差不多,但更高級一點诱咏。視頻對講苔可,畢竟用的是專業(yè)的SDK。是由門口機(就是小區(qū)門口的對講機子) + JusTalk Server + Server + iOS/Android App實現(xiàn)視頻通話的功能胰苏。這個相對上面的系統(tǒng)來說就省去了很多活硕蛹,核心功是由JusTalk提供的SDK醇疼。我們只負責(zé)接入SDK,以及接收各個通知消息并做相應(yīng)的處理就行法焰。這套系統(tǒng)中我們接入了iOS8推出的voip推送秧荆,以及iOS10推出的callkit。CallKit在很大程度上提高了用戶體驗埃仪,我們用的QQ和微信都使用了CallKit乙濒。當(dāng)然其中也有一些坑,我也被坑的很厲害卵蛉。我就不造輪子了颁股,這里有一些輪子個人感覺很扎實。
蘋果官網(wǎng)的也有Demo傻丝,傳輸門:SpeakerBox 甘有。
3. SmartConfig WiFi配置
原理網(wǎng)上也有很多,大概就是手機通過UDP廣播葡缰,把AP(Wireless Access Point 也叫無線訪問接入點)的相關(guān)信息組幀發(fā)出亏掀。而WiFi模塊一直處于UDP監(jiān)聽狀態(tài),獲取到AP信息后(如WiFi的用戶名和密碼)泛释,WiFi模塊便可以接入AP滤愕。開發(fā)必須要有支持SmartConfig的硬件。如圖示怜校。
不同供應(yīng)商的SDK可能略有區(qū)別间影,但是原理都是一樣的。下面兩個傳輸門僅供參考茄茁,具體還要根據(jù)供應(yīng)商而定魂贬。
4. 定格動畫
上半年我夜夜兼程??的幫朋友的朋友做了一個單機項目。雖然是單機的項目裙顽,其復(fù)雜難度一點都不亞于同Server交互随橘。數(shù)據(jù)的操作都在本地。那么對于數(shù)據(jù)庫的要求就比較嚴格锦庸。除了一般的增刪改查以外,還加入了事務(wù)的操作確保數(shù)據(jù)的正確性蒲祈。這里也借助了第三方框架FMDB甘萧,如果用SQLite我應(yīng)該會吐。FMDB就已經(jīng)足夠讓我小心翼翼了梆掸。
所謂定格動畫扬卷,是可以把多張圖片合成視頻。同時酸钦,也可以把視頻分解成圖片怪得。這兩大塊的資料確實少之又少,在我的發(fā)際線越來越高的付出下,小有成果徒恋。
5. 其它
對于Swift的學(xué)習(xí)蚕断,一直是現(xiàn)在進行時...還沒有花時間去做一個Demo整合一下學(xué)習(xí)的東西。就很容易顧此失彼的學(xué)了后面忘了前面入挣。Stack Overflow上的分析數(shù)據(jù)顯示亿乳,Swift和Angular是增長最為明顯的技術(shù)。大前端才是未來的發(fā)展趨勢径筏。
以上葛假。2017年學(xué)習(xí)到了很多,不止是技術(shù)上的滋恬,當(dāng)然聊训,還需要學(xué)習(xí)的更多。去年的目標尚未達成恢氯,寫博客的時候總覺得自己要寫的東西带斑,前人都造好了輪子,自己沒有什么特別的見解酿雪,就不想寫遏暴。希望在2018年自己能夠突破自我,寫20篇技術(shù)類博客(不限于iOS)指黎。