日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

Yao 0.10.2 正式發(fā)布 你好零代碼(你好零零后這個綜藝節(jié)目的演員有誰)

無代碼開發(fā)平臺是可以讓程序設(shè)計者及一般用戶不用傳統(tǒng)程序設(shè)計語言即可以開發(fā)應用程序的開發(fā)平臺,使用的是圖形用戶界面(GUI)以及配置。(維基百科)

在一些特定場景中, 使用圖形界面開發(fā), 確實可以有效的提升程序開發(fā)的生產(chǎn)力, 也有很多優(yōu)秀的實踐案例。

然而, 這種開發(fā)效率提升, 是以犧牲通用性、無法精確掌控邏輯、應用必須與平臺深度綁定、存在數(shù)據(jù)泄露風險、甚至無法掌控業(yè)務(wù)數(shù)據(jù)為代價。

不僅如此, 應對一些常見場景, 通過 ”托拉拽“ 編程更低效。 比如:

  1. 一張數(shù)據(jù)表有 100 個字段, 使用托拉拽配置一個數(shù)據(jù)管理表格。
  2. 一個業(yè)務(wù)系統(tǒng)有 200 張數(shù)據(jù)表, 使用圖形界面配置出管理后臺。
  3. 在沒有數(shù)據(jù)分析平臺的前提下, 一個業(yè)務(wù)指標統(tǒng)計涉及到多張表查詢和復雜的數(shù)據(jù)處理。

Yao 沒有采用大力出奇跡的辦法, 而是換了一個新思路, 去解決這些問題。

Yao v0.10.2 重構(gòu)了界面引擎、新增 Studio CLI、DSL 編寫處理器, 發(fā)布了 Yao BrAIn 平臺 (DEMO 版)。

基于這些新特性, 開發(fā)者可以輕松根據(jù)上下文邏輯, 用程序編程序, 開發(fā)出 真無代碼 產(chǎn)品。

Yao Admin

為了演示效果, 我們用 Yao 開發(fā)了一個通用管理后臺 Yao Admin。

無需 ”托拉拽“, 連接數(shù)據(jù)庫, 你就有了一個管理后臺

稍加完善后, Yao Admin 將作為一個獨立的產(chǎn)品發(fā)布, 了解更多特性可以訪問代碼倉庫。

代碼倉庫: https://Github.com/YaoApp/yao-admin

開源協(xié)議: Apache-2.0

Yao 是什么?

Yao 0.10.2 正式發(fā)布 你好零代碼(你好零零后這個綜藝節(jié)目的演員有誰)

Yao 是一款開源應用引擎, 使用 Golang 編寫, 下載即用。適合開發(fā)業(yè)務(wù)系統(tǒng)、REST API、管理后臺、自建低代碼平臺等。

GitHub 倉庫: https://github.com/yaoapp/yao

Github Stars: 4.8K

開源協(xié)議: Apache 2.0

官方文檔: https://yaoapps.com/doc

Yao vs 低代碼/無代碼平臺

與大部分低代碼平臺相比, Yao 有更好的通用性、應用獨立發(fā)布(可申請軟著)、非一次性代碼,可持續(xù)迭代升級、不限于”托拉拽“, 有多種編寫方式等優(yōu)勢。

應用獨立發(fā)布

Yao 0.10.2 正式發(fā)布 你好零代碼(你好零零后這個綜藝節(jié)目的演員有誰)

與大部分低代碼平臺不同, Yao 是給開發(fā)者使用的應用開發(fā)工具和運行時。

使用 Yao 開發(fā)的應用, 代碼獨立發(fā)布(可申請軟著), 無縫對接云原生工具鏈, 與使用 PHP, NodeJS腳本語言開發(fā)的應用無差別。

非一次性代碼

不同于代碼生成器, Yao DSL 開發(fā)者可閱讀、可以編寫, 開發(fā)者可精確掌控業(yè)務(wù)邏輯, 應用可持續(xù)迭代升級。

應用引擎全量開源, 技術(shù)團隊可完全掌控全部代碼。

Table DSL 示例:

{ "name": "::Bind Model", "action": { "bind": { "model": "pet", "option": { "form": "pet" } }, "search": { "process": "scripts.pet.Search", "default": [null, 1, 5] } }}

可替代腳本語言

Yao 內(nèi)建 JavaScript Runtime, 可以使用腳本實現(xiàn) 95% 以上常見業(yè)務(wù)邏輯。

這使得 Yao 具備腳本語言的基礎(chǔ)能力, 大部分場景下可以代替腳本語言使用。

多種編程方式

