這兩天要把公司以前的觸屏設(shè)備的客戶端應(yīng)用做成h5的web應(yīng)用,而且有針對不同設(shè)備和同一設(shè)備下的不同狀態(tài)(有windows豎屏和橫屏和android的平板),而且都有設(shè)計師為其針對的不同設(shè)計標(biāo)準(zhǔn)包括字體大小和不同ui組件的大小,雖然當(dāng)時經(jīng)過討論,公司老員工建議就按照這個標(biāo)準(zhǔn)去做,不用考慮自適應(yīng),因為設(shè)備就這幾種,但是我是一直不甘心,總想把它做成能適配不同設(shè)備分辨率的東西,所以來研究這個問題。
因為在之前的公司做過的項目中的某些模塊參照過別的產(chǎn)品,發(fā)現(xiàn)過有用rem和em的,然后就來網(wǎng)上研究學(xué)習(xí)了解了下這幾種相對單位。其中就找到了這篇文章:http://isux.tencent.com/web-app-rem.html,發(fā)現(xiàn)這篇文章對除了rem來設(shè)計界面的其他方法做了介紹和總結(jié)。文章總結(jié)了rem相對于其他幾種設(shè)計方法的好處,其他幾種方法的壞處,具體那些壞處請自行去好好看下這篇文章。
之所以之前沒有去研究學(xué)習(xí)rem,包括之前沒有去研究接受其他的新技術(shù),比如es6,前端mvvm框架、模塊化開發(fā)、項目自動構(gòu)建,編譯,打包工具等等。是因為在之前的所在公司,公司任務(wù)比較充實,每天都有任務(wù)要做,那時用的基本都是老技術(shù),單純的用html,css,jq,js,easyui開發(fā),雖然有點厭倦,寫的代碼比較low,但還好業(yè)務(wù)邏輯這方面比較有趣,加上我本身工作責(zé)任心強,所以那時每天還算過得充實。充實的結(jié)果導(dǎo)致我每天都在做任務(wù),幾乎每天晚上7,8點下班回家,然后吃飯,再洗涑,再搞會其他的,基本上就9點過,10點了,這樣下來一天也比較疲倦,就經(jīng)常導(dǎo)致我無心再學(xué)習(xí)其他新技術(shù),只想休息放松下,那時我周6加班還是比較頻繁,然后就基本只有周日了,但是周6由于想睡懶覺和要洗衣服,打游戲,所以學(xué)習(xí)時間也變得比較少了,總得意思就是學(xué)習(xí)時間變少了(但是我不是完全不學(xué)習(xí),但那時主要學(xué)習(xí)js和css去了,js方面主要是es5,那本javascript高級程序設(shè)計我看了好多遍,每次都有新收獲,逐漸發(fā)現(xiàn)js的設(shè)計如此之美),當(dāng)然這其中很大原因還是我懶,其實我還是寫了好些博客草稿,只不過都因為這個懶的原因沒有去整理發(fā)布。。。。。
但是那段時間還是過得很有價值的,鍛煉了我的編程邏輯思維(我是后臺出身,所以還是有點編程思維,面向?qū)ο蟮母拍?,學(xué)習(xí)js也不是那么吃力。在學(xué)校學(xué)習(xí)了一年C#.NET,然后當(dāng)初應(yīng)聘的第一份工作是.net,但是公司框架已成熟,對前端需求大,我就去做了前端,然后愛上了前端,但是公司的幾個簡單常用的小接口還是我寫的,雖然借鑒了些百度,但是還是有自己的東西,比如自己在只上傳文件的接口中擴展了對圖片base64的解析保存,當(dāng)時絕對不是抄的別個的。到了現(xiàn)在的公司,由于公司需要,我也會偶爾負責(zé)后端開發(fā),比如公司現(xiàn)在的一個小型cms,我獨立開發(fā),完全獨立開發(fā),從數(shù)據(jù)庫到c#.net的數(shù)據(jù)層,中間層,業(yè)務(wù)層等等(后臺用三層架構(gòu),沒用mvc),通用的數(shù)據(jù)接口和比較常用的接口都是自己寫的,沒有用第三方框架。當(dāng)然我的C#.NET還是只是皮毛,數(shù)據(jù)庫設(shè)計也是會相對比較簡單的的東西,表創(chuàng)建和視圖自己寫,存儲過程用的別個現(xiàn)成的稍微改了一點點,當(dāng)然我主要喜歡前端,以后也會一直向前端發(fā)展,后臺我只需要懂點皮毛就可以了,有后臺那個概念就OK,主要就是了解B&S的前后端的交互,即瀏覽器http和服務(wù)器的交互,以及前后端的生命周期。)。因為業(yè)務(wù)邏輯復(fù)雜好玩,任務(wù)多,當(dāng)業(yè)務(wù)邏輯多到我覺得我的代碼是垃圾,不堪入目,當(dāng)時一直沒有好的方法去解決這些痛點?,F(xiàn)在深深的體會到解決這些痛點的這些新技術(shù)帶來的快感,爽,并且這些技術(shù)會規(guī)范你的項目開發(fā)邏輯,深深的體會到mvvm設(shè)計模式很適合web前端(這里我很推崇vue,相對其他框架來說,它做模塊化開發(fā),開發(fā)大型應(yīng)用會比較簡單,環(huán)境搭建也很簡單,有官方的腳手架工具vue-cli,接下來等這個項目做完了,更深入的去研究學(xué)習(xí)vue后,我來給大家分享vue的從0到有,到它的模塊化開發(fā)是怎樣的)。
到了現(xiàn)在的一家公司,由于公司的任務(wù)不是那么多,時間也比較足,所以我在空閑時間會去研究怎么讓我的代碼更簡潔、更具可讀性,更抽象、更高效的去實現(xiàn)功能業(yè)務(wù)需求,讓項目模塊具有可擴展,可復(fù)用,易于變更,高內(nèi)聚低耦合等等。然后就是嘿嘿嘿~,不斷的一層一層的深入了解,發(fā)現(xiàn)驚