get_cli版本演进全记录:从初版到1.9.1,Dart 3适配背后的技术决策 get_cli版本演进全记录从初版到1.9.1Dart 3适配背后的技术决策【免费下载链接】get_cliOfficial Getx CLI项目地址: https://gitcode.com/gh_mirrors/ge/get_cliget_cli 是 GetX™ 框架的官方命令行工具一条命令即可创建 Flutter / get_server 项目、生成页面、控制器、路由与数据模型。本文以 CHANGELOG.md 为线索带你从零版 Beta 一路复盘到当前 1.9.1 版本重点拆解它为了适配 Dart 3 所做的关键取舍——这些决策直接关系到你写出来的代码能不能在新版 Dart 上顺利编译。一眼看懂get_cli 版本里程碑先给出一张时间线帮助建立整体框架完整明细见CHANGELOG.md阶段版本核心变化起步期0.3.0 → 0.9.x初版 Beta、remove 命令、自动创建路由首个大版本1.0.0 → 1.1.0支持 get_server、从 JSON/URL 生成模型功能完善1.2.0 → 1.4.x双框架兼容、on子模块、CLI 国际化、getx别名语言升级1.5.0 → 1.8.2支持 null safety、替换 dcli、多语言翻译面向 Dart 31.9.0 → 1.9.1Dart 3 约束、强制 null safety、yaml 解析修复初版到 1.0从零搭建核心命令 get_cli 的第一次正式发布是0.3.0Initial Beta Release随后快速补齐了基础能力0.5.0加入get remove可以卸载依赖0.6.0加入get -v版本号命令0.7.0 ~ 0.8.8引入 CleanArktekko结构并逐步完成arc screen全套模板0.9.0创建页面时自动创建路由这是后来很多便利功能的起点。真正的分水岭是1.0.0支持 get_server 纯服务端项目1.0.1从 JSON 生成 model1.0.2进一步支持从 URL 生成1.1.0支持在指定models文件夹下批量生成。从 0.x 到 1.0 的关键词是「补齐能力」——把创建项目、页面、模型这三件最常用的事做扎实。1.2 ~ 1.4体验打磨与国际化 进入 1.x 后演进重心转向「用得爽」1.2.0getx 与 get_server双框架完全兼容get init同时支持两种项目1.3.0新增on命令支持在页面内继续创建子页面1.3.15create controller自动生成并加入 binding并新增getconnectprovider1.4.0为 CLI 本身引入国际化新增sort命令整理路由与 import1.4.4 / 1.4.5提供getx别名与-i / -c / -g快捷参数敲命令更省字。这一步让 get_cli 从「能跑」进化到「好上手」也为后续多语言文档中、德、土、意等打下基础。1.5.0 的转折null safety 正式入场 ⚡1.5.0的更新只有一行Add support to null safety。别小看它——这是应对 Dart 2.12 空安全改造的第一步。随后的 1.6.0、1.7.0 都在持续修 null-safety 相关 bugmodel 生成、Windows 路径、Arc 清理命令等。换句话说空安全适配是一个跨多个小版本的长期过程而非一次开关。1.8.2用 dcli 替换 cli_dialog 1.8.2做了一件很典型的重构用 dcli 替换掉原来的 cli_dialog。为什么要换因为dcli维护更活跃、对新 Dart 版本更友好是后续能顺利适配 Dart 3 的重要前置条件。同时这一版还给菜单加了默认值、统一了 lint。依赖选择往往是「为未来铺路」的决策——这一步在当时看不出波澜却在 1.9.0 时回报了红利。1.9.0Dart 3 适配背后的 4 个技术决策 1.9.0是本次复盘的核心。它一次性完成了面向 Dart 3 的收尾pubspec.yaml中的 SDK 约束被写死为3.0.0 4.0.0。背后的决策可以拆成四步决策一把 SDK 下限抬到 Dart 3在pubspec.yaml中明确sdk: 3.0.0 4.0.0直接放弃对旧版 Dart 的兼容。这意味着 get_cli 只服务于现代工具链换取更干净的语言特性使用。决策二强制 null safety移除可选项早期 get_cli 还保留着一个「是否开启 null safety」的开关和dart migrate迁移命令。Dart 3 时代空安全已是默认且不可关闭于是团队先移除了dart migrate迁移逻辑再彻底移除 nullsafe 选项让空安全成为强制项。这一步删掉的不是功能而是「已经过时的选择项」是典型的做减法。决策三模板代码升级为 super 参数生成 view 的模板文件lib/samples/impl/get_view.dart被改成符合 Flutter 的use_super_parameters写法例如构造函数直接写作const $_viewName({super.key})。这样 CLI 生成的新代码天生就是现代风格不会触发 lint 警告。决策四对齐 Flutter 2.10同步适配 Flutter 2.10并修复了中文翻译确保新工具链下的生成结果可用。小结1.9.0 的价值不在「加了什么」而在「敢删什么」——删掉旧兼容、删掉可选项、删掉过时写法整体向 Dart 3 收敛。1.9.1一个 yaml 解析的收尾修复 紧跟其后的1.9.1只修了一处Fix yaml parse error。这看似小修实则关键——get_cli 需要频繁解析pubspec.yaml来识别项目类型、读取依赖。解析器一抖整条创建/生成链路都会受影响因此被单独作为一个版本快速修复并合入。幕后机制get update 是怎么判断「该升级」的很多人不知道get_cli 每次运行都会做一次克制的版本检查逻辑位于lib/functions/version/version_update.dart通过CliConfig.updateIsCheckingToday()判断当天是否已检查过避免每次调用都请求网络若未检查则调用 pub 接口拉取get_cli最新版号与本地pubspec.lock中的版本号做Version比较若有新版就提示你运行get update并打印那个熟悉的 GETX 大字 Logo见lib/functions/version/print_get_cli.dart本地版本读取由lib/commands/impl/version/version.dart中的get -v命令负责。这套「每天最多查一次」的缓存设计让升级提示既及时又不打扰。新手上手如何查看与更新 get_cli 版本 ️如果你手上已经是旧版本三步跟上 1.9.1# 查看当前版本 get -v # 升级到最新版等价 get upgrade get update想通读完整变更历史也可以把仓库拉到本地再翻阅CHANGELOG.mdgit clone https://gitcode.com/gh_mirrors/ge/get_cli写在最后从 0.3.0 的 Beta 到 1.9.1get_cli 的演进主线非常清晰先补齐创建能力 → 再打磨使用体验 → 最后为 Dart 3 做减法收敛。1.9.0 的四个决策抬 SDK 下限、强制空安全、升级模板写法、对齐 Flutter 2.10正是「适配新语言」这类升级的标准姿势——与其无限兼容旧世界不如果断面向未来。理解这条脉络你既能看懂 changelog也能预判下一个大版本可能砍掉什么。【免费下载链接】get_cliOfficial Getx CLI项目地址: https://gitcode.com/gh_mirrors/ge/get_cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

