Universal Graphical User Interface

通用图形用户界面。(Universal Graphical User Interface.)

Github星跟蹤圖

通用图形用户界面(Universal Graphical User Interface)

UGUI 为命令行程序提供了一个界面,这个界面就是 HTML、CSS 和 JS。

使用 UGUI 可以在几分钟内创建您自己的跨平台桌面应用程序。

下载该软件

下载 UGUI 用于您的项目。

快速入门

如果你已经安装了 Node.JS

  1. 下载最新版本的 UGUI
  2. 从 zip 文件中解压缩 UGUI 文件夹
  3. npm install
  4. npm start

如果你还没有安装 Node.JS

UGUI 是什么?

  • 用于将命令行参数抽象为 UI 元素的框架。
    • 设计为强大的功能和易于使用的控制。
  • NW.js(正式的 Node-Webkit)的库,它有一个有用的工具的 API。
    • 只需在控制台中输入 ugui,就能获得大量有用的信息和常见任务的帮助函数。
  • Bootstrap:一个预先设置的项目,包含了你所需要的一切。
    • 我们为你提供了常见的元素,如导航、"关于" 信息、表单元素,以及19个预制主题供你挑选。
  • 样板文件:NW.js 常用工具的通用汇编。
    • UGUI 的项目结构可以用于任何类型的桌面应用,也可以与其他常见的 Web 框架(如 Angular 或 React)结合使用。很多基本的东西(比如 NW.js 的详细 package.json 或者制作 Tray 应用的代码)已经被处理好了。
  • 教育平台:我们相信 UGUI 可以被任何人使用,甚至那些没有编码经验的人。作为这一信念的一部分,我们从用户体验的角度出发,尽可能使其易于理解。这就是为什么在 ugui.js 中几乎每一行代码都有注释,也是为什么我们如此关注文档和教程。

我们的目标是让任何人,即使是那些没有任何编码知识的人,也能在5分钟内创建一个桌面应用程序。

制作组

People

技术


(The second edition revised by vz on 2020.09.26)

概覽

名稱與所有者UniversalGUI/UGUI
主編程語言CSS
編程語言HTML (語言數: 3)
平台Linux, Mac, Windows
許可證MIT License
發布數8
最新版本名稱v1.3.0 (發布於 )
第一版名稱v1.0.0 (發布於 )
創建於2014-09-21 12:48:48
推送於2018-08-24 19:41:33
最后一次提交2018-08-24 15:41:32
星數199
關注者數17
派生數16
提交數279
已啟用問題?
問題數9
打開的問題數8
拉請求數5
打開的拉請求數0
關閉的拉請求數0
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

UGUI Logo

Join the chat at https://gitter.im/UniversalGUI/UGUI Community forums at ugui.reddit.com

Universal Graphical User Interface

UGUI gives a face to command line programs, and that face is HTML, CSS, & JS.

Create your own cross-platform desktop applications in minutes using UGUI.


Download

Download UGUI to use it for your project:


Quick Start

If you have Node.JS installed:

  1. Download latest release of UGUI
  2. Extract the UGUI folder from the zip file
  3. npm install
  4. npm start

If you don't have Node.JS installed:


What is UGUI?

  1. Framework for abstracting command line arguments into UI elements.
    • Designed for power and control with ease of use.
  2. Library for NW.js (formally Node-Webkit) that has an API of useful tools.
    • Simply typing ugui into the console gives you a wealth of useful information and helper functions for common tasks.
  3. Bootstrap: A pre-setup project with everything you need out of the box.
    • We supply you with common elements like navigation, "about" info, form elements, and 19 premade themes to pick from.
      Animated screenshot of UGUI interface using various themes
  4. Boilerplate: A general purpose compilation of commonly used tools for NW.js.
    • UGUI's project structure can be used for any kind of desktop app, or in combination with other common web frameworks, such as Angular or React. Many basic things (such as a detailed package.json for NW.js or code for making a Tray app) are already taken care of.
  5. Educational Platform: We believe UGUI can be used by anyone, even those with no coding experience. As part of this belief we approach everything from a UX perspective of making it as easy to understand as possible. This is why nearly every line of code in ugui.js is commented, and why we put such a focus on documentation and tutorials.

Our goal is to allow anyone, even those with no prior coding knowledge, to create a desktop application in just 5 minutes.


Project Roadmap

Current Version of Master Branch: V1.3.0.a

Phase 1: The library and framwork.

  • V1.4 Multi-File import
  • V1.5 Add some type of JSHint-like library to UGUI Dev Tools to inform developers about syntax errors.
  • V1.6 NW.js plans to implement a native spellchecker in version 13, if that doesn't occur, implement one into UGUI.

Phase 2: Site: Templates, Tutorials, & Documentation

The repo for the Phase 2 website is here: github.com/UniversalGUI/UniversalGUI.github.io

  • Buy domain name: UGUI.io
  • Create a community forum for discussions
  • Create UGUI site:
  • Create Explainer and tutorial videos.
    • UGUI Explainer: In Preproduction, Script and Storyboard complete. Artwork needs made and animated. Naration needs recorded.
    • Tutorial: Comprehensive and 30 second video covering running your project for development and distribution
    • Tutorial: Getting Started with UGUI
    • Tutorial: Covering every file in the UGUI project in detail.
    • Explainer: What is NW.js? In preproduction. Some artwork created, script done.
    • Demo: Creating a desktop application using UGUI.
    • Tutorial: Advanced way
  • Create several templates based on Twitter Bootstrap for different types of applications to give people quick places to start from.
    • Hardware Pack template to be created using D3.JS library to graphically display information about hardware such as CPU and RAM usage.
    • File System Pack template to be created to display information about files in a folder, file sizes, etc.
    • 3D Pack template using OpenGL and three.js to take advantage of 3D.
    • System Tray template for windowless application using native system tray and context-menu.
    • Mega Pack which combines most of the parts from all other official template packs.
    • More general templates that just focus on different visual layouts.
    • Advanced templates for more unique CMD programs.
  • Advertise the existence of this project like crazy!

Phase 3: UGUI Designer: The wizard and automation studio

  • Ultimately I'd like to make a program that makes this whole process far less manual. The program, UGUI Designer, would have the following features:
    1. Detect all JS and CSS files, uglify, minify, concat them in to one JS and one CSS doc.
    2. Remove any files not being used in the production version (git files, sass, etc.)
    3. Ability to export project to different environments (Win 32/64, Ubuntu, OSX, etc.)
    4. Eventually the exporting function would create an installer for Windows that will check if the required version of NW.js is already installed and if not download and install it, allowing for much smaller file sizes when packaging and distributing.

Known Issues

  • Loading settings doesn't update the value of <input type="file">. It does update it's internal file list though and should be functional if ran. There seems to currently be no method of updating the value of these elements due to security restrictions originally placed in Chromium. To get around this, we visually update the EZDZ plugin to make it look as though it's been updated, this however will not make a required <input type="file"> activate as being fullfilled until the user interacts with it. To work around this you can give the EZDZ input a class of do-not-save or remove the required="required".
  • Range slider value is empty in the UGUI Arg Obj (window.ugui.args) on load. This doesn't matter though as it will get it's value when clicking run or any other form element with a data-argName, which in turn updates the UGUI Developer Toolbar's CMD Output Preview. Will not fix. Will accept pull request.

Credits

People

Technology

去到頂部