回覆列表
  • 1 # 程式猿dd

    Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構建高質量的原生使用者介面。 Flutter可以與現有的程式碼一起工作。在全世界,Flutter正在被越來越多的開發者和組織使用,並且Flutter是完全免費、開源的。

    這麼省時省力節約人工成本的東西,肯定重要

  • 2 # 劉某人程式設計師

    感謝閱讀

    Flutter為何對程式設計師來說很重要?這裡不能說程式設計師,應該說做移動端的程式設計師,對他們是非常重要,這就要從Flutter的設計初衷和用途來說起了。

    Flutter是Google的移動UI框架,可以快速在iOS和Android上構建高質量的原生使用者介面。 Flutter可以與現有的程式碼一起工作。在全世界,Flutter正在被越來越多的開發者和組織使用,並且Flutter是完全免費、開源的。

    但從跨平臺性來講,如果要選擇WebApp的開發的話,Flutter無疑是最好的選擇,同時,Flutter在不久的將來將持續的支援更多的語言和方向。

    如果瞭解Flutter的特性你就知道他為什麼對程式設計師來說很重要了,在他的官網上是這樣介紹的:

    快速開發

    毫秒級的熱過載,修改後,您的應用介面會立即更新。使用豐富的、完全可定製的widget在幾分鐘內構建原生介面。

    富有表現力和靈活的UI

    快速釋出聚焦於原生體驗的功能。分層的架構允許您完全自定義,從而實現難以置信的快速渲染和富有表現力、靈活的設計。

    原生效能

    Flutter包含了許多核心的widget,如滾動、導航、圖示和字型等,這些都可以在iOS和Android上達到原生應用一樣的效能。

    但從這三點我們就知道,他有著輕量級的工作區和程式碼設計框架,並且更加的靈活和多變,而且在原生的支援上也是非常好的, 誰叫是Google自家的呢。

    從這張圖就可以看到,當我們在寫完邏輯之後,可以直接重新整理即可更新應用介面,大大的提高了我們的開發效率,並且介面簡潔,優雅。

    再來看下Flutter所支援的UI吧,同樣豐富

    作為一名移動開發者,流暢並且美觀的UI大大提高了使用者體驗,這是每個人都希望看到的,Flutter的支援十分的好,我們可以輕鬆實現各種炫酷的介面,這都是他的魅力。

  • 3 # GeekEnter

    大部分小企業或者初創公司需要在選擇使用哪種移動端開發技術時都要做出關鍵選擇。他們不斷測試和評估技術,以形成快捷的開發效率以及強大的使用者體驗,無論客戶端的移動裝置或作業系統如何。無論推廣渠道或裝置如何,都有可能落後競爭對手。

    更大挑戰在於跨平臺開發可能存在各種問題(坑)。在某些情況下,儘管開發人員盡了最大的努力,但使用者體驗卻落後於實際的原生應用程式。近幾年來,我們已經看到各種移動框架如React Native,Xamarin和Ionic的出現,這些框架能幫助程式設計師更容易高效地開發出最大化接近原生(Native)的體驗,以及良好的效能。而2018年12月初的 Flutter Live 2018 上我們看到一個新玩家進入遊戲 - 谷歌釋出的Flutter1.0 穩定版。

    從本質上講,Flutter可能看起來像是各種Google技術和概念的大雜燴,但這會產生一個不可思議的強大移動端解決方案或框架。它基於谷歌的內部程式語言Dart,可以讓Flutter訪問Skia圖形庫 - 也是Chrome瀏覽器使用的。此外,Flutter與Google的Material Design規範無縫結合。

    以下我列舉13個理由來說明為什麼選擇Flutter比較“重要”,甚至是開始您的Flutter職業生涯。1. Flutter克服了跨平臺方案的傳統侷限

    一個真正的跨平臺方案長期以來一直是個技術瓶頸,我們不得不開發同一產品的多個版本(ios/android/pc/web)等。但是,實際上,使用者體驗以及效能通常落後於本機原生的應用程式,因為我們通常最終會使用間接透過在JavaScript中構建並使用JIT(Just In Time)編譯的UI使用者體驗。

    但使用Flutter,我們不僅可以獲得“一次編寫”方法的優勢,還可以建立高效能的“本機”體驗,因為Flutter App是一個提前編譯的機器二進位制可執行檔案。它克服了其他跨平臺解決方案帶來的一些常見挑戰。

    2.開發人員將開發率提高n倍

    開發率的提高之一來自Flutter的“熱過載”(AKA“有狀態熱過載”和“熱重啟”)。這些允許開發人員在不到一秒的時間內看到他們對應用程式狀態所做的更改。

    無需再執行另一個Gradle構建 - 只要儲存就可以實時看到修改。對於開發人員來說,這往往很容易掌握 - 使用“熱過載”時很少或根本沒有學習曲線,因為預設情況下每次儲存都會觸發。但是,優勢至關重要。開發時間通常會減少30-40%,因為Gradle的重建時間會減慢Android開發人員的開發速度一般需要很長時間才能應用每個修改。

    3.前端和後端只用一種語言、程式碼

    與Android編碼不同的是,後端(Java)引用前端(檢視)的單獨檔案,而flutter使用單一語言(Dart)來完成工作。

    Dart建立在其他語言的許多最流行的特性以及功能之上,而且不會失去Java或類似其他語言的熟悉程度

    .Dart

    是在開發人員的易用性的基礎上構建的,從而使得許多常見任務變得更加容易。4.一個開箱即用的強大開發、設計體驗。

    由於Flutter團隊精心實施了Material設計規範,因此可以輕鬆建立開箱即用的強大UI元件。它有助於產生通常只能在本機應用程式中看到的流暢,清晰的體驗,因為Flutter的釋出版本是本機應用程式。

    Flutter有一些小元件可以實現iOS的介面設計規範,讓您在iPhone和iPad上也能獲得原生的“感覺”。

    5.有大量的開源軟體包(輪子)

    大量的開源軟體包可以幫助您更快,更輕鬆地開發APP,並且當前有許多軟體包可以使許多複雜的功能變得更加容易實現。儘管仍然相對年輕,但由於越來越多的開發人員積極地為Flutter做出貢獻,軟體包庫每天都在飛速發展。

    6.與Firebase直接整合

    Firebase為雲服務,雲功能,資料庫,託管,身份驗證等一系列服務提供天然的支援。我們開發的基礎架構可立即無伺服器,冗餘和可擴充套件。這意味著我們不必花費大量時間和資源來構建服務端。將它與用於敏捷開發或自動化開發和釋出過程的工具(比如Fastlane)結合起來也很簡單; 促進專案可持續交付。因此,我們不必在團隊中擁有專門的DevOps支援。

    7.Flutter支援各種IDE。

    使用Flutter敲程式碼時,我們可以從眾多整合開發環境(IDE)中進行選擇。起初我開始使用Android Studio,但後來我看到Flutter Live 釋出會直播使用的是VS Code。這讓我感到疑惑,我發現許多Flutter開發人員使用Visual Code。當我也更風使用VS Code時,我才體會到為什麼這麼多人更喜歡它。VS Code重量輕,速度更快,並且具有Android Studio和IntelliJ中提供的大多數功能。就個人而言,我已經轉移到VSCode陣營了,但你也可以繼續使用其他一些IDE甚至vim,沒必要切換自己所熟悉的IDE才開始在Flutter中工作。

    8.UI統一性,一切都是小部件(widgets)

    一切都是一個小部件,Appbar,抽屜,Snackbar,List,Card等。我們很容易將一個Widget嵌入在另一個Widget中,以便透過將它包裝在Center Widget中來做一些事情。這也有助於確保您的使用者無論在哪個平臺上執行都能獲得體驗。

    9.適用於Android / iOS的不同主題

    為移動端分配不同的主題就像使用三元運算子(platform==IOS?IosStyle:androidStyle)一樣簡單檢查使用者正在執行的平臺; 允許我們APP的UI讓執行時決定使用哪些UI元件。

    這是一個相同的示例程式碼,它檢查當前平臺,如果它的iOS,它返回紫色主色的主題。

    return new MaterialApp(

    // 預設主題

    theme: new ThemeData(), builder: (context, child) {

    final defaultTheme = Theme.of(context);

    if (defaultTheme.platform == TargetPlatform.iOS) {

    return new Theme( data: defaultTheme.copyWith( primaryColor: Colors.purple ), child: child, );

    }

    return child;

    });

    10.使用Code Magic進行持續整合。

    Code magic是2018年12月4日Flutter Live中的一個開源工具。

    Code Magic很容易學習,完全免費!它是一種高度複雜的CI工具,專門針對Flutter進行了最佳化。Code magic使構建過程無縫。

    11.使用2Dimensions Flare 可以更輕鬆地製作動畫。我第一次嘗試使用Flutter + Flare - Bouncy

    在Flutter live 2018期間也推出了這個牛X的線上工具,可以輕鬆建立非凡的UI或動畫。它填補了UI設計人員和開發人員之間的空白,減少了應用UI或動畫相關更改所需的時間。

    我曾經使用過Flare,製作動畫soeasy; 很好入門!可以非常細粒度的定製動畫以及各種特效

    12.PC端桌和WEB端

    每個開發者都被Flutter團隊現在擁有在Web瀏覽器中執行的Flutter應用程式原型所震驚。之前的Top Secret專案“Hummingbird”在Flutter Live期間向全世界揭幕。現在就可以使用相同的程式碼輕鬆地為移動端,PC桌面裝置和WEB網頁端建立跨平臺的應用程式。

    13.來自Flutter團隊和強大社群的支援

    Flutter社群是一個很好的地方,即使你沒有的任何問題,你也可以透過傾聽其他開發者回答別人的問題來學到很多東西。任何一個健壯的技術或語言都離不開強大的開發社群以及生態。

    每種開發語言或開發解決方案都有它的一席之地,也許Flutter就是你的“雷神之錘”!

    以上,望採納。

  • 4 # 做軟體的禪師

    flutter可能是個天坑,我不看好,更沒覺得flutter重要,跨平臺方案很多種,flutter只是其中一種。

    為什麼我不看好flutter

    flutter 哪裡是革命性,除了Google 推 dart語言,真沒覺得哪裡革命性了。而且我還是Google崇拜者,比如Google在AI,go語言,Android等等開放性成果上,我都很崇拜。所以不看好flutter上僅僅是就事論事,下面的flutter原理圖:

    和遊戲的引擎有多大區別嗎?我通常說這個觀點的時候,都建議去把Android的硬體加速開啟,app本身也可以自己控制,我之所以這麼說,是因為早期做Android系統開發最佳化時,做過這些最佳化嘗試,結果是渲染上會出現無法預料的坑,而且我早期用過的flutter demo幾乎是一樣的現象,動畫會拖尾黑屏。

    有人說,這些可以解決呀,好的,我們假定能解決,那瀏覽器核心不能直接用硬體加速嗎,h5解析後就不能同樣直接顯示卡渲染嗎?

    所以我的觀點是:

    1、要麼這個坑一直存在

    2、要麼解決後,h5自然好用

    所以如果跨平臺,我只看好h5,這也在公司架構上,重點推小程式和H5的原因。並且很多人強調體驗,把體驗和互動動畫畫等號。

    我極其反對,體驗就一定是漂亮的互動動畫嗎,除了遊戲應該看重之外,更重要的是產品的易用性,功能性,服務的內涵

  • 中秋節和大豐收的關聯?
  • 張愛玲《傾城之戀》中《金鎖記》的曹七巧是個怎樣的人?