华为杯研赛B题深度复盘:数学建模全流程实战与团队协作指南

华为杯研赛B题深度复盘:数学建模全流程实战与团队协作指南

1. 项目概述:一场硬核竞赛的深度复盘“满纸荒唐言,一把辛酸泪”,这不仅是曹雪芹的感慨,更是无数参加过“华为杯”中国研究生数学建模竞赛(研赛)的学子们,在提交论文那一刻最真实的内心写照。这篇…

2026/8/24 10:07:49
CodeScout:用AI增强问题陈述,提升软件智能体代码生成成功率

CodeScout:用AI增强问题陈述,提升软件智能体代码生成成功率

1. 项目概述:当AI开发者遇上“需求模糊”的困境如果你尝试过让ChatGPT、Claude或者GitHub Copilot帮你写一段代码,大概率遇到过这种情况:你描述了半天需求,它生成的代码要么跑不通,要么逻辑完全跑偏,最后你…

2026/8/24 10:07:49
从车间里一台“会说话”的电机,读懂工业物联网的底层逻辑

从车间里一台“会说话”的电机,读懂工业物联网的底层逻辑

很多人聊起工业物联网(IIoT)总觉得它是飘在云端的高大上概念,满屏都是技术术语和行业黑话,离普通开发者、离一线工厂的日常生产特别遥远。但其实你不用去翻厚厚的技术手册,只要走到任意一间普通的制造车间,…

2026/8/24 10:07:49
跳出MQTT的认知误区,读懂每一个数字背后的语义

跳出MQTT的认知误区,读懂每一个数字背后的语义

很多刚踏入工业物联网领域的开发者,入门的第一堂课往往是啃完一堆五花八门的工业通信框架,把MQTT协议玩得溜熟:从搭建Broker、调试消息推送,到完成设备端的上下行数据对接,一气呵成之后总觉得,工业物联网的…

2026/8/24 10:07:49
C++函数模板:从宏与重载的困境到泛型编程的艺术

C++函数模板:从宏与重载的困境到泛型编程的艺术

1. 函数模板:从重复劳动到通用艺术的蜕变干了这么多年C,我见过太多新手和老手在同一个问题上反复“造轮子”:写一个max函数,整型要写一个,浮点型要写一个,甚至自定义的Student类想比个大小,又得…

2026/8/24 10:07:49
无线AI控制新范式:执行端风险门控架构解析与工程实践

无线AI控制新范式:执行端风险门控架构解析与工程实践

1. 项目背景:当AI智能体遇上无线监控的“最后一公里”在工业自动化、远程医疗、无人驾驶等前沿领域,一个核心的挑战是如何让一个位于“云端”或“边缘服务器”的智能决策体(AI Agent),能够安全、可靠地控制远端的物理执…

2026/8/24 10:02:49