作為一名ios開發者, 受到了來自前端技術威脅輪的影響, 因此會時常關注各種新技術, 也去一一學習了react vue等前端框架. 最近(其實已經出來一段時間了,不過谷歌2018大會帶火活了一吧)flutter作為谷歌欽定的下一代移動作業系統fuchsia的ui框架, 一下子成了眾人關注的香饃饃.
最近隨著flutter官網教程的完善,我也試著學習了一下dart以及flutter框架.(注: flutter還在beta階段) 搭建開發環境非常簡單, 官網(提供了windows、mac os、linux三個平台的詳細搭建教程(官網還細心的提供了中國區的映象).
以筆者使用的mac os為例:
解壓到任意目錄(建議放到乙個固定的位置)
更新系統變數, 方便直接在終端使用flutter命令 (export path=pwd
/flutter/bin:$path)
構建完專案之後, 首先看到的就是main.dart檔案.
這在任何乙個語言中都是一場災難. 在我嘗試寫幾個控制項的時候,寫到第三層我就幾乎無法準確定位我當前的ui層級(當然如果你的widget層級太多,也許就是抽離子元件的時候了). 不過flutter團隊顯然是發現了這個問題, 因此他們會自動在相應的層級後面加上該元件的名字(灰色的部分).這部分解決了層級混亂的問題, 但還需要適應一段時間. 我還是希望官方能夠提供更加友好的ui**風格, 尤其是沒有視覺化ui構建的情況下.
預設的demo已經提供了一些注視, 通過閱讀注釋你可以對flutter的運作方式有乙個大體的了解. 如果你之前有接觸過react或者vue, 你可能會發現他處理資料和ui的方式和前者有極大的相似之處.甚至連setstate等的方法名稱都一摸一樣. 很明顯flutter使用了現在在前端大為流行的響應式程式設計風格, 而且flutter與前端技術的相似之處還遠不止如此, 比如下面提到的hot reload.
hot reload(熱載入)這個在前端極其重要的技術能夠極大的加速開發的流程, 這是我們以往在純原生開發中不可想象的. 當你在使用flutter的時候, 你就像在寫乙個網頁一樣, 任何修改都能快速的反應到螢幕上. 不過目前hot reload在穩定性上還有一些問題. 另外, 測試環境下hot reload生成的ui元件效能不高, 但真正構建程式時會去除hot reload使元件效能最大化.
說到效能, 這也是flutter引以為豪的特點之一. 不同於純web, flutter最終生成的是native**, 在執行效率上要高出不少. 不同於rn,他使用了自己的一套渲染引擎, 完全撇開了不同平台不同渲染框架帶來的相容問題, 真正實現了一套**搞定多平台. 最最最重要的是, 他的效能要好於rn, 這也是將來能否取代rn的關鍵因素之一.
但是, flutter的優點足夠讓大部分前端以及移動開發人員學習他了.所以你還在等什麼呢?
Flutter Beta 3 新特性概覽
首先感謝掘金將本文納入google i o 2018大會專題頁中。至從 google 在2017年的google i o上推出flutter以來,flutter 團隊投入了大量的精力來不斷完善 flutter。包括重寫引擎的主要部分 發布支援 android studio 和 visual stud...
作業3 讀後感
大道至簡第三章讀後感 一如既往,今天又讀了 大道至簡 的第三章,接著往下學習周愛民先生的思想。前兩章講了專案的開發跟完成專案的方法,教會我們要做懂得思考的 聰明的愚公,而在本章則為我們介紹開發專案必不可少的工具 乙個團隊。既然是乙個團隊,那就是指至少三個人了。至少有乙個技術人員,乙個負責監督的,還有...
使用CMS小感
以前不屑於用cms,相信也有很多人和我一樣,作為乙個學習.net開發的人,居然還要用別人開發出來的傻瓜似的東西,雖說開源免費,還是擔心各種收費。最近沒辦法,既要交學科作業又要交 專案,在老師的推薦和公司的影響下,選了幾個cms來試試。安裝各種cms本來想著是一件無比簡單的事,順便也了解了一下各種開源...