Yao 應用有多種編程方式,且這些編程方式可以隨意切換。

  1. 支持手工編寫, 開發(fā)者可以使用任意編程工具編寫調(diào)試。
  2. 支持程序生成, 根據(jù)上下文邏輯, 自動生成 DSL 或腳本代碼, 甚至可以接入 AI 讓人工智能編程序。
  3. 支持可視化編程, 使用 Studio 通過托拉拽圖形編程工具制作。

新特性

新界面

Yao 0.10.2 正式發(fā)布 你好零代碼(你好零零后這個綜藝節(jié)目的演員有誰)

v0.10.2 重構(gòu)了 XGEN 界面引擎, 同時優(yōu)化界面描述 DSL, 使用 Yao 開發(fā)業(yè)務(wù)系統(tǒng)、管理后臺等類型應用更方便。

Bind

在 Table DSL, Form DSL 中與 Model 綁定, 即可自動生成一個數(shù)據(jù)管理模塊。

在表格中使用 Table DSL

Table DSL:

{ "name": "綁定模型", "action": { "bind": { "model": "pet" } }}

{ "name": "綁定模型和表單", "action": { "bind": { "model": "pet", "option": { "form": "pet" } } }}

{ "name": "復制表格", "action": { "bind": { "table": "user" } }}

在表單中使用

Form DSL:

{ "name": "綁定模型", "action": { "bind": { "model": "pet" } }}

{ "name": "綁定表格", "action": { "bind": { "table": "pet" } }}

{ "name": "復制表單", "action": { "bind": { "form": "pet" } }}

更多用法參考 Widget 手冊

Cloud Props

在開發(fā)界面交互時, 經(jīng)常需要為一些組件提供查詢接口。比如, 某個資源所屬類目的下拉列表, 在用戶點擊時, 需要請求一個接口, 獲取類目數(shù)據(jù)。

可以使用 Cloud Props 特性, 將組件參數(shù)與處理器綁定, 應用引擎加載時, 自動生成查詢接口。

Table/Form DSL:

{ "寵物": { "bind": "where.status.in", "edit": { "type": "Select", "props": { "xProps": { "$remote": { "process": "yao.component.SelectOptions", "query": { "model": "pet", "wheres": [ { "column": "created_at", "op": "ge", "value": "2020-01-02" } ] } } } } } }}

更多用法參考 Widget 手冊

Compute

通常情況下,在數(shù)據(jù)讀取和寫入時需要對字段數(shù)值處理, 來滿足呈現(xiàn)和存儲的需要。

可以使用 Compute , 在聲明字段使用的組件時, 指定處理器對數(shù)值進行處理。

為便于使用, 新增了一組 Compute處理器,用于常見的數(shù)據(jù)處理, 開發(fā)者也可以根據(jù)需要, 使用自定義處理器。

處理器

參數(shù)表

返回值

說明

Get

[<字符串參數(shù)>]

<字符串參數(shù)>

讀取數(shù)值 示例

Trim

[<字符串參數(shù)>]

過濾首尾空格 示例

Concat

[…<字符串參數(shù)>]

"value1value2.."

連接字符串 示例

Hide

[]

"" 空字符串

返回空字符串 示例

Download

將路徑轉(zhuǎn)換為下載地址 示例

Upload

將下載地址轉(zhuǎn)換為路徑 示例

Table/Form DSL:

{ "相關(guān)圖片": { "bind": "images", "view": { "type": "Image", "compute": "Download" }, "edit": { "type": "Upload", "compute": "Upload", "props": { "filetype": "image", "$api": { "process": "fs.system.Upload" } } } }, "是否在線": { "bind": "online", "view": { "bind": "online_view", "type": "Text", "compute": { "process": "scripts.compute.MappingOnline", "args": ["$C(row.online)", "$C(props.mapping)"] }, "props": { "mapping": { "1": "::Online", "0": "::Offline" } } }, "edit": { "type": "RadioGroup", "props": { "options": [ { "label": "::Online", "value": true }, { "label": "::Offline", "value": false } ] } } }}

更多用法參考 Widget 手冊

Action

在界面描述中, 可以使用 Action 定義按鈕的響應行為。 界面引擎提供了多個場景的行為。

KEY 執(zhí)行動作

VALUE 參數(shù)

說明

History.push

{ "payload": "<路由地址>"}

跳轉(zhuǎn)到指定路由地址

Service.<名稱>

{ "method": "<函數(shù)名>", "args": [<參數(shù)表>] }

調(diào)用云函數(shù)

Studio.<名稱>

{ "method": "<函數(shù)名>", "args": [<參數(shù)表>] }

調(diào)用 Studio 云函數(shù) 僅開發(fā)模式下有效

….

更多用法參考組件文檔

yao get 命令

為了更輕松的復制項目, 可以在空目錄使用 yao get 命令下載 Yao 應用。

可供下載應用列表, 未來支持第三方應用上架。

應用

簡介

yaoapp/yao-admin

一個通用管理后臺

