下一代 CLI 工具,使用Go语言用于构建令人惊叹的网络应用程序

大家好,今天给大家分享一个创新的命令行工具Gowebly CLI,它专注于使用Go语言来快速构建现代Web应用程序。

Gowebly CLI 是一款免费开源软件,有助于在后端使用 Go、在前端使用 htmx 和 hyperscript 以及最流行的 CSS 框架轻松构建令人惊叹的 Web 应用程序。

CLI 生成一个随时可用的项目,有助于尽快理解 Go + htmx 技术堆栈,并以最大的开发人员舒适度开始使用它。许多项目元素已经经过优化配置并准备好投入生产。

项目介绍

Golang是一种静态类型编译语言,以简单高效而闻名,非常适合 Web 应用程序开发。Gowebly CLI 利用这些优势,并结合 htmx 和 Alpine.js 的灵活性进行前端开发。

htmx 允许您直接在 HTML 中访问 AJAX、CSS Transitions、WebSockets 和服务器发送事件,而无需编写 JavaScript。

另一方面,Alpine.js 以低成本提供了 Vue 或 React 等大型框架的反应性和声明性。这些技术共同为 Web 开发提供了强大而高效的解决方案。

特色功能

  • 在 Apache 2.0 许可证下 100% 免费和开源。
  • 使用简单,智能 CLI 都会为您完成大部分常规项目设置、创建易于理解的结构,并准备在生产中使用和部署的代码。
  • 跨平台和多架构允许在任何 GNU/Linux 发行版、Microsoft Windows(包括 WSL)和 Apple macOS 上成功运行。
  • 文档齐全,包括许多其他语言的翻译(Русский、简体中文、西班牙语)。
  • 使您能够使用 Go、htmx、hyperscript 或 Alpine.js 库更快地启动新项目。
  • 支持内置的 net/http 包以及最流行的 Go Web 框架和开箱即用的路由器,例如 Fiber、Gin、Echo、Chi、HttpRouter、Gorilla/Mux 和 PocketBase。
  • 开箱即用地支持最流行的 CSS 框架,例如 Tailwind CSS、daisyUI、Flowbite、Preline UI、UnoCSS、Bootstrap 和 Bulma。
  • 前端支持新 JavaScript 运行时环境Bun。
  • 支持使用 Temple 包通过 Go 构建 HTML 的方法。
  • 使用 Air 工具支持 Go 代码和前端文件的实时重新加载模式。
  • 包括用于快速设置的 golangci-lint 基本配置。
  • 即用型 Dockerfile 和 Docker Compose 文件可在任何环境中部署您的应用程序。
  • 可以作为 PWA(渐进式 Web 应用程序)安装在浏览器或移动设备中。
  • 拥有一个用户友好的 Go 代码帮助程序库。

安装使用

使用 Golang

首先,你应该在机器上安装 Go 语言。确保版本为 1.22.0 及以上。

然后运行:

go run github.com/gowebly/gowebly/v2@latest create

使用 Homebrew 安装

添加新仓库

brew tap gowebly/tap

安装 Gowebly

brew install gowebly/tap/gowebly

在 Windows、Ubuntu 和 Fedora 上安装

从Github发布页面下载 适用于 Windows、 deb (适用于 Debian、Ubuntu)、 rpm (适用于 CentOS、Fedora)、 apk (适用于 Alpine)或 Arch Linux 软件包的 现成 文件 。

创建你的第一个应用

要在 gowebly 中创建应用程序,您需要运行:

go run github.com/gowebly/gowebly/v2@latest create

或者

gowebly create

创建的项目包含以下文件和文件夹:

  • 模板位于 ./templates 文件夹中。
  • 主 CSS 文件 styles.scss 位于 ./assets 文件夹中。
  • 主 JavaScript 文件 scripts.js 位于该 ./assets 文件夹中。
  • PWA 清单文件 manifest.json 和图像位于该 ./static 文件夹中。

目录结构

