云端IDE开发Flutter应用全流程指南
引言
云端IDE是基于云的集成开发环境,开发人员可以远程编写运行和调试代码,无需本地安装,仅通过浏览器即可开发软件。
与传统本地开发相比,云端开发环境主要有以下的优势:
- 快速启动项目进入开发状态,无需进行繁琐的环境配置;
- 可根据项目需求灵活调节硬件成本;
- 提供在线预览与协同编程,更好的共享和协作;
- 可方便地集成更多devops能力。
产品简介
- Cloud Studio 是腾讯云下的一款基于浏览器的集成式开发环境(IDE),开发者根据其提供的编码模版和预设好的开发环境可以很方便地进行项目开发和页面预览
- CODING提供一站式研发管理平台及云原生开发工具,包括代码仓库、CI/CD、制品库、自动化测试等
本文将介绍一个完整流程:用Cloud Studio实现Flutter项目的云端编程,再利用CODING的代码仓库托管代码、CI流水线实现自动打包APK文件并存储在制品库。
项目准备
我们以Flutter团队提供的一个教程项目为例子,演示仅通过浏览器实现一个Flutter项目开发的全过程。
创建项目
首先,在CODING中新建一个项目,命名并填写项目相关信息。如没有CODING团队,需要先进行免费注册。
代码拉取
创建完项目之后,即可在左边栏中进入代码仓库创建仓库拉取项目代码,这里我们选择点击导入。
填写仓库地址并进行命名,点击完成创建,等待仓库导入成功后,即可看到项目代码,第一步项目准备完成。
在线编码
在上一步中,我们完成了项目准备,现在,我们可以在Cloud Studio中导入这个项目,进行代码编写、调试和预览。
创建工作空间
由于CODING和Cloud Studio实现了账号互通,我们可以用CODING账号登录,完成账号授权。
登录完成后,在左下角点击创建工作空间,导入CODING内的代码仓库,并且选择预设好Flutter环境的开发环境,点击创建,等待几秒,一个崭新的工作空间即创建完成。
安装插件与依赖
Cloud Studio与VS Code一样,集成了许多开发插件。我们可以通过在线安装插件来增强使用体验。
在左边栏选择扩展,安装Flutter和Dart插件,下载完成中点击重新加载即可完成插件安装。
打开终端,我们还需要初始化项目的依赖:
# 加载项目依赖
flutter pub get
提示Dart版本太低,我们需要先更新Flutter。
# 更新flutter版本,先后执行以下命令
flutter upgrade
flutter pub get
再次执行flutter pub get
完成依赖加载。
项目启动/调试
执行完上一步的前置步骤后,现在,我们可以启动项目。
Cloud Studio可以快速生成预览链接,方便分享他人展示项目或在线调试。
首先执行run命令,将项目以web方式启动到9000端口。
# 启动
flutter run -d web-server --web-port 9000
点击内置浏览器,即可看到预览效果,我们可以将这个链接分享给他人,他们可以远程打开该链接。
接下来,我们将演示如何修改代码,并通过项目热加载快速看到修改结果。
我们将会添加左边导航栏的图标,以便用户快速浏览前置图标以找到所需标签页。找到lib/src/shared/router.dart
,替换icon代码,为每个导航目的地(首页、播放列表和用户)添加不同的前置图标。
const List<NavigationDestination> destinations = [
NavigationDestination(
icon: Icon(Icons.home_outlined),
selectedIcon: Icon(Icons.home),
label: 'Home',
),
NavigationDestination(
icon: Icon(Icons.queue_music_outlined),
selectedIcon: Icon(Icons.queue_music),
label: 'Playlists',
),
NavigationDestination(
icon: Icon(Icons.person_outlined),
selectedIcon: Icon(Icons.person),
label: 'Profile',
),
];
修改完成后,在终端中输入q
进行热加载。等待片刻,刷新页面即可看到最新的效果。
提交代码
Cloud Studio也提供了图形化的源代码管理界面,左侧点击源代码管理,暂存我们刚刚修改了的文件,填写commit message,点击提交和同步更改,即可提交代码到CODING。
至此,我们已经在Cloud Studio完成了编写、调试和预览,通过重复迭代,我们开发了一个满意的代码版本。
接下来,我们一起看看如何通过CODING持续集成流水线实现自动化打包。
CODING打包apk制品
首先,介绍一下什么是持续集成:
什么是持续集成?
当提交了一部分修改完成的代码后,我们总是希望可以快速得到直观且有效的反馈,及早暴露问题。在开发过程中总有一部分工作是相对机械化,易出错的(例如打包、部署)。为何不将这部分工作交给机器来做呢?仅需要轻点鼠标,起身泡杯咖啡,将部署与发布的事宜交由持续集成,把时间花在更有价值的事物上。
CODING持续集成便是专门为此工作流而设计的得力功能。通过对每次提交的代码进行自动化的代码检查、单元测试、编译构建、甚至自动部署与发布,能够大大降低开发人员的工作负担,减少许多不必要的重复劳动,持续提升代码质量与开发效率。毫无疑问,持续集成是开发者与研发团队的福音。
因此,像代码打包这种重复性的工作,我们可以交给持续集成来完成,以下是使用步骤。
首先我们在项目的制品管理中新建一个制品,用于存放生存的apk文件。
然后在左侧导航栏点击持续集成,新建一个构建计划。
在自定义构建过程中选择我们刚刚创建的仓库,点击确认进入流水线编辑。
本次Flutter的打包分为4个部分:
- jdk升级(由于CODING构建机默认是jdk 1.8,我们需要升级成jdk 11)
- 代码检出
- 打包apk
- 推送到制品仓库
完成流水线后,点击立即构建。如下图,流水线已经构建成功,进入制品仓库中可以看到构建后的apk制品。
iOS应用打包与发布
对于iOS开发者来说,打包和发布流程相对复杂,需要处理证书、描述文件等繁琐步骤。这时可以借助AppUploader这样的iOS开发助手工具来简化流程。
AppUploader是一款专为iOS开发者设计的工具,主要功能包括:
- 一键生成iOS证书和描述文件
- 简化ipa包上传到App Store Connect的过程
- 提供直观的界面管理应用版本和元数据
- 支持批量处理多个应用的发布流程
使用AppUploader可以显著减少iOS应用发布的时间成本,特别适合需要频繁更新应用的开发团队。
总结
至此,我们通过Cloud Studio和CODING配合使用,只使用浏览器实现了一个Flutter项目在云端的创建、开发、管理、打包的全过程。
另外Cloud Studio还给我们提供了许多编程语言的模版和开发环境,也集成了结合腾讯云Serverless技术,把前端开发项目、静态建站项目开发的部署复杂度降到最低,一键即可完成线上部署。
loud Studio和CODING配合使用,只使用浏览器实现了一个Flutter项目在云端的创建、开发、管理、打包**的全过程。
另外Cloud Studio还给我们提供了许多编程语言的模版和开发环境,也集成了结合腾讯云Serverless技术,把前端开发项目、静态建站项目开发的部署复杂度降到最低,一键即可完成线上部署。
不仅如此,Cloud Studio中还有一个metawork协同套件,可以支持多人线上协同编码,可以跟同学、同事共同线上开发,实现coding anytime anyway!