Skip to content

Commit

Permalink
修改文档内容
Browse files Browse the repository at this point in the history
  • Loading branch information
QJAutumn committed Sep 6, 2022
1 parent 2dc5886 commit 334ca49
Show file tree
Hide file tree
Showing 17 changed files with 29 additions and 40 deletions.
2 changes: 1 addition & 1 deletion Base Features/Describe Dashboard.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# write the interface
# Describe Dashboard

<blockquote>
Write the API interface JSON description file, place it in the application
Expand Down
2 changes: 1 addition & 1 deletion Base Features/Process.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# use handler
# Process

<blockquote>
<p>
Expand Down
2 changes: 1 addition & 1 deletion Base Features/Widgets.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Use Widgets
# Widgets

Based on the flow-based programming idea, YAO encapsulates a series of atomic operations into processes; these processes can be called in YAO DSL or JavaScript scripts.

Expand Down
35 changes: 12 additions & 23 deletions Introduction/Why Yao.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,23 @@
<p>——Ted Jiang, "The Life Cycle of a Software Body"</p>
</blockquote>

## start
## The Beginning

At 00:40 on January 29, 2022, on Saturday, there are still two days before the 2022 Spring Festival. It is raining lightly outside the window, and it is another cold winter. The last time it was this cold was 2016.
At 00:40 on January 29, 2022, on Saturday, there are still two days before the 2022 Chinese New Year. It is raining lightly outside the window, and it is another cold winter. The last time it was this cold was 2016.

I don’t know how many times this is the first time I have started to write again. This paragraph is really difficult to write. It is written too much. It is suspected that Wang Po is selling melons and boasting. Go, it should be a face-to-face sharing. Although I am a member of the core development team of Yao, I will try to express the differences between Yao and other solutions in an objective way. can gain something.

Why choose Yao? This question is very pragmatic. Frankly speaking, we have always had a doubt about the positioning of Yao. You say it is a framework, and it can support low-code construction. You say it is an application, but you can Saying that writing JSON is not writing code, the only difference is that writing JSON is 10 times more efficient than writing code, yes, you heard that right, and I'm not bragging, it's ten times, maybe more.

At the beginning of Yao's formation, we delivered no less than 3 projects in a month. According to past experience, if these projects are developed using code, it is conservatively estimated that it will take more than half a year, not including the time for testing. Later, due to various needs, it supported functions such as data visualization, large data screen, and data cleaning. There are more than 36 page components in total, including five types of pages: tables, forms, charts, Kanban, and large screens. The project is getting faster and faster, and we start Realize that Yao, more than just frameworks, if I had to give a definition it would be:

<blockquote>Application engine implemented in Go language. </blockquote>
<blockquote>Go language-driven low-code application engine. </blockquote>

There is no excessive decoration, just as we advocate the spirit - practicality is beauty.

We hope that through Yao, developers can re-examine software development, free from some heavy, repetitive, boring, and highly substitutable work, and do more unique and valuable things, even for fun , It is also better than a group of top students who graduated from the world's top universities to compete 996, who can roll better.
We're not shy about talking about the term "low-code," even though it's used by some Pass (Platform-as-a-Service) vendors for some misnomer. We hope that through Yao, developers can re-examine software development, free from some heavy, repetitive, boring, and highly substitutable work, and do more unique and valuable things, even for fun , It is also better than a group of top students who graduated from the world's top universities to compete 996, who can roll better.

In 1913, Ford established an automobile assembly line to install engines for industrialization. Before that, human beings have been wandering at the gate of the industrialization era. After that, human beings officially entered the industrialization era. The assembly line also established the historical status of Ford for a century. .
In 1913, Ford established an automobile assembly line to install engines for industrialization. Before that, human beings had been wandering at the gate of the industrialization era. After that, human beings officially entered the industrialization era. The assembly line also established the historical status of Ford for a century. .

I call it **"human mechanization"**.

Expand All @@ -43,7 +43,7 @@ It's time to start a revolution in software development. Maybe, I mean maybe, Ya

Although Yao and most of the technology stacks on the market are not the same species in a strict sense, new things will inevitably face some doubts, so it is necessary to make some comparisons to inform developers what Yao can do and is not good at doing what.

###Laravel
### Laravel

We take a lot of inspiration from Laravel, Yao and Laravel know a lot:

Expand Down Expand Up @@ -77,9 +77,9 @@ Low-code now has two mainstream directions:

- Abstract code refers to the ability to have complete logical expression, and to achieve low-code goals through a series of high-level code tool chains.

What we do is "abstract code". It is not difficult to do "code abstraction", and more energy may be spent on building platforms, marketing promotions, and sales. But doing "abstract code" is very challenging, because strictly speaking, "abstract code" has left the category of "metaprogramming" and entered the field of programming languages, which requires us to have a strong The ability to realize and self-discipline, think about some problems from the level of programming language, not just limited to the level of tools.
What we do is "abstract code". It is not difficult to do "code abstraction", and more energy may be spent on building platforms, marketing promotions, and sales. But doing "abstract code" is very challenging, because strictly speaking, "abstract code" has left the category of "meta-programming" and entered the field of programming languages, which requires us to have a strong The ability to realize and self-discipline, think about some problems from the level of programming language, not just limited to the level of tools.

