首先是一個mac端的聊天客戶端,由于公司覺得c++做桌面軟件真的很慢,于是便將目光投向了我們前端團隊,當然我們老大接了。原因就是electron這個神器的存在。我們開始項目時手機端和win端已經(jīng)做的差不多了,而我們卻是從0開始,當然最終我們趕上了他們的進度。再次不得不驚嘆前端的潛力時巨大的。整個項目整體架構(gòu)分為三層,后臺 、sdk、 ui層。當然我們是負責ui層,當時用的框架是angular(插一句但是已經(jīng)有人給我安利vue,但是感覺國人的玩意不太可靠也沒去研究)。sdk是由c++提供,然后github上找了一個包nan 將c++編譯為.node文件,這樣我們就可以引入這個文件來使用。在這其中遇到最大的坑就是客戶端經(jīng)常跑死,經(jīng)過無數(shù)次的踩坑最重總結(jié)出經(jīng)驗,全是c++造成的。只要他們某個地方報錯,客戶端就會卡死。最重項目也按時交付了,而且得到了公司的好評(雖然現(xiàn)在回看那時的代碼寫的跟屎一樣)

   第二個項目是一個手機端的,嵌入原生app,這應該是我入行以來學到最多東西的一個項目,不得不說手機端的坑著實多啊。做這個項目的時候我已經(jīng)注意到了vue,某個周六看了一天就被vue吸引了,感覺就是angular跟react的合體,簡單實用而且體積小。于是回來在團隊中各種安利vue,最重說服大家前端框架采用vue。這期間踩了好多手機端的坑,什么touch事件啊,點擊穿透事件等等。加油總結(jié)了一下手機端調(diào)試的方法。為了前后端分離這個項目還引入了nodejs,node做的事不多,但正是用了node才讓我了解了更多關(guān)于后臺的事情,日志,linux,nginx等等。

   第三個項目是一個webIm,縱然很不情愿再用angular,但最重還是因為大家都對angular比較熟悉而選擇了它,開始我們討論需要兼容ie幾,得到的答案是ie8,于是乎我們做了各種努力試圖說服產(chǎn)品跟老大放棄ie8,但我們的努力是徒勞的。不過后來后臺參與進來后,告訴我們這次mqtt數(shù)據(jù)格式都是protobuf,查閱caniuse protobuf兼容到ie10,多么歡欣鼓舞的消息啊,于是呼連ie9我們都不得不放棄了。這個項目中聊天我們采用的是websocket實現(xiàn)聊天的數(shù)據(jù)通信,但是不得不吐槽的是掃碼登錄部分竟然用的短連接,而且為了保護后臺,沒次受到相應后演示兩秒再去發(fā)下一次請求,這樣頁面的相應時間上就有一個最多3秒的延時,找了后臺幾次但是都無力讓他們修改。

   還有一些零碎的小需求小項目就不列舉了,工作中遇到的坑,也作為筆記的一種形式都記錄在了博客園中,最近老大安排我寫一個自己的手機端腳手架,在寫這個腳手架的過程中又好好學習了webpack,發(fā)現(xiàn)有太多有用的東西在vue那個項目中沒用到,之前好多東西是webpack結(jié)合gulp完成的,重新寫完腳手架后gulp我已經(jīng)拋棄了。

   除了工作,平時自己也看了一些最新技術(shù),自己也寫了好多簡單的demo,包括ionc mogodb 微信小程序等。但是不得不感嘆前端變化實在太快了,express還沒玩明白k

網(wǎng)友評論