In the context of the current era, how do people view everything brought about by low code?

 1. What is low code?

The renewed popularity of low-code has sparked discussions among many people in the industry:

  • Some people think it's a hype and feel that low-code is a useless toy;
  • Others believe that the emergence of low-code may subvert the industry and replace programmers.
private int[] _values = Enumerable.Range(0, 100_000).ToArray();

[Benchmark]
public int Find() => Find(_values, 99_999);

private static int Find<T>(T[] array, T item)
{
    for (int i = 0; i < array.Length; i++)
        if (EqualityComparer<T>.Default.Equals(array[i], item))
            return i;

    return -1;
}

Both views are very extreme, but the emergence of low code is not groundless.

In the 1980s, some companies and laboratories in the United States began research on visual programming, and made 4GL "fourth generation programming language", which was later derived into VPL "Visual Programming Language Visual programming language" in 2014,
" The concept of "Low-Code" was formally proposed by Forrester Research. The definition of "Low-Code" is: a system that can quickly develop applications with little or no need to write code, and can be quickly configured and deployed.
In 2017, Gartner created a new category and proposed the concept of aPaaS (Application Platform as a Service). With the emergence and promotion of this concept, the Low-Code Development Platform (LCDP, Low-Code Development Platform ) Be more active in the global market

Low-code has three major advantages in continuously optimizing the development model and development pattern in the field of enterprise informatization:

Ease of use: The low-code usage threshold is very low, and users can quickly build personalized management applications that meet their needs like building blocks without a code foundation.
Reduce costs: (1) Time cost: use a low-code platform to build applications. The traditional development model often takes a month to complete the construction, and the low-code platform may be completed in a few hours, which greatly saves the time and cost of enterprise application development. (2) Labor cost: Ordinary salespersons in the enterprise can operate the application through simple learning, reducing the need for professional R&D personnel, thereby reducing labor costs (3) Money cost: When the needs of the enterprise change, it can be configured through the low-code platform. Quickly modify the application according to the needs, which greatly reduces the risk and cost of secondary development compared with the traditional development mode.
Improve efficiency: (1) Delivery efficiency: Since low-code platform applications are built quickly, and less code means fewer bugs, using low-code platforms avoids bugs when writing code and improves application delivery efficiency; (2) Collaboration efficiency: business personnel can know which applications the platform can build through simple learning, avoid "unreasonable" solutions when providing design solutions for R&D personnel, and improve the efficiency of communication and collaboration between departments
[Benchmark]
public int GetLength()
{
    ITuple t = (5, 6, 7);
    Ignore(t);
    return t.Length;
}

[MethodImpl(MethodImplOptions.NoInlining)]
private static void Ignore(object o) { }

Low code will definitely become a major trend in future system development.

platform features

  • Adopt the mode of front-end and back-end separation: the front-end is customized and developed based on the vue-element-admin framework
  • Unified authorization and authentication: JWT identity authentication based on ASP.NET Core authentication and authorization. It also provides multiple authorization methods including hybrid authentication, advanced custom authorization, and fully custom authorization. Client authorization supports four authorization modes of oauth2.0: authorization code mode, simplified mode, password mode, and client mode. The authorization process is consistent with the standard oauth2 process. The web terminal uses the simplified mode (implicit) to log in to the system, and the mobile terminal can use the password mode (password) to log in to the system. At the same time, it also supports three-party account login methods, such as WeChat/QQ, Alipay, Weibo, etc., and provides an expansion mode to support more three-party channels.
  • Client authorization supports four authorization modes of oauth2.0: authorization code mode, simplified mode, password mode, and client mode. The authorization process is consistent with the standard oauth2 process. The web terminal uses the simplified mode (implicit) to log in to the system, and the mobile terminal can use the password mode (password) to log in to the system. At the same time, it also supports three-party account login methods, such as WeChat/QQ, Alipay, Weibo, etc., and provides an expansion mode to support more three-party channels.
  • Zero-code development: equipped with a large number of reusable controls, through the operation of interface elements, drag and drop controls to automatically generate visual applications.
  • Workflow: Workflow service is a set of workflow solutions self-developed by JNPF, including two parts: process form and process engine. The process form is visually designed and highly configurable. It adopts structured form template design and centralized analysis mode design. . Adapt to the needs of various scenarios of China's national conditions, configuration WYSIWYG, low code, high configuration;
  • Large-screen design: freely layout pages, drag and drop controls to the page, set content and data binding for different controls, and realize large-screen visual page development with what you see is what you get;
  • Report design: No need to develop any code, users only need to configure a series of parameters on the interface to realize the configuration of various types of reports, online rendering of report content, report export, printing and other functions.
if (format.IsDefault)
    return TryFormatInt64Default(value, destination, out bytesWritten);

switch (format.Symbol)
{
    case 'G':
    case 'g':
        if (format.HasPrecision)
            throw new NotSupportedException(SR.Argument_GWithPrecisionNotSupported);
        return TryFormatInt64D(value, format.Precision, destination, out bytesWritten);

    case 'd':
    case 'D':
        return TryFormatInt64D(value, format.Precision, destination, out bytesWritten);

    case 'n':
    case 'N':
        return TryFormatInt64N(value, format.Precision, destination, out bytesWritten);

    case 'x':
        return TryFormatUInt64X((ulong)value & mask, format.Precision, true, destination, out bytesWritten);

    case 'X':
        return TryFormatUInt64X((ulong)value & mask, format.Precision, false, destination, out bytesWritten);

    default:
        return FormattingHelpers.TryFormatThrowFormatException(out bytesWritten);
}

おすすめ

転載: blog.csdn.net/ohpppp/article/details/130872606