当我try 开发Flutter app (not a package, etc)时,在lib文件夹内的src个子文件夹中创建所有的应用程序文件和文件夹有什么好处吗?

推荐答案

这个问题被标记为Ffltter,但可能也应该有DART标志,因为Ffltter使用的语言是DART.根据Dart Organising a library Package,将代码放在lib/src下的约定称为"约定",其目的是将库的公共代码与私有实现代码分开.

再往下看,还有第二个原因:

web应用提示:为了在使用dartdevc开发时获得最佳性能,请将实现文件放在/lib/src下,而不是放在/lib下.另外,避免导入包:package_name/src/....

由于dartdevc编译器在调试模式下的开发时由Ffltter使用(请参见Flutter Debug Build mode),因此如果您使用lib/src struct 而不是仅仅使用lib,那么热重新加载确实具有设计时速度优势.请注意,版本使用了不同的编译器-dart2js-因此在此场景中没有优势(请参阅上面的相同链接).

关于上述几点的类似历史讨论可以在DART语言GitHub上找到:Recommendations for /lib/src vs. /lib

Dart相关问答推荐

如何防止 Riverpod 的 ConsumerWidget 重建管理 ThemeMode

如何防止 getter 或函数每次都重新计算?

如何判断一个数字是否是dart中另一个数字的倍数?

如何在 Dart 中实现继承?

Flutter - 删除元素时 UI 未正确更新

Swipe返回手势

Dart 1.8 中的异步/等待功能

当文本在 Flutter 中溢出时如何使 Text 小部件像选取框一样

Flatter BLoC-如何将参数传递给事件?

在 Flutter 的 TextFormField 中管理事件

GestureDetector onTap 卡

在 Dart 中发送 SMTP 邮箱

如何将条目添加到列表中的特定索引?

dart 是否支持运算符重载

如何构建具有多个视图的复杂 Web UI 应用程序?

在 Dart 中升序和降序排序?

Dart vs Polymer vs Bootstrap

判断 datetime 变量是今天、明天还是昨天

const 构造函数实际上是如何工作的?

你如何在 Dart 中构建一个单例?