我倾向于问这个问题,因为大多数时候我们直接调用runApp函数main,而不做其他任何事情。我的问题是,为什么runApp和main保持不同?本来可以很简单,保留主函数或runApp函数,而丢弃其他函数?
在Dart中,main((充当程序的入口点,而runApp((则将给定的小部件附加到屏幕上。
根据这篇文章,可以在实际附加第一个小部件之前建立配置变量。这使得main((和runApp((之间的分离非常有用。例如,在附加第一个小部件之前,您可以更新以下所有内容:
- 主题颜色
- 主页
- 用户的登录状态
- 特定于版本的小部件
main ()
函数来自类Java语言,因此它是所有程序的起点,没有它,即使没有UI,也无法在Flutter上编写任何程序。
runApp()
函数应该返回Widget,该Widget将作为要渲染的Widget树的根附加到屏幕上。
main()
——它是应用程序的入口点。在Flutter应用程序中,这也应该调用runApp()
来启动框架。
Flutter是一种框架,而Dart是一种语言。
main((函数启动Dart语言的执行,Dart语言又提供了加载Flutter组件的方法,Flutter组件是runApp((方法,作为Flutter框架的主要函数。
所以简而言之,main是Dart语言的执行起点,runApp((与Flutter Framework相同。