This is a different road. We hope that we will take this step. It will not only let us be seen by everyone, but more importantly, we will raise a flag. We must create technology-driven rather than platform-driven products. Have core competitiveness.
This is a different road. We hope that we will take this step. It will not only let us be seen by everyone, but more importantly, we will raise a banner. We must create technology-driven rather than platform-driven products. Have core competitiveness.

Compared with the above solutions, Yao still has many advantages:

Expand All @@ -89,17 +89,15 @@ Compared with the above solutions, Yao still has many advantages:

- Easy to deploy, packaged products can be run directly on the target platform

In addition, Yao is suitable for developers with certain programming experience to learn and use. For novice users, you need to first have basic knowledge of database model, interface, and data flow for development. According to our team's internal experience, a front-end developer with about 1 year of development experience can use Yao skillfully and build commercial projects in only 1 week, and can complete about 6 business modules in one day. Compared with traditional software Development, the efficiency may be more than ten times worse.
In addition, Yao is suitable for developers with certain programming experience to learn and use. For novice users, you need to first have basic knowledge of database model, interface, and data flow for development. According to our team's internal experience, a front-end developer with about 1 year of development experience can use Yao skillfully and build commercial projects in only 1 week, and can complete about 6 business modules in one day. This is compared to traditional software. Development may be more than ten times worse in efficiency. Oh, and because it is a low-code method, there is no front-end and back-end joint debugging, so what developers see is what they get.

Yao is also not good at things. For some C-side customized UI, you can only use Yao's back-end capabilities. This is Yao's limitation. We can't hope to say that Yao can meet all scenarios. It is unrealistic. To do our best and keep improving, so we have always had a clear goal-to make the era of interconnection of foreign objects come sooner.
Yao is also not good at things. At present, the low-code integration of front-end and back-end is limited to background applications. For some customized UIs, you can only use Yao's back-end capabilities. This is Yao's limitation, and we can't hope It is unrealistic to say that Yao can satisfy all scenarios. We should do our best and strive for perfection, so we have always had a clear goal - the era of interconnecting foreign objects will come sooner.

Recommended reading [YAO suits the scene] (YAO suits the scene)

## future
## Future

We will launch a visual operation service in the coming days, which will visualize all JSON operations, which can further reduce the development threshold and allow novice users to easily develop enterprise-level background applications while looking at the development documents. We're also considering refactoring some of the core modules so that developers working with JSON have the same convenience as developers working with visual interfaces.

## grateful
## Grateful

In addition, you may have noticed that the style of our official website is somewhat similar to Nextjs, yes, we did get a lot of inspiration from Nextjs, about design, about open source, respect for Vercel! At the same time, thanks to the following open source projects (in no particular order), without which Yao would not exist:

Expand Down Expand Up @@ -128,12 +126,3 @@ In addition, you may have noticed that the style of our official website is some
- [v8Go](https://github.com/rogchap/v8go)

- [sqlx](https://github.com/jmoiron/sqlx)

<Div style={{ display: "flex", justifyContent: "space-between" }}>
<Link
type="prev"
title="Architecture"
link="Introduction/Architecture"
></Link>
<Link type="next" title="Scenarios" link="Introduction/Scenarios"></Link>
</Div>
2 changes: 1 addition & 1 deletion Manual/JS API/Exception.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Exception throws an exception
# Exception

Yao integrates `Exception` internally, which can throw an exception in any JS file and terminate the program.

Expand Down
2 changes: 1 addition & 1 deletion Manual/Process/Process Control.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# flow control
# Process Control

<blockquote>
<p>
Expand Down
2 changes: 1 addition & 1 deletion Manual/Query DSL/Complex Query.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Aggregate query
# Complex Query

## Data aggregation `groups`, `havings`

Expand Down
2 changes: 1 addition & 1 deletion Manual/Query DSL/Expression.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# field expression
# Expression

## Field Expression `Field Expression`

Expand Down
4 changes: 2 additions & 2 deletions Manual/Query DSL/Nested Query.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# subqueries
# Nested Query

## Subquery `query`
## Nested `query`

You can dynamically generate a two-dimensional data table or value by describing `query`, and query or apply WHERE, HAVING query conditions on the data table. When used in a SELECT subquery scenario, an alias must be set. If `query` is set, then `from` will be invalid. The `query` data structure is `QueryDSL`.

Expand Down
2 changes: 1 addition & 1 deletion Manual/Widgets/Chart.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# data chart
# Chart

<Detail title="View source code">

Expand Down
2 changes: 1 addition & 1 deletion Manual/Widgets/Flow.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Flows handler
# Flows

<Detail title="View source code">

Expand Down
2 changes: 1 addition & 1 deletion Manual/Widgets/Guard.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#Guard
# Guard

<Detail title="View source code">

Expand Down
2 changes: 1 addition & 1 deletion Manual/Widgets/Import.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Import data import
# Import data

<Detail title="View source code">

Expand Down
2 changes: 1 addition & 1 deletion Manual/Widgets/Model.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# data model
# Model

<Detail title="View source code">

Expand Down
2 changes: 1 addition & 1 deletion Manual/Widgets/Store.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Store uses cache
# Store cache

<Detail title="View source code">

Expand Down
2 changes: 1 addition & 1 deletion Manual/Widgets/Table.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# data table
# Table

<Detail title="View source code">

Expand Down
2 changes: 1 addition & 1 deletion Manual/Widgets/WebSocket.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#WebSocket
# WebSocket

Establish a WebSocket connection

0 comments on commit 334ca49

Please sign in to comment.