如果你和我一样也是一个开发人员,你有没有遇到过下面的问题:

你打开Android Studio或者XCode进行开发,发现过不了多久机器的内存就被“吃”光了,随着程序界面的越来越复杂,运行一次程序往往要几分钟?

你只是修给了一个界面上的标签文字,就要在IDE里重新启动运行一次,才能看到显示的效果?

如果你开发过React Native应用,如果程序报错,你只看到一大堆提示错误,想要一步步的断点调试,却找不到一个趁手的工具?

现在好了,有了Flutter 和 VS Code,这些问题都有了很好的解决办法,并且可以节省你大量的时间。

在这篇文章里你将看到:

如何用一个轻量级(但是非常强大)的IDE,VSCode来开发Flutter应用。

如何应用Flutter的热重载技术,快速的查看修改代码后的程序运行效果。

如何把原来的开发调试事件缩短1/3。

接下来,让我们开始吧。

安装VS Code的Flutter插件

VS Code是微软开发的一个非常棒的IDE,它运行速度快,体积小,关键是有非常丰富的插件,帮助开发人员提高开发效率。

对于Flutter来说,VS Code也有一个非常棒的插件。在开始体验Flutter技术之前,我们先把插件装好。

打开VS Code,然后点击左侧的【Extensions】按钮,并搜索Flutter关键字,找到这个插件并安装。

安装Flutter插件

如果你用的是最新版本的VS Code 安装完插件不需要重启,马上就可以开发Flutter应用了。接下来,让我们从一个Flutter脚手架应用开始,体验Flutter技术的高效。

开始第一个Flutter应用

Flutter提供了脚手架应用,可以帮助我们快速搭建Flutter的开发框架。在VS Code 中创建一个Flutter应用的步骤如下:

打开 View下的Command Palette。或者按快捷键 Ctrl+Shift+P

在弹出的输入框中,输入 flutter

选择Flutter:New Project 来创建一个项目,如下图

创建Flutter项目

然后输入项目名称,比如 myapp

接下来就是等待了,大概几分钟后,生成的项目代码结构大概是下面这样:

Flutter项目代码结构

接下来让我们运行这个程序。

体验令人振奋的热重载技术

我在写这篇文章的时候使用了Genymotion作为Android模拟器,进行调试和开发。如果你还没有安装这个工具,可以参考这篇文章:

首先,我们打开Genymotion模拟器。然后在VS Code左侧找到【Debug】按钮,然后选择“Add Configuration”.

运行Flutter

VS Code 会智能化的帮我们创建一个运行Flutter的运行文件,launch.json,并且菜单式出现了Flutter程序运行的按钮:

运行Flutter

点击那个运行按钮,过一会就可以看到Genymotion模拟器中出现了你的第一个应用程序。

第一个Flutter

接下来到了最有意思,也是开发人员最爱的部分了,也就是Flutter提供的热重载技术(Hot Reload)。

跟着我做一些修改。我们打开项目目录下 lib/main.dart文件,找到

下面这句:

home: MyHomePage(title: 'Flutter Demo Home Page'),

然后把它改成:

home: MyHomePage(title: '我的第一个Flutter应用'),

保存一下,在看看模拟器,你会发现一眨眼间,你修改的内容已经反映在模拟器中,这期间你根本无需重新编译、重新部署,一句话“就是这么快”

第一个Flutter

总结

从上面一个简单的例子我们不能看出,Flutter不仅有丰富的IDE支持,其热重载技术无异于如虎添翼,比起传统的原生开发(虽然Android Studio也有类似的热重载技术,但是重载速度显然没有Flutter的快)和React Native开发要方面好多。

我认为,一个技术的发展尤其是前端技术,一定要有一个快速高效的框架做支持,并且必须是有很好的IDE来配合的,从Android和iPhone原生开发的工具就可以看出,工具支持的越好,其技术发展的就越快,普及度也越高。