.
├── assets
│   ├── scripts.js
│   └── styles.scss
├── static
│   ├── images
│   │   └── gowebly.svg
│   ├── apple-touch-icon.png
│   ├── favicon.ico
│   ├── favicon.png
│   ├── favicon.svg
│   ├── manifest-desktop-screenshot.jpeg
│   ├── manifest-mobile-screenshot.jpeg
│   ├── manifest-touch-icon.svg
│   └── manifest.json
├── templates
│   ├── pages
│   │   └── index.html
│   └── main.html
├── .air.toml
├── .dockerignore
├── .gitignore
├── .prettierignore
├── docker-compose.yml
├── Dockerfile
├── go.mod
├── go.sum
├── handlers.go
├── main.go
├── package.json
├── prettier.config.js
└── server.go

运行项目

要以开发模式运行您的项目,请执行运行命令:

go run github.com/gowebly/gowebly/v2@latest run

或者

gowebly run

项目地址

https://github.com/gowebly/gowebly

下一代 CLI 工具,使用Go语言用于构建令人惊叹的网络应用程序 - BTool博客 - 在线工具软件,为开发者提供方便 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

入门PHP就来我这(高级)15 ~ 图书删除功能

有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享 路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。 今天给大家接着上篇文章实现图书删除功能,来实现删除图书信息记录行的功能。 1 删…

高颜值官网(3):家居用品网站12个,好的创意都在这里。

hello,大家好,我是大千UI工场,本文为大家带来家居用品网站UI,供大家欣赏。

项目代码优化(1)——下单逻辑

给一个电商开发的系统排查,发现漏洞很多。很多经验不够的开发者很容易忽视的逻辑错误陷阱。在给一个项目做二次开发时候,检测到的相关经典案例。这里整理支付和产品相关的逻辑,方便后续查看。,这里进行一些简单的逻辑漏洞梳理与修…

Ubuntu 22.04 LTS 上安装 MySQL8.0.23(在线安装)

目录 在线安装MySQL 步骤1:更新软件包列表 步骤2:安装MySQL服务器 步骤3:启动MySQL服务 步骤4:检查MySQL状态 步骤5:修改密码、权限 在线安装MySQL 步骤1:更新软件包列表 在进行任何软件安装之前&a…

p9函数(1)

