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