下一代 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.mfbz.cn/a/782764.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Maven Nexus3 私服搭建、配置、项目发布指南

maven nexus私服搭建 访问nexus3官方镜像库,选择需要的版本下载:Docker Nexus docker pull sonatype/nexus3:3.49.0 创建数据目录并赋权 sudo mkdir /nexus-data && sudo chown -R 200 /nexus-data 运行(数据目录选择硬盘大的卷进行挂载) docker run -d -p 808…

AI集成工具平台一站式体验,零门槛使用国内外主流大模型

目录 0 写在前面1 AI艺术大师1.1 绘画制图1.2 智能作曲 2 AI科研助理2.1 学术搜索2.2 自动代码 3 AI智能对话3.1 聊天机器人3.2 模型竞技场 4 特别福利 0 写在前面 人工智能大模型浪潮滚滚,正推动着千行百业的数智化进程。随着技术演进,2024年被视为是大…

数据库开发:mysql基础一

文章目录 数据库开发Day15:MySQL基础(一)一、MySQL介绍与安装【1】MySQL介绍(5)启动MySQL服务(6)修改root登陆密码 二、SQL简介三、数据库操作四、数据表操作4.1、数据库数据类型4.2、创建数据表…

tomcat原理、结构、设计模式

1 what 一种web服务器,运行java servlet、jsp技术,能为java web提供运行环境并通过http协议处理客户端请求。即tomcat http服务器 servlet容器。同类产品有jetty Web应用:Web应用是指通过Web浏览器访问的应用程序,它使用Web技术…

c#类型转换和常见集合类型

目录 1. 整数转换,整数和字符串,字符串和整数之间的转换怎么实现? 2. 日期转换,获取当前日期,字符串转日期,日期转字符串怎么实现? 3. 举例一维、二维、三维数组 4. 需求:有个88…

【嵌入式单片机】之RS-232、RS-485、RS-422比较

1. RS422是什么 RS422,正式名称为TIA/EIA-422,是一种串行通信标准,专为实现长距离、高可靠性的数据传输而设计。它采用差分信号传输技术,通过两对双绞线实现全双工通信,即发送和接收可以同时进行。RS422在工业自动化和远程监控系统中曾经扮演着重要角色,以其出色的抗干扰…

p标签文本段落中因编辑器换行引起的空格问题完美解决方案

目录 1.修改前的代码:2.修改后的代码3.总结 在HTML文档中,如何要在(p标签)内写一段很长的文本段落,并且没有 换行。由于IDE或者编辑器界面大小有限或需要在vue中逻辑处理动态显示文本,一行写完太长&#x…

14-46 剑和诗人20 – 减少幻觉的提示词工程

​​​​​ 概述 幻觉或“编造”是大型语言模型 (LLM) 的常见故障模式,它们会产生事实上不正确或无意义的内容。幻觉背后的一些主要原因是: 当模型不确定真正的答案时,它会试图通过捏造信息来提供过度的帮助。该模型缺乏适当的基础、背景和…

YOLOv5、v7、v8如何修改检测框文字颜色和大小

YOLOv5和YOLOv8默认的标签文字颜色为白色,但是在亮度较大的图片中文字不明显,就需要对标签文字的颜色进行修改 一、YOLOv5 打开X:\Anaconda\envs\your-env\Lib\site-packages\ultralytics\utils\plotting.py X代表你的anaconda安装的盘,yo…

格蠹汇编阅读理解

一、调试工具使用方式 WinDbg常用命令: 执行 lm 命令,可以看到进程中有几个模块。执行~命令列一下线程。用!heap 命令列一下堆。执行!address 命令可以列出用户态空间中的所有区域。搜索吧!就从当前进程用户态空间的较低地址开始搜&#xf…

基于大数据技术Hadoop的气象分析可视化大屏设计和实现

博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c等开发语言,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架…

Android - 手势

Android 提供特殊类型的触摸屏事件,例如捏合、双击、滚动、长按和退缩。 这些都被称为手势。 Android 提供了 GestureDetector 类来接收运动事件并告诉我们这些事件是否对应手势。 要使用它,您需要创建一个 GestureDetector 对象,然后使用 Ge…

SpringBoot源码阅读(1)——环境搭建

SpringBoot官网 官网 https://spring.io/projects/spring-boot 代码仓库 github:https://github.com/spring-projects/spring-boot gitee: https://gitee.com/mirrors/spring-boot 下载代码 git clone https://gitee.com/mirrors/spring-boot.git下载的代码中有些…

如何看自己电脑的ip地址?这些方法教你搞定

在数字化时代,网络已经成为我们生活中不可或缺的一部分。对于每一个接入网络的设备来说,IP地址就像是一个独特的身份证,它标识着设备在网络中的位置。对于电脑用户而言,了解如何查看自己电脑的IP地址,不仅有助于我们更…

满足信创环境运行的国产FTP服务器是什么样的?

2018 年以来,受“华为、中兴事件”影响,我国科技尤其是上游核心技术受制于人的现状对我 国经济发展提出了严峻考验。在全球产业从工业经济向数字经济升级的关键时期,中国明确 “数字中国”建设战略, 抢占数字经济产业链制高点。 在…

【Python】已解决:(paddleocr导包报错)ModuleNotFoundError: No module named ‘paddle’

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:(paddleocr导包报错)ModuleNotFoundError: No module named ‘paddle’ 一、分析问题背景 近日,一些使用PaddleOCR库进行文字…

西安电子科技大学833、834学长经验分享(初复试总成绩第一、机试第二)

考研经验分享 首先自我介绍。2024考研上岸西安电子科技大学计算机学硕,初试成绩 390 分,复试成绩第一,初复试总成绩第一,机试第二,跟着研梦全程班上岸。 成绩单: 本文主要分为以下几个部分:【…

可视化作品集(09):可视化运维大屏不可或缺。

可视化大屏在可视化运维上有很多价值,而且应用十分普遍,本文给老铁们分享一下。 1. 实时监控:可视化大屏可以实时展示系统运行状态、设备状态、生产数据等信息,使运维人员能够及时发现问题并做出相应的处理。 2. 数据分析&#x…

资源分享—2021版三调符号库

汇总整理平台软件支持过程中客户项目提供的各类资源(包括但不限于符号库、地图模板等),在客户允许情况下进行集团内分享。 本次分享新版国土空间规划【三调符号库(2021版)】,提供SuperMap格式符号库下载。 …

2 ECMAScript

JavaScript 概述 JavaScript 编程语言允许你在 Web 页面上实现复杂的功能;如果你看到一个网页不仅仅显示静态的信息,而是显示依时间更新的内容,或者交互式地图,或者 2D/3D 动画图像,或者滚动的视频播放器,等等——你基本可以确定,这需要 JavaScript 的参与 JavaScript 编程语言…