studio 热重载应用_使用VS Code开发Flutter应用,体验热重载技术相关推荐

  1. vscode 暂停运行_用VS Code开发STM32(三)——调试

    2020年7月26日更新: 增加了Jlink GDB Server的支持,可以使用J-Scope 和 SEGGER RTT了. 2020年7月3日更新: 改为了使用Cortex-Debug插件来进行调 ...

  2. 一对一直播app大热,使用源码或自主开发一对一APP需要了解哪些技术?...

    现今社会 ,每个人都有手机,所以app市场成了各行各业主攻市场,在短视频已经占领用户大部分时间的同时,直播行业也成了热门,也让软件开发商把战场转向直播app开发,特别是一对一直播软件开发,那么开发原理 ...

  3. studio 热重载应用_热重载 (Hot reload)

    Flutter 的热重载功能可帮助您在无需重新启动应用程序的情况下快速.轻松地测试.构建用户界面.添加功能以及修复错误.通过将更新的源代码文件注入到正在运行的 Dart 虚拟机(VM) 来实现热重载. ...

  4. Vue.js+Node.js全栈开发教程:通过Visual Studio Code开发调试Node应用

    目前,有多种开发工具可以支持Node.js应用的开发,比如: jetBrains WebStorm.Eclipse.Visual Studio Code等.这些开发工 具原则上是"条条大路通 ...

  5. 将 Visual Studio 的代码片段导出到 VS Code

    导语 和原文作者一样,水弟我现在也是使用 VS Code 和 Rider 作为主力开发工具,尤其是 VS Code 可以跨平台,又有丰富的插件支持和多种编程语言支持.当我从 VS 转移到以 VS Co ...

  6. 【错误记录】Ubuntu 中 ROOT 用户无法启动 Visual Studio Code 开发环境 ( 推荐在普通用户下使用 VSCode 开发环境 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 [开发环境]Ubuntu 安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Ub ...

  7. 【实验手册】使用Visual Studio Code 开发.NET Core应用程序

    .NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...

  8. Visual Studio Code 开发 .NET Core 看这篇就够了

    来源:依乐祝 cnblogs.com/yilezhu/p/9926078.html 在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studio Code中进行.NET Cor ...

  9. 打造TypeScript的Visual Studio Code开发环境

    打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...

最新文章

  1. Jupyter 服务开发指南
  2. pip install 报错:Versioning for this project requires either an sdist tarball, ...
  3. 开源python-文档撰写
  4. 安装 CORD 之前需要了解的术语
  5. 看完你就晓得正向代理和反向代理了!
  6. 全渠道java b2b b2c o2o平台
  7. linux C 应用消息队列在两个进程间通信
  8. spring(四):spring与mybatis结合
  9. git团队如何提交_如何使您的提交消息很棒并保持团队快乐
  10. win10 .net framework 3.5 安装报错 0x800F0954问题
  11. Linux系统安全防护加固
  12. 字节跳动李航提出AMBERT!超越BERT!多粒度token预训练语言模型
  13. mysql生成百万条数据_mysql 快速生成百万条测试数据
  14. c语言识别希腊字母吗,isalpha()
  15. 数据学习(十)-假设检验
  16. 10分钟教会你,如何用模拟量调试电机
  17. RC电路的频率响应、选频网络特性测试的分析与仿真
  18. keil工具中fromelf生成汇编代码lst文件(armcc)
  19. java根据内容生成二维码
  20. 8c sql手册 五

热门文章

  1. mysql 断言,mysql触发器模拟断言
  2. js var是什么类型_面试官问你JS基本类型时他想知道什么?
  3. Android线程创建aop,【android安卓】一个注解搞定线程切换,基于AOP的线程转换框架...
  4. 干货!!月薪过万行业,软件测试必懂的基本概念
  5. 搭建java框架写CRD_硬核:如何开发一个Operator
  6. mysql count 与sum_Mysql下count()和sum()区别
  7. java随机生成字母用三元运算符,【代码笔记】Java常识性基础补充(一)——赋值运算符、逻辑运算符、三元运算符、Scanner类、键盘输入、Random类、随机数...
  8. 自定义autograd function
  9. 植物病害鉴定真的需要深度CNN吗?
  10. C++函数参数传递--值传递和地址传递