studio 热重载应用_使用VS Code开发Flutter应用,体验热重载技术
如果你和我一样也是一个开发人员,你有没有遇到过下面的问题:
你打开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应用,体验热重载技术相关推荐
- vscode 暂停运行_用VS Code开发STM32(三)——调试
2020年7月26日更新: 增加了Jlink GDB Server的支持,可以使用J-Scope 和 SEGGER RTT了. 2020年7月3日更新: 改为了使用Cortex-Debug插件来进行调 ...
- 一对一直播app大热,使用源码或自主开发一对一APP需要了解哪些技术?...
现今社会 ,每个人都有手机,所以app市场成了各行各业主攻市场,在短视频已经占领用户大部分时间的同时,直播行业也成了热门,也让软件开发商把战场转向直播app开发,特别是一对一直播软件开发,那么开发原理 ...
- studio 热重载应用_热重载 (Hot reload)
Flutter 的热重载功能可帮助您在无需重新启动应用程序的情况下快速.轻松地测试.构建用户界面.添加功能以及修复错误.通过将更新的源代码文件注入到正在运行的 Dart 虚拟机(VM) 来实现热重载. ...
- Vue.js+Node.js全栈开发教程:通过Visual Studio Code开发调试Node应用
目前,有多种开发工具可以支持Node.js应用的开发,比如: jetBrains WebStorm.Eclipse.Visual Studio Code等.这些开发工 具原则上是"条条大路通 ...
- 将 Visual Studio 的代码片段导出到 VS Code
导语 和原文作者一样,水弟我现在也是使用 VS Code 和 Rider 作为主力开发工具,尤其是 VS Code 可以跨平台,又有丰富的插件支持和多种编程语言支持.当我从 VS 转移到以 VS Co ...
- 【错误记录】Ubuntu 中 ROOT 用户无法启动 Visual Studio Code 开发环境 ( 推荐在普通用户下使用 VSCode 开发环境 )
文章目录 一.报错信息 二.解决方案 一.报错信息 在 [开发环境]Ubuntu 安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Ub ...
- 【实验手册】使用Visual Studio Code 开发.NET Core应用程序
.NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...
- Visual Studio Code 开发 .NET Core 看这篇就够了
来源:依乐祝 cnblogs.com/yilezhu/p/9926078.html 在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studio Code中进行.NET Cor ...
- 打造TypeScript的Visual Studio Code开发环境
打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...
最新文章
- Jupyter 服务开发指南
- pip install 报错:Versioning for this project requires either an sdist tarball, ...
- 开源python-文档撰写
- 安装 CORD 之前需要了解的术语
- 看完你就晓得正向代理和反向代理了!
- 全渠道java b2b b2c o2o平台
- linux C 应用消息队列在两个进程间通信
- spring(四):spring与mybatis结合
- git团队如何提交_如何使您的提交消息很棒并保持团队快乐
- win10 .net framework 3.5 安装报错 0x800F0954问题
- Linux系统安全防护加固
- 字节跳动李航提出AMBERT!超越BERT!多粒度token预训练语言模型
- mysql生成百万条数据_mysql 快速生成百万条测试数据
- c语言识别希腊字母吗,isalpha()
- 数据学习(十)-假设检验
- 10分钟教会你,如何用模拟量调试电机
- RC电路的频率响应、选频网络特性测试的分析与仿真
- keil工具中fromelf生成汇编代码lst文件(armcc)
- java根据内容生成二维码
- 8c sql手册 五
热门文章
- mysql 断言,mysql触发器模拟断言
- js var是什么类型_面试官问你JS基本类型时他想知道什么?
- Android线程创建aop,【android安卓】一个注解搞定线程切换,基于AOP的线程转换框架...
- 干货!!月薪过万行业,软件测试必懂的基本概念
- 搭建java框架写CRD_硬核:如何开发一个Operator
- mysql count 与sum_Mysql下count()和sum()区别
- java随机生成字母用三元运算符,【代码笔记】Java常识性基础补充(一)——赋值运算符、逻辑运算符、三元运算符、Scanner类、键盘输入、Random类、随机数...
- 自定义autograd function
- 植物病害鉴定真的需要深度CNN吗?
- C++函数参数传递--值传递和地址传递