上周看到一個簡報,說google的項目flutter進入Beta階段。從簡報上大體了解了下,是用來開發(fā)跨平臺應用的。之前從PhoneGap到后來的ReactNative,覺得跨平臺應用有兩點是致命傷。
- 權限。要么就是太低,無法調用豐富的平臺API。要么就是接入了大量的API,不管用不用都封裝進包里。
- 性能低下。
現在有些不關注這個領域了,以前Web要一統(tǒng)天下的氣勢似乎到現在也有些衰弱了。
隨手去它的github上看了看。僅僅是看到engine項目下有個vulkan目錄就讓我覺得這個項目的野心不是一般的大。簡單找了找相關博客,感覺似乎不錯,兩個問題都有考慮(雖然調用系統(tǒng)API的方式還是非常蹩腳)。社區(qū)也比較活躍。而且國內也有很多相關資料了。雖然以現在的成熟度還不適合商用,但個人覺得,還是比較值的入坑看看的。
網上專欄不少,教程不少,我也就不多嘴了。今天搭建了下環(huán)境。有一些坑,記錄一下。按照官網相應的說明操作即可,有兩個坑。一個是新工程無法安裝依賴。一個是無法調試。
新工程的文件創(chuàng)建完畢后,會自動安裝依賴。flutter packages get。這里需要用代理。socks5代理是不管用的,自然用polipo建立一個http代理到socks5代理的中間轉換。方法是用docker。docker run -d -p 8118:8123 clue/polipo proxyAddress="0.0.0.0" proxyPort=8123 socksParentProxy="192.168.1.229:1080" socksProxyType=socks5。再設置環(huán)境變量http_proxy=localhost:8123,https_proxy=localhost:8123,此環(huán)境下執(zhí)行flutter packages get即可。
調試的時候,不知道有什么錯誤,直接退出了。控制臺只有簡單的收到sigterm信號提示。改用flutter run運行提示缺少相應的SDK和Build Tool。按照要求安裝即可。然后再運行flutter run提示WebSocketChannelException: HttpException: , uri = http://127.0.0.1:8106/ws。解決方法是改在不使用代理的環(huán)境下調試。
針對JS語言的缺點,MS和Google都有自己的看法,一個叫做TypeScript,一個叫做Dart?,F在Node的項目已經都改用TypeScript來寫了。但是對Dart還沒有一點了解。所以,下一步的計劃:
- 熟悉下Dart的語法
- 了解下Dart VM,Flutter等相關的設計
- 開發(fā)個全flutter的應用