This will be a series of articles, and the table of contents is here

preface

From doing small websites in small companies at the beginning, to now entering the current company to do projects, I found that a lot of work in small companies is repetitive labor (add, delete, change and check), but think about it, the most basic thing of business software is not add, delete, change and check.

Many times, however, this business logic is not necessarily rewritten. I can’t say your add, delete, change, and check is much better than mine. For the most part, the complexity is just too much data to optimize.

Introduction to the

Before we actually do it, let’s introduce a few concepts. A brief introduction to what PaaS is, it basically means that a large platform has been created on which you can quickly configure and scale your services.

Detailed recommendations see nguyen other teacher blog www.ruanyifeng.com/blog/2017/0…

conceptual

I wanted to build a platform from scratch that could configure and define the business and extend the business through code. On this platform, simple requirements, no code. Complex requirements, only write code that differs from the standard.

Have what good

Increase productivity

In fact, do software most of the time, are in writing add delete change check, it is too simple. Who can move bricks, right? To move fast, you don’t need good feet, more often, you may need a tower crane.

Stable high load

PaaS were originally designed with large data volumes in mind. When the project is small, you can do whatever you want, but once the amount of data comes up. Small projects might not work at all, but with PaaS, you might just need a few more machines and the base team will do it.

A clear division of responsibilities

When it comes to high load, it’s mostly low-level stuff. For normal development, the benefit is more of a performance boost. It takes two groups of people with different abilities to do it. The bottom guys are more focused on performance and scaling, and the business guys are more focused on their core business and it’s over.

Less cost of service

This refers to customer spending and is the advantage of PaaS over traditional software. Once the PaaS platform is finished, he must already have a platform. If he wants to develop new features, he may not need to use more resources, but just add some business to the existing resources. In addition, PaaS service providers and customers are mainly in the mode of service renewal. With one more customer and one less customer, there is no pressure on the server. The same team can serve more people.

Develop faster

Even on a smaller scale, if you have a PaaS framework and you want to build a business directly on top of it. In fact, just do some configuration, and then deploy as a stand-alone software, pure custom development will become faster.

What exactly are we going to do

Suppose we want to make a people management system now, we generally need the following.

  • Increase the data

You can configure one or more new data pages, click save to save the data

  • Delete the data

A button can be configured to delete relevant data with one click

  • Modify the data

You can configure a button, click on an edit page, there will be corresponding data, you can modify, and then click on the update, the data will be updated

  • check

— List page

You can configure a few filters on the list page, and then after you modify the data, click search, and it will change the list content data based on your data

— Details page

You can click on the name on the list page (click on which to configure) and it will automatically go to the details page

The contents displayed on the details page can also be modified by configuration

Ability to NoCode

This is the heart of the business, and why PaaS can cram months of work into weeks.

In fact, it is a simple change of idea, originally we want to achieve a few pictures I drew above, are to change the code to achieve, such as the list page should be what Title warrior, the list should not appear a selection box, the list to show which columns, what buttons in the upper right corner and so on.

Now we take all this logic that needs to be written into the code and put it into the configuration, and we render the page and render the logic by interpreting the configuration.

LowCode ability

Of course, the above situation is too simple, basically a simple presentation of the contents of a database, what if we need something more complex?

Let’s say we need to export the age hierarchy of this person (toddler, teen, young, middle aged, old). How do we do that?

Obviously this state should not be stored in the database, because it is actually dynamically computed by age, and after a year the display state may expire, at which point we need to be able to dynamically insert logic to calculate these values based on age and output the results.

That’s not all, of course. There’s a lot more that needs to be done. Such as

  • Is it much slower to read configuration data than to write code to render using configuration?
  • There may be many search criteria, how to implement these criteria available?
  • What if the default page doesn’t meet my needs?
  • How to deal with service permissions? Everyone who can’t get into the system has access, right?
  • How do you publish this thing online once you’ve developed it?
  • . .

It’s a little big. It’s a lot to talk about. This time there is only so much content, I can only edit while writing the blog, it may be a long series, may not be able to do a short series.

Write bad, ability is limited many forgive me