yaoapp/demo-app

演示應用

yaoapp/demo-project

工程項目管理演示應用

yaoapp/demo-finance

財務(wù)管理演示應用

yaoapp/demo-plm

生產(chǎn)項目管理演示應用

mkdir -p /data/appcd /data/appyao get yaoapp/yao-admin

云函數(shù)

services 目錄下, 創(chuàng)建添加 js 腳本, 這個腳本中定義的函數(shù)都可直接通過 aciton 訪問, 也可通過 API 接口調(diào)用。

腳本文件 /data/app/services/foo.js

/** * Cloud Function * * POST /api/__yao/app/service/foo * {"method":"Bar", "args":["hello", "world"]} * * @param {...any} args * @returns */function Bar(...args) { return { message: $L("Another yao application") " (Cloud Function: foo.Bar)", args: args, };}

Form DSL 中調(diào)用

{ "layout": { "primary": "id", "operation": { "preset": { "save": { "back": true }, "back": {} }, "actions": [ { "title": "測試云函數(shù)", "icon": "icon-cloud", "action": { "Service.foo": { "method": "Bar", "args": ["{{id}}", "{{name}}"] } } } ] } }}

安裝界面

廢棄原 yao init 命令, 使用安裝界面完成應用初始化。

mkdir -p /data/appcd /data/appyao start

根據(jù)命令行提示, 進入應用初始化配置界面完成配置。

Yao 0.10.2 正式發(fā)布 你好零代碼(你好零零后這個綜藝節(jié)目的演員有誰)

文件系統(tǒng)處理器 & JS API

新增一組文件系統(tǒng)處理器和 JS API。

查看處理器手冊

HTTP 請求處理器 & JS API

新增一組 HTTP 請求處理器和 JS API。

查看處理器手冊

更多處理器

新增編碼解碼、加密解密、證書導入等處理器。

查看處理器手冊

Studio CLI、 Service、JSAPI

在 studio 目錄下, 創(chuàng)建添加 js 腳本, 這個腳本中定義的函數(shù)都可直接通過 aciton 訪問, 也可通過 API 接口調(diào)用。

stuido 目錄下的腳本具有超級權(quán)限, 可以訪問 dsl, script 等文件空間, 可用于實現(xiàn)生成 DSL 和腳本代碼。

/** * Cloud Function * * POST http://<IP>:<Studio Port>/service/hello * {"method":"World", "args":["hello", "world"]} * * @param {...any} args * @returns */function World(...args) { return { message: $L("Another yao application") " (Studio Function: hello.World)", args: args, };}

Studio CLI

cd /data/appyao studio run hello.World hi '::{"foo":"bar"}'

Form DSL 中調(diào)用

{ "layout": { "primary": "id", "operation": { "preset": { "save": { "back": true }, "back": {} }, "actions": [ { "title": "測試 Studio", "icon": "icon-cloud", "action": { "Studio.foo": { "method": "Hello", "args": ["{{id}}", "{{name}}"] } } } ] } }}

Yao Studio

Yao 即將提供一個可視化編輯器, 通過圖形界面的方式編寫 DSL。

當前正在開發(fā)中, 預計 2023 年第一季度上線。

預覽(屏幕截圖):

Yao 0.10.2 正式發(fā)布 你好零代碼(你好零零后這個綜藝節(jié)目的演員有誰)

Yao Brain

最好的工具, 你應該感受不到它的存在。

Yao 0.10.2 正式發(fā)布 你好零代碼(你好零零后這個綜藝節(jié)目的演員有誰)

我們始終堅信, 在未來的程序開發(fā)中, AI 助手可以完成 90% 的工作, 開發(fā)者在 AI 的工作成果基礎(chǔ)上微調(diào)即可。

我們也正在積極探索這個路線, 發(fā)布了 Yao Brain 平臺。

盡管現(xiàn)在還只是基于確定規(guī)則, 但已經(jīng)可以實現(xiàn)像 Yao-Admin 這樣的通用管理后臺。

未來某天, 只要告訴 Yao Brain 你的需求, 它可以幫你生成一個 CRM, 一個 ERP 或是其他符合你業(yè)務(wù)需求的程序。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
湘阴县| 雷州市| 蚌埠市| 镶黄旗| 左贡县| 始兴县| 北辰区| 广安市| 景泰县| 四川省| 临漳县| 开封县| 资溪县| 秦安县| 米林县| 凌源市| 镇康县| 出国| 鄄城县| 翁牛特旗| 东城区| 江北区| 拉萨市| 苗栗县| 临清市| 临汾市| 盖州市| 罗源县| 济南市| 安陆市| 铜鼓县| 新平| 平泉县| 化隆| 自贡市| 广州市| 双城市| 玛多县| 巨野县| 突泉县| 林州市|