Skip to content

Commit c8742ac

Browse files
committed
从开发者手册迁移部分内容到本教程
1 parent 15ac67e commit c8742ac

10 files changed

Lines changed: 165 additions & 26 deletions

File tree

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
### Android Studio
2+
3+
作用:开发安卓APP,目前内部用于基于Flutter开发跨端APP
4+
5+
##### 1.下载地址
6+
7+
[Download Android Studio and SDK tools Android Developers](https://developer.android.google.cn/studio)
8+
9+
##### 2.安装及使用教程
10+
11+
[Android Studio超详细安装教程 - 知乎](https://zhuanlan.zhihu.com/p/80051318)
12+
13+
[android studio安装教程,史上最详细(超多图)!!_piupiu78的博客-CSDN博客_android studio安装教程](https://blog.csdn.net/piupiu78/article/details/112170085)
14+
15+
##### 3.插件安装教程(我们目前只要求安装Flutter与Dart)
16+
17+
[Android Studio如何安装插件-百度经验](https://jingyan.baidu.com/article/a24b33cdb5b39a58ff002b60.html)
18+
19+
[AndroidStudio手动安装插件 - TongMeng - 博客园](https://www.cnblogs.com/yjpjy/p/11525511.html)
20+
21+
##### 4.插件市场
22+
23+
[Plugins JetBrains](http://plugins.jetbrains.com/androidstudio)
24+
25+
26+
27+
### FLutter
28+
29+
作用:Android Studio中Flutter插件的使用需要
30+
31+
##### 1.下载地址及配置教程
32+
33+
[起步:安装Flutter - Flutter中文网 ](https://flutterchina.club/get-started/install/)
34+
35+
[Flutter入门——安装与开发环境配置 - 知乎](https://zhuanlan.zhihu.com/p/110208018)的前两个部分
36+
37+
##### 2.在Flutter命令行输入flutter doctor可能出现的问题的解决
38+
39+
2.1.Unable to 'pub upgrade' flutter tool
40+
41+
[Unable to 'pub upgrade' flutter tool. Retrying in five seconds_yangchenglangzi的博客-CSDN博客](https://blog.csdn.net/yangchenglangzi/article/details/89981488)
42+
43+
2.2.✗ Flutter plugin not installed; this adds Flutter specific functionality.
44+
45+
✗ Dart plugin not installed; this adds Dart specific functionality
46+
47+
非常麻烦的报错,已收集到的解决方法有三种,第一种不行试第二种,第二种不行试第三种
48+
49+
第一种的问题是未安装插件
50+
51+
[Error: Flutter plugin not installed; this adds Flutter specific functionality. - Flutter_survivorsfyh的博客-CSDN博客](https://blog.csdn.net/survivorsfyh/article/details/93407580)
52+
53+
第二种的问题是插件的版本与Android Studio的版本不匹配
54+
55+
[Android Studio 3.5以后 Plugins中搜索不到flutter插件,本地无法安装??_okeyzero的博客-CSDN博客](https://blog.csdn.net/weixin_43695321/article/details/104932287)
56+
57+
第三种的问题是Flutter检查插件是否安装时检查的位置是错误的,需要手动修改
58+
59+
[Android Studio (version 4.1) ✗ Flutter plugin not installed; this adds Flutter specific functiona... - 简书](https://www.jianshu.com/p/03201f4f69f6)
60+
61+
2.3卡在Running pub upgrade状态
62+
63+
[Flutter: Running pub upgrade.. Flutter Setup:Building flutter tool..._a1050762704的博客-CSDN博客](https://blog.csdn.net/a1050762704/article/details/106250840)
64+
65+
2.4这篇文章总结了作者在配置Flutter过程中遇到的所有问题,可以帮助你更准确的定位你的问题
66+
67+
[flutter 安装以及遇到的坑 - 简书](https://www.jianshu.com/p/4836bcbc8b38)
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# 适配Web客户端
2+
3+
本文主要探讨把已移动端适配的课堂APP迁移到Web应用的方式。
4+
5+
本文主要参考2021年Flutter开发者大会的相关视频:https://www.bilibili.com/video/BV1Vf4y147Er/?spm_id_from=autoNext,强烈建议开发者在适配Web客户端前仔细阅读这个视频。
6+
7+
根据官方指南,我们需要考虑以下五个方面:
8+
1. 确认使用Flutter插件是否支持Web平台;
9+
2. 适配不同尺寸设备的响应式布局,主要是移动端Web和桌面端Web;
10+
3. 适配页面导航;
11+
4. 适配桌面端交互,比如滚动条、鼠标光标、键盘快捷键等;
12+
5. 选择HTML渲染器。
13+
14+
官方还提供了很方便的断点调试工具给开发者使用。
15+
16+
17+
## 构建Web目录
18+
19+
### Flutter版本
20+
21+
首先把Flutter升级到2.0版本,Flutter 2.0已经在stable分支支持Web应用构建。
22+
23+
具体操作步骤详见[开发框架 > 使用Flutter构建全平台应用](../../2_Developing_Frameworks/2_2_Clients_for_All_Platforms_with_Flutter.md)
24+
25+
26+
### 编译Web平台代码
27+
28+
如果是项目根目录只有iOS和Android代码目录,请使用`flutter create .`重新创建项目,在项目根目录中生成一个带有`index.html``web`代码目录。
29+
30+
具体操作步骤详见[开发框架 > 使用Flutter构建全平台应用](../../2_Developing_Frameworks/2_2_Clients_for_All_Platforms_with_Flutter.md)
31+
32+
33+
### 运行在Web设备上
34+
35+
Android Studio中,运行并选择Chrome设备,然后点击运行(Run)。如果自动打开一个Chrome浏览器并运行Flutter项目,则说明Web应用已经可以运行。
36+
37+
具体操作步骤详见[开发框架 > 使用Flutter构建全平台应用](../../2_Developing_Frameworks/2_2_Clients_for_All_Platforms_with_Flutter.md)
38+
39+
40+
## Flutter插件
41+
42+
检查现有Flutter依赖是否支持Web。可以在项目的Pub主页看到对平台的支持。比如
43+
44+
![Flutter插件的平台支持](platform_support_of_Flutter_plugins.png)
45+
46+
如果现有插件不支持Web平台,则需要开发者为Web实现一个联合插件(federated plugins)的platform package,详见:
47+
- https://flutter.cn/docs/development/packages-and-plugins/developing-packages#plugin-platforms
48+
- https://medium.com/flutter/how-to-write-a-flutter-web-plugin-part-2-afdddb69ece6
49+
50+
如果需要添加JavaScript代码,则在`index.html`使用导入JS库的语法导入。(TODO:具体指南待补充,包括使用场景、操作步骤等。)
51+
52+
53+
## 响应式布局
54+
55+
修改UI代码,把一部分不适合桌面端的组件适配成可随着屏幕尺寸变化调整的响应式组件。具体操作根据具体项目确定,无固定法则。
56+
57+
可以使用Chrome的开发者工具切换设备和尺寸来进行调试。
58+
59+
60+
## 页面导航
61+
62+
似乎需要配置命名路由。(TODO:还不确定怎么搞是正确的打开方式。)
63+
64+
65+
## 桌面端交互
66+
67+
添加必要的交互,比如:
68+
- 滚动条,比如Scrollbar;
69+
- 鼠标交互,比如光标(i.e. MouseRegion widget);
70+
- 键盘交互,比如快捷键。
71+
72+
Materials组件库已经提供了比较完善的支持,大部分情况下只需要简单调整成更合适的组件即可。
73+
74+
75+
## HTML渲染器
76+
77+
大部分情况使用auto自动模式即可。
78+
79+
Flutter提供了两种Web渲染引擎:
80+
- HTML,需要的带宽更小,适合移动端
81+
- CanvasKit,对大尺寸屏幕优化,适合桌面端
82+
83+
在浏览器中检查`<body>``fit-render`属性,可以检查是哪个引擎渲染的。
84+
85+
86+
## 调试Web应用
87+
88+
在Android Studio设置断点,可以在IDE和浏览器中看到返回的Web代码。
89+
90+
91+
## 打包Web应用包
92+
93+
类似移动端应用打包,使用命令`flutter build web`即可。
94+
95+
96+
## TODO
97+
98+
本文档主要根据视频以及现有使用经验整理,很多具体环节还没有经过系统尝试,无法总结出更详尽的指南,需要量潮开发者们群策群力完善文档。
40 KB
Loading

Flutter_Packages_and_Plugins_Development/1_Intro/1_1_Why.md

Lines changed: 0 additions & 2 deletions
This file was deleted.

Flutter_Packages_and_Plugins_Development/1_Intro/1_2_How.md

Lines changed: 0 additions & 2 deletions
This file was deleted.

Flutter_Packages_and_Plugins_Development/1_Intro/1_3_What.md

Lines changed: 0 additions & 22 deletions
This file was deleted.

README.md

Whitespace-only changes.

x_Code_Style_for_Flutter_Apps/Project_Structure.md

Whitespace-only changes.

x_Packages_and_Plugins/Project_Structure.md

Whitespace-only changes.
File renamed without changes.

0 commit comments

Comments
 (0)