int Add(int x,int y) { int z0; zxy; return z; } int main() { int a10; int b20; int sumAdd(a,b); printf("%d\n",sum); return 0; } 字符串求长度 int main() { char arr1[]"bit"; char arr2[20]"###…

移动UI: 什么特征会被认为是简洁风格,用案例告诉你

什么是简洁风格,恐怕一百个人有一百个是理解,本文通过理论分析案例的方式进行探讨。 移动 UI 中的简洁风格通常具有以下几个特征: 1. 平面化设计: 简洁风格的移动 UI 善于运用平面化设计,即去除过多的阴影、渐变和立…

水冷液冷负载系统的六种基本类型

您可以选择六种基本类型的冷却系统,以满足负载的冷却需求。每个人都有其优点和缺点。本文旨在识别不同类型的冷却系统并确定它们的优缺点,以便您可以根据自己的需求做出明智的选择。 液体冷却系统有六种基本类型: 1.液对液 2.闭环干燥系统…

深度讲解 UUID/GUID 的结构、原理以及生成机制

目录 一. 前言 二. 被广泛使用 三. UUID 的结构 3.1. 必须了解的 3.2. 十六进制数字字符(hexDigit) 3.3. UUID 基本结构 3.4. 类型(变体)和保留位 3.5. 版本(子类型) 3.6. 时间戳 3.7. 时钟序列 …

管理《欧盟数字服务法》交易者要求

《数字服务法》合规性 根据《数字服务法》(DSA) 的要求,对于在欧盟地区 (EU) 通过 App Store 分发 App 的所有交易商,Apple 需要验证并显示其联系信息。请指明你是否将以交易商或非交易商的身份在欧盟地区分发任何内容。进一步了解你是否应为交易商。 …

[激光原理与应用-101]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 5 - 3C行业应用 - 电子布局类型

目录 前言: 一、激光在3C行业的应用概述 1.1 概述 1.2 激光焊接在3C-电子行业应用 二、3C电子行业中激光焊接 2.1 纽扣电池 2.2 均温板 2.3 指纹识别器 2.4 摄像头模组 2.5 IC芯片切割 三、3C行业中激光切割 四、激光在3C行业中的其他应用 4.1 涂层去除…

Golang | Leetcode Golang题解之第222题完全二叉树的节点个数

题目&#xff1a; 题解&#xff1a; func countNodes(root *TreeNode) int {if root nil {return 0}level : 0for node : root; node.Left ! nil; node node.Left {level}return sort.Search(1<<(level1), func(k int) bool {if k < 1<<level {return false}…

ubuntu22.04+pytorch2.3安装PyG图神经网络库

ubuntu下安装torch-geometric库&#xff0c;图神经网络 开发环境 ubuntu22.04 conda 24.5.0 python 3.9 pytorch 2.0.1 cuda 11.8 pyg的安装网上教程流传着许多安装方式&#xff0c;这些安装方式主要是&#xff1a;预先安装好pyg的依赖库&#xff0c;这些依赖库需要对应上pyth…

【Dison夏令营 Day 12】如何用 Python 构建数独游戏

通过本综合教程&#xff0c;学习如何使用 Pygame 在 Python 中创建自己的数独游戏。本指南涵盖安装、游戏逻辑、用户界面和计时器功能&#xff0c;是希望创建功能性和可扩展性数独益智游戏的爱好者的理想之选。 数独是一种经典的数字谜题&#xff0c;多年来一直吸引着谜题爱好…

昇思MindSpore25天学习Day19:CycleGAN图像风格迁移互换

(TOC)[CycleGAN图像风格迁移呼唤] 模型介绍 模型简介 CycleGAN(Cycle Generative Adversaial Network)即循环对抗生成网络&#xff0c;来自论文Link:Unpaired lmage-to-mage Translation using Cycle-Consistent AdvesairalNetworks该模型实现了—种在没有配对示例的情况下学…

从nginx返回404来看http1.0和http1.1的区别

序言 什么样的人可以称之为有智慧的人呢&#xff1f;如果下一个定义&#xff0c;你会如何来定义&#xff1f; 所谓智慧&#xff0c;就是能区分自己能改变的部分&#xff0c;自己无法改变的部分&#xff0c;努力去做自己能改变的&#xff0c;而不要天天想着那些无法改变的东西&a…

麒麟桌面操作系统上网络设置界面消失的解决方法

原文链接&#xff1a;麒麟桌面操作系统上网络设置界面消失的解决方法 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于麒麟桌面操作系统上网络设置界面消失解决方法的文章。在使用麒麟桌面操作系统时&#xff0c;可能会遇到网络设置界面突然消失的情况&#xff…

斯坦福CS224n深度学习培训营课程

自然语言处理领域的经典课程涵盖了从基础知识到最新研究的全面内容。本培训营将精选课程内容&#xff0c;结合实际案例和项目实践&#xff0c;带领学员深入探索自然语言处理的前沿&#xff0c;学习最先进的深度学习技术。 课程大小&#xff1a;2.6G 课程下载&#xff1a;http…

四自由度SCARA机器人的运动学和动力学matlab建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 针对SCARA 机器人系统进行了深入研究与探讨&#xff0c;提出SCARA机器人的动力学模型和运动学模型&#xff0c;并以MATLAB软件为仿真平台&#xff0c;通过MATLAB Robotics Too…

java核心-泛型

目录 概述什么是泛型分类泛型类泛型接口泛型方法 泛型通配符分类 泛型类型擦除分类无限制类型擦除有限制类型擦除 问题需求第一种第二种 概述 了解泛型有利于学习 jdk 、中间件的源码&#xff0c;提升代码抽象能力&#xff0c;封装通用性更强的组件。 什么是泛型 在定义类、接…

二手闲置平台小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;卖家管理&#xff0c;商品分类管理&#xff0c;商品信息管理&#xff0c;商品购买管理&#xff0c;商品配送管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;商品信息&a…