使用Flutter在手机上编写Flutter应用程序的实验

您是否曾经想过,如果不打开笔记本电脑就可以在应用中进行快速更改,将会有多酷? 或者,您只是想到了在手机上编写Flutter应用程序的想法。

我做了一些实验,可能会为您准备一些东西!

如果您想尝试一下,请转到此Github存储库,其中包含详细的设置指南。

本文将介绍其方式和原因。


它可能比您想象的要简单。

编译仍由PC完成。

发生的情况是计算机上正在运行服务器(用Dart编写)。 它管理文件,处理构建和重新加载。

您正在开发的应用程序需要包含IDE本身。 通过将最顶部的小部件包装在IdeApp

  MyApp  扩展 StatelessWidget { 
@override
小部件build(BuildContext context){

返回新的 MaterialApp(
标题:“ Flutter演示”,
主题:
新的 ThemeData(
primarySwatch:颜色。
红色
),
主页:IdeApp(孩子:
新的 MyHomePage()),
);
}
}

IdeApp管理列出可编辑文件,将这些文件写回到计算机并调用热重装。

有趣的事实:因为IDE本身在项目内部,所以您可以通过其自身修改phone-IDE。

当按下应用程序中的热重载按钮时,会将请求发送到服务器以重载该应用程序。 然后,它执行Flutter热重装并将更改推送到设备(如果是Android,则通过ADB进行)。

在gif中没有电缆,那怎么可能?

答案很简单:通过WiFi的ADB。

所以我必须在同一个专用网络中? 如果我想随时随地发展怎么办?

您仍然需要使用构建服务器将其置于专用网络中,但是这里正是VPN(虚拟专用网络)抢救的地方。

使用VPN,您可以通过Internet在地球任何地方的专用网络中

借助配置的构建服务器和VPN,您可以在任何地方开发应用程序。

无论是在火车上,在城市漫步还是在讲座中偷偷摸摸。 您需要的只是一个互联网连接。

好吧,显然有很多可能的改进。 请记住,这只是我大约一天编写的一项实验。

一个好的文本编辑器

在我看来,拥有一个好的文本编辑器来支持每个IDE所需的功能将使它在某些情况下成为一种可行的开发方式。

在设备上编译,而不是依赖构建服务器

我认为这是可能的,但我没有对此进行过多研究。

不必在实际应用中包含ide代码

这应该是可能的。 有几种方法可以实现此目的。 例如,服务器可以在启动时复制项目,并在启动时注入必要的类。

可能不会。 至少还没有。

这有用吗?

我认为是的。

想象一下正在与客户会面,他想看看该应用程序的外观如何变化。 老实说,有什么比拿电话和在现场编辑小的更改更酷的方法吗?

另外,在正在运行的应用程序中编写代码,然后热重载它,也非常令人满意。

我一直参与构建台式机嵌入程序,目前正在探索该领域的想法。

我实际上正在研究甚至更疯狂的东西🙂

请确保在Twitter上关注我,以保持最新。