Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/areslabs/flutter_mp
Bring your Flutter code to mini program
https://github.com/areslabs/flutter_mp
flutter mini-program wechat wechat-mini-program wexin
Last synced: 6 days ago
JSON representation
Bring your Flutter code to mini program
- Host: GitHub
- URL: https://github.com/areslabs/flutter_mp
- Owner: areslabs
- License: mit
- Created: 2019-09-23T09:24:06.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2019-10-25T07:12:49.000Z (about 5 years ago)
- Last Synced: 2024-08-01T18:27:04.859Z (3 months ago)
- Topics: flutter, mini-program, wechat, wechat-mini-program, wexin
- Language: Dart
- Homepage:
- Size: 731 KB
- Stars: 742
- Watchers: 39
- Forks: 67
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# flutter_mp
**flutter_mp**的目标是把**Flutter**扩展到类小程序平台,**Flutter**是一个非常优秀的跨端框架,不仅可以运行在`Android`, `iOS`,通过**flutter_web**还可以运行在`web`平台,但是官方并没有涉及小程序平台,希望**flutter_mp**可以填补这方面的空白。
**flutter_mp** inspired by [Alita](https://github.com/areslabs/alita)。 [Alita](https://github.com/areslabs/alita)引擎对`JSX`的[动态处理方式](https://areslabs.github.io/alita/一种让小程序支持JSX语法的新思路.html),给声明式UI框架在
类小程序运行提供了思路。**flutter_mp**正是这个思路在**Flutter**上的实践。不过,现在**flutter_mp**还处于很早期的实验阶段,如果现在你的产品就有APP端,小程序端的多端需求,暂时我们还是建议你使用[Alita](https://github.com/areslabs/alita),这是一套相对成熟的基于React Native的方案。现阶段,**flutter_mp**还是一个很不成熟的项目,完成度还很低,很多东西还在探索阶段,离实际的可用还有很长的距离,我们也仅仅是把官方简单demo
运行在了微信小程序。另外,把所有的**Flutter**特性都在小程序上实现我们认为是不可能的,肯定会存在一些阉割和取舍,包括动画,手势等等在内的还原程度,我们也还在思考,欢迎关注我们最新的进展。
Flutter
微信小程序
## 相关文章
* [把Flutter扩展到微信小程序端的探索](./doc/把Flutter扩展到微信小程序端的探索.md)## TODO
暂时,我们还只支持`Center`,`Column`,`Container` ,`Expanded`,`Image.asset`,`ListView`,`Row`,`Text`这些基本Widget,暂不支持
自定义Widget,即使这些基本Widget也不是完全体,比如`ListView`。而且你的`Flutter`代码只能够出现在`lib/main.dart`文件中。 我们将大致按照如下的
顺序一步步完善`flutter_mp`。1. 寻求**Flutter**布局在css下的等效表达
2. 完善基本 Widget
3. 支持 stateful Widget
4. 支持自定义Widget
5. 事件/生命周期
6. 多页面,导航/路由的支持
7. Flutter动画在小程序的部分实现(能还原的程度??)
6. 小程序性能优化
7. 小程序包体积优化
8. 其他## Getting started
现阶段,我们建议你仅仅在`Examples`下的[lakes](https://github.com/areslabs/areslabs/tree/master/examples/lakes)下修改代码,尝试**flutter_mp**。1. 安装`flutter_mp`命令
```shell
pub global activate --source git https://github.com/areslabs/flutter_mp.git
```2. 运行`flutter_mp -v` 查看命令是否安装成功
3. 在你的`flutter`项目添加如下依赖
```yaml
dev_dependencies:
flutter_mp:
git:
url: https://github.com/areslabs/flutter_mp
path: packages/flutter_mp
```
4. 执行命令 `flutter_mp -i [flutter目录] -o [目标小程序目录]`5. 使用微信开发者导入打开 `4`过程的 `[目标小程序目录]` 。
这样你的flutter应用就运行在了微信小程序上
## Examples
1. 官方布局样例[lakes](https://github.com/areslabs/flutter_mp/tree/master/examples/lakes), 对应编译出来的小程序在[lakesMP](https://github.com/areslabs/flutter_mp/tree/master/examples/lakes)(当然你可以手动编译到任何你喜欢到目录)。## 更新日志
本项目遵从 [Angular Style Commit Message Conventions](https://gist.github.com/stephenparish/9941e89d80e2bc58a153),更新日志由 `conventional-changelog` 自动生成。完整日志请点击 [CHANGELOG.md](./CHANGELOG.md)。## License
MIT LicenseCopyright (c) ARES Labs