一、我是做什麼的?
我是一名工作在一線的前端開發攻城獅,中間也做了一年左右的服務端,總共加起來差不多有三年多了。作為一名技術人員,雖然工作中用到的技術是有限的,並且工作中也不會那麼貿然一味地追求新技術,尤其是對於時間比較久的公司,但是我還是經常關注各種新奇的技術框架與技術亮點。
在感嘆技術框架越來越多、技術革新越來越快的同時,我其實也為我們前端開發感到愜意,現在的前端已經和以前的前端大不同了,前端技術能做的事兒也越來越多了,前端開發者的出路也越來越廣了。
二、初識快應用:真的這麼好?
說起來,最開始認識快應用反倒並不是我自己瀏覽部落格、論壇、產品認識的,而是公司要推快應用版的產品。
大概理由是一方面國內安卓使用者群體大,直接基於十大廠商手機,流量大;另一方面,體驗遠遠好於H5版和原生版,底層能力也強,開發成本也不大,最關鍵的是,當時快應用市場的應用數量並不多,我們剛好可以趁此機會去推一推我們的產品。
於是我就抱著“真的這麼厲害嗎?”的心情去開始瞭解快應用。
三、Hello World
前面的那麼好其實說到底還是我們的產品和市場同事們的看法,我當時就立馬開始學習快應用,去檢視了官方文件,並自己做了第一個快應用Demo。首先第一感覺:
好的方面
- MVVM的模式非常順手,對於熟悉Vue.js開發的童鞋來說,學習成本比較小,就是標籤稍有些差異。
- 支援async/await寫法,會很大程度地解決回撥地獄問題,這個對於經常寫ES6、ES7的童鞋來說,又是一大便利,不用糾結於繁雜的客戶端業務中了。
- 相容性問題:在後續的開發過程中,雖然也會偶爾出現一個僅在某個廠商機型中出現的問題,但是相比較H5開發而言,相容性問題已經少之又少了。
- 豐富的API:雖然不一定全部用得到,但是當我看到官方文件中豐富的API時,還是不禁感嘆快應用的底層能力這塊兒確實比其他同型別的產品強的多,並且是直接基於安卓手機廠商的,不需要擔心某一天某些許可權就被禁用的情況。
- 支援Less,前端開發可能都有體會,寫過Less或者Sass之後,就不想寫普通的CSS了,因為前者能力更強,程式碼可讀性也更強,比較規範和系統化,所以快應用支援Less這個著實也蠻方便的。
不好的方面
其實也不能算是不好的方面,可能有的是我自己開發不習慣而已:
- flex佈局:我之前做過半年的Andriod開發,前端的flex佈局就和Andriod佈局比較像,實際上是非常非常便利的,但是完全使用flex佈局還是稍有些不適應。
- 不能實時預覽,雖說watch模式可以實時監聽修改並重啟應用(後來版本新增了‘僅重新整理’的功能),但是還是諸多不便。
- 不支援斷點除錯:在1020版本後開始支援斷點除錯,但是除錯是在編譯後的JS中除錯,經常會出現卡死的情況,總是輸出log來除錯也挺不方便的。
四、總結
總的來說,對快應用的第一印象還是非常好的,就像我開篇說的,對於一名前端開發人員來說,前端技術能做的東西越來越多了,前端開發者能做的事兒也越來越多了,這是十分值得慶幸的。
筆者在寫這篇文章的時候,公司的快應用產品已經上線了2款了,我會在後面篇幅中跟大家分享我實際產品開發中遇到的難題以及解決辦法。如有錯誤請大家不吝指正~