iT邦幫忙

2021 iThome 鐵人賽

DAY 1
0
Mobile Development

Flutter - 從 Packages & Plugins 掌握原生系列 第 1

Day01 什麼是Packages & Plugins ?

前言

這系列文章建議在有Flutter基礎的能力後在觀看,會比較好理解,關於Flutter 的介紹可以參考之前的文章從零開始的Flutter世界。簡單來說Flutter就是Google推行的跨平台開發框架,目的是為了能夠同時開發Android以及iOS。

總體而言在畫面設計上皆可透過Flutter開發,但功能上還是會有原生開發的需求,所以需要學習如何串接Native的功能,希望能藉由這次的鐵人賽學習和分享我的心得。

接下來這30天的規劃大概會有以下幾個重點:

  • Packages & Plugins(簡介類別、架構)
  • Federated plugins (聯合插件)
  • Platform Channel
  • 開發插件範例

有興趣的朋友們可以先準備好環境(Android、iOS、Flutter),之後範例可以跟著實作。

第一天我們就先簡單介紹一下甚麼是Packages & Plugins

參考資料:官方文件

Flutter 支持使用其他開發者貢獻給 Flutter 和 Dart 生態系統的共享package,這允許開發者能夠快速構建應用程序,而無需從頭開始開發所有內容

  • Package和插件(plugin)有什麼區別呢?

    插件(plugin)是package的一種,全稱是plugin package,我們簡稱為plugin,中文叫插件

  • Packages

    Dart package 至少包含一個pubspec.yaml文件以及包含共享程式碼的lib目錄。此外,一個package 可以包含依賴關係(在pubspec.yaml文件裡聲明),像是Dart libraries、資源、測試、圖片等。pub.dev上列出了很多開發者開發和發布package,讓其他開發者可以應用在自己的app 裡

  • Plugins

    插件(plugin package)是一種特別的package,特別指那些幫助你獲得原生平台特性的package。插件可以為Android(使用Kotlin或Java語言)、 iOS(使用Swift或Objective-C語言)、Web、macOS、Windows、Linux平台,或其任意組合的平台。比如:某個插件可以為Flutter App 提供使用原生平台的攝像頭的功能

pub.dev 上的package 已有很多實用的功能,例如,網絡請求(http),自定義導航/路由處理(fluro),整合關於設備的API(如url_launcherbattery),以及使用第三方平台的SDK(如Firebase的(FlutterFire


下一篇
Day02 Package的 類別
系列文
Flutter - 從 Packages & Plugins 掌握原生30

尚未有邦友留言

立即登入留言