搜索插件、代码仓与 APP 分类

插件详情v10.4.7

dcli

Dart 控制台 SDK - 使用 Dart 编写控制台 (CLI) 应用/脚本。

macOSWindowsLinux
近 30 天下载
5.9万
喜欢数
226
Pub 分数
150

安装插件

flutter pub add dcli

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

dcli 是一个专为构建命令行界面(CLI)应用程序和脚本而设计的 Dart SDK。它提供了一套丰富的工具,用于与控制台交互、管理文件和目录、处理系统进程以及解析命令行参数。专为 Dart 开发者打造,dcli 简化了在 macOS、Windows 和 Linux 上无缝运行的跨平台 CLI 工具的编写。通过直观的输入/输出、文件操作和 shell 集成 API,dcli 简化了自动化脚本和开发工具的开发。对于希望在终端环境中利用 Dart 的性能和简洁性的用户来说,它是理想之选。

适合场景

  • 构建自动化脚本
  • 创建开发者工具
  • 编写跨平台 CLI 工具
  • 管理文件系统操作
  • 解析命令行参数
  • 执行 shell 命令

主要特点

  • 跨平台支持(macOS、Windows、Linux)
  • 丰富的控制台输入/输出处理
  • 文件和目录操作
  • 进程执行和管理
  • 命令行参数解析
  • 内置的 shell 脚本功能

适合对象

  • 面向 CLI 工具的 Dart 开发人员
  • 自动化脚本创建者
  • DevOps 工程师
  • 开发工作流的工具构建者
  • 偏好 Dart 而非其他脚本语言的用户

使用建议

  • 需要掌握 Dart 的基础知识
  • 仅限命令行界面聚焦的用例
  • 可能需要额外的依赖项来完成复杂任务
  • 不适用于GUI或Web应用程序
  • 仅在终端环境中使用效果最佳

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

pub package Pub Version (including pre-releases) pub publisher Pub Likes Pub Popularity Pub Points

README

See the online documentation for DCli

DCli is an API and tooling for building cross platform command line (CLI) applications and scripts using the Dart programming language.

DCli - pronounced d-cli

Overview

DCli is intended to to allow you to create Command Line (CLI) Applications from simple scripts to full blown CLI apps.

DCli is a great replacement for CLI apps that would have traditionally been built with Bash, C, python, ruby, Go, Rust ....

Whether its a 5 line Bash script or a 100,000 line production management system (like we run internally) DCli is the right place to start building your CLI infrastructure.

So why DCli?

DCli is based on Dart which is a modern programming language that has a set of features that makes building CLI apps easy and reliable.

  • Dart and DCli are simple to learn
  • Compiled or JIT
  • Shebang support (run .dart scripts directly from the cli ./hello.dart)
  • Small transportable execs (from 10MB), Dart VM is NOT required on target system.
  • Typesafe language catches errors at compile time
  • Sound null safety reduces null pointer exceptions
  • Fast
  • Great development environment using vs-code
  • Local and Remote development/debugging
  • Cross platform supporting Linux/Windows/osx/arm

Sponsored by OnePub

Help support DCli by supporting OnePub, the private dart repository. OnePub allows you to privately share dart packages between your own projects or with colleagues. Try it for free and publish your first private package in seconds.

https://onepub.dev

Publish a private package in six commands:

dart pub global activate onepub
onepub login
dcli create --template=full myclipackage
cd myclipackage
onepub pub private
dart pub publish

You can now activate your dcli script from any system with dart installed

dart pub global activate onepub
onepub login
onepub pub global activate myclipackage

Example:

#! /usr/bin/env dcli

import 'dart:io';
import 'package:dcli/dcli.dart';

void main() {
  var name = ask('name:', required: true, validator: Ask.alpha);
  print('Hello $name');

}

To run the above script called hello.dart:

./hello.dart

So why is DCli different?

DCli is based on the relatively new programming language; Dart.

Dart is currently the fastest growing language on github and is the basis on which Flutter is built.

Ubuntu has just announced that Flutter will be the primary platform for building GUI's on Ubuntu and is currently working on replacing the Ubuntu installer using Flutter.

You can now use Dart to build GUI's on Android, IOS, Windows, OSX, Linux and the Web, server side applications and with DCli you can also target console apps.

Imagine the benefits of using a single language across you complete ecosystem.

Dart is a simple to learn, and uses the all too familiar 'C' style syntax. I've heard Dart described as the love child of Java and JavaScript. If you come from either of these environments you will find Dart easy to work with.

Being easy to learn also helps with the maintenance cycle of you CLI apps. You no longer need a specialised developer, as anyone that has even a vague familiarity with Java, Javascript or C, ... will be right at home with Dart in a couple of days.

Dart and DCli are easy to install; DCli makes it a breeze to create simple scripts and provides the tools to manage a script that started out as 100 lines but somehow grew to 10,000 lines.

Dart has is also a large and growing ecosystem of third party libraries that you can include in your CLI app with no more than an import statement and a dependency declaration.

Dart is fast and if you need even more speed it can be compiled to a single file executable that is portable between binary compatible machines.

# compile, install to the local PATH and run hello.dart

$> dcli compile --install hello.dart
$> hello
name: brett
Hello brett


# copy to a remote machine (where dart is NOT installed)
$> scp hello remote.domain.com:

# login to remote machine and run the app hello
$> ssh remote.domain.com
./hello
name: brett
Hello brett

You can use your favourite editor to create DCli scripts. Vi or VIM work fine but Visual Studio Code is recommended.

Use Visual Studio Code for the best development experience with Dart.

Visual Studio Code with the dart-code extension provide a great development an debugging experience including the ability to develop and debug code on a remote server.

Contributing

Read the contributing guide for details on how to get involved.

所属分类

依赖

依赖清单 34 项

源码仓库

使用此插件的项目