Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Plugins | 16,786 | 1,556 | 615 | a month ago | 58 | June 06, 2022 | 1 | bsd-3-clause | Dart | |
Plugins for Flutter maintained by the Flutter team | ||||||||||
Flutter Desktop Embedding | 7,078 | 6 | 2 months ago | 10 | August 18, 2022 | 3 | apache-2.0 | C++ | ||
Experimental plugins for Flutter for Desktop | ||||||||||
Flutter Ui Nice | 3,388 | a year ago | 7 | Dart | ||||||
More than 130+ pages in this beautiful app and more than 45 developers has contributed to it. | ||||||||||
Figmatocode | 2,870 | 24 days ago | 23 | gpl-3.0 | TypeScript | |||||
Generate responsive pages and apps on HTML, Tailwind, Flutter and SwiftUI. | ||||||||||
Sqflite | 2,587 | 799 | 139 | 8 days ago | 125 | September 19, 2022 | 142 | bsd-2-clause | Dart | |
SQLite flutter plugin | ||||||||||
Flutter_inappwebview | 2,437 | 1 | 46 | 7 days ago | 51 | May 05, 2022 | 674 | apache-2.0 | Dart | |
A Flutter plugin that allows you to add an inline webview, to use a headless webview, and to open an in-app browser window. | ||||||||||
Flutter Study | 2,254 | 3 years ago | 5 | |||||||
Flutter Study | ||||||||||
Flutter_local_notifications | 2,166 | 108 | 52 | 2 days ago | 221 | September 23, 2022 | 44 | bsd-3-clause | Dart | |
A Flutter plugin for displaying local notifications on Android, iOS, macOS and Linux | ||||||||||
Flutter Intellij | 1,858 | 2 days ago | 518 | bsd-3-clause | Java | |||||
Flutter Plugin for IntelliJ | ||||||||||
Cloudbase Framework | 1,827 | 21 | 6 months ago | 130 | August 23, 2022 | 37 | other | JavaScript | ||
腾讯云开发云原生一体化部署工具 🚀 CloudBase Framework:一键部署,不限框架语言,云端一体化开发,基于Serverless 架构。A front-end and back-end integrated deployment tool. One-click deploy to serverless architecture. https://docs.cloudbase.net/framework/index |
三行代码组件化集成 Flutter!可用于已有 iOS 项目,对原工程无侵入,无需更改原项目配置,集成后可直接以组件形式开发 Flutter 业务。
模块 | 描述 |
---|---|
YHFlutterAdapter | 负责 Flutter 功能与原生端代码的隔离解耦,并提供一定的插件注册功能,该模块对 YHFlutterSDK 以及 YHFlutterPlugin 无依赖关系,并且其中的功能应逐渐下沉为通用功能,可供多个业务线直接复用。 |
YHFlutterSDK | 存放 Flutter 项目编译后生成的产物,各个业务线可针对于自己的 Flutter 项目需求来生成对应的独立产物,与 YHFlutterAdapter 和 YHFlutterPlugin 组装使用。 |
YHFlutterPlugin | 主要配合 YHFlutterAdapter 实现部分桥接方法与插件的功能。可创建多个,一些用于提供通用基础桥接功能,另一些专门用于具体特定业务实现逻辑,上层项目选择性的引入即可。 |
Podfile
内添加
pod 'YHFlutterAdapter' # :podspec => 'xxx' or :path => 'xxx'
pod 'YHFlutterSDK' # :podspec => 'xxx' or :path => 'xxx'
pod 'YHFlutterPlugin' # :podspec => 'xxx' or :path => 'xxx'
具体集成细节,podspec指向等可参照项目内 Demo 。
#import <YHFlutterAdapter/YHFlutterModule.h>
UIViewController *flutterViewController = [[YHFlutterModule service] flutterViewControllerForKey:@"XXXX" properties:nil];
[self presentViewController:flutterViewController animated:YES completion:nil];
YHFlutterModule
注册进项目内已有的组件化服务内并调用 YHFlutterServiceProtocol
的相关方法使用YHFlutterFeatureChannel
,具体的业务使用方在上层项目内可自行注册监听并处理自己需要的消息;YHFlutterPlugin
编写新的 pod 仓库组件独立实现;YHFlutterModule
注册进项目已有的组件化服务内,并调用 YHFlutterServiceProtocol
的相关方法进行注册[[YHFlutterModule service] registMethodChannelHandler:self.class];
[YHFlutterRegistrant registMethodChannelHandler:self.class];
编写对应的脚本实现 编译-转移产物-更新到远端 Pod 的操作,同时将 YHFlutterPlugin
中需要添加的依赖类自动更新并注册进 YHFlutterAdapter
./.ios/
内对应工程的 BundleId 以及证书更换为当前电脑中任何一个可用的,保证通过编译flutter build ios
or flutter build ios --debug
命令生成对应的 release
or debug
版本的产物./.ios/Flutter/
目录下将对应的三个产物更换到 YHFlutterSDK 内issue:pod lib lint 将产物更新至私有库, i386 验证不通过问题讨论
功能 | 实现类 | channelName |
---|---|---|
Read feature description |
YHFlutterFeatureChannel.m 业务层内实现 |
yaheng.feature.flutter.bridge |
Write log file |
YHFlutterLogChannel.m YHFlutterPlugin 内实现 |
yaheng.base.flutter.bridge |
Client HTTP request |
YHFlutterHttpChannel.m YHFlutterPlugin 内实现 |
yaheng.base.flutter.bridge |
Close |
YHFlutterPageChannel.m YHFlutterAdapter 内实现 |
yaheng.base.flutter.bridge |
All source code is licensed under the MIT License.