低代码通常是指APaaS产品,通过为开发者提供可视化的应用开发环境,降低或去除应用开发对原生代码编写的需求量,进而实现便捷构建应用程序的一种解决方案。广义上低代码概念涵盖所有能够完成代码的集成,减少代码开发的应用过程和服务,但狭义上低代码的概念更倾向定位于满足企业业务端应用需求,通过可视化界面,利用少量代码或者无代码即可搭建简单应用和复杂企业级应用的独立开发平台。
JNPF快速开发平台就是其中翘楚,JNPF是一个以PaaS为核心的零代码开发平台,是一个集PC和APP快速开发、系统管理、流程引擎、权限管理、数据报表、可视化数据源管理与数据构建、数据动态生成与统计、工作流、智能表单设计、微服务等全方位功能于一体的高效、稳定的快速开发平台。
static string Format(int major, int minor, int build, int revision)
{
var array = new object[4];
array[0] = major;
array[1] = minor;
array[2] = build;
array[3] = revision;
return string.Format("{0}.{1}.{2}.{3}", array);
}
jnpf-web
:前端主项目,基于vue-element-admin
框架定制开发
jnpf-web-datascreen
:前端大屏项目
jnpf-web-datareport
:前端报表项目
jnpf-web-tenant
:前端多租户项目
jnpf-java-boot
:boot后端主项目
jnpf-datareport
:报表设计服务,通过配置数据集,通过执行SQL获取数据以渲染平面报表、图形报表的服务
jnpf-file-preview
:本地文件预览服务,支持doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等格式文件
jnpf-tenant
:多租户服务,简单配置可实现数据隔离模式多租户应用。
static string Format(int major, int minor, int build, int revision)
{
var h = new DefaultInterpolatedStringHandler(3, 4);
h.AppendFormatted(major);
h.AppendLiteral(".");
h.AppendFormatted(minor);
h.AppendLiteral(".");
h.AppendFormatted(build);
h.AppendLiteral(".");
h.AppendFormatted(revision);
return h.ToStringAndClear();
}
private int Major = 6, Minor = 0, Build = 100, Revision = 21380;
[Benchmark(Baseline = true)]
public string Old()
{
object[] array = new object[4];
array[0] = Major;
array[1] = Minor;
array[2] = Build;
array[3] = Revision;
return string.Format("{0}.{1}.{2}.{3}", array);
}
[Benchmark]
public string New()
{
var h = new DefaultInterpolatedStringHandler(3, 4);
h.AppendFormatted(Major);
h.AppendLiteral(".");
h.AppendFormatted(Minor);
h.AppendLiteral(".");
h.AppendFormatted(Build);
h.AppendLiteral(".");
h.AppendFormatted(Revision);
return h.ToStringAndClear();
}
简搭
jabdp 全名是JAVA敏捷业务开发平台(Java Agile Business Development Platform),是一款企业级web快速开发平台,采用新颖的在线开发部署模式,使开发变得更加简单、纯粹,减少web开发中80%的代码量,革命性的提高了开发的效率。常用的功能,例如表单列表的增删改查,只需简单的自定义和配置就能自动生成。复杂的业务功能,只需要会基本的sql语句和javascript语法,就能进行快速开发,满足其个性化的业务需求,设计出各种复杂的企业web应用。既能快速提高开发效率,帮助公司节省人力成本,同时又有效解决企业级项目中常遇到的改需求的问题,不失灵活性。
jabdp开发平台适合用于大部分的企业级web应用的开发,尤其适合企业信息管理系统(MIS)、企业资源计划系统(ERP)、客户关系管理系统(CRM),业务支撑系统(BSS)等。并且就一些经典的项目案例提取整合出各种类型的项目模板,共享给开发者参考,开发者可以在原有的项目基础上进行修改定制,以打造其个性化的企业信息化平台。
[Benchmark]
public void RentReturn_Single() => ArrayPool.Shared.Return(ArrayPool.Shared.Rent(4096));
private char[][] _arrays = new char[4][];
[Benchmark]
public void RentReturn_Multi()
{
char[][] arrays = _arrays;
for (int i = 0; i < arrays.Length; i++)
arrays[i] = ArrayPool.Shared.Rent(4096);
for (int i = 0; i < arrays.Length; i++)
ArrayPool.Shared.Return(arrays[i]);
}
using System.Text.Json;
namespace SerializeToFile
{
public class WeatherForecast
{
public DateTimeOffset Date { get; set; }
public int TemperatureCelsius { get; set; }
public string? Summary { get; set; }
}
public class Program
{
public static void Main()
{
var weatherForecast = new WeatherForecast
{
Date = DateTime.Parse("2019-08-01"),
TemperatureCelsius = 25,
Summary = "Hot"
};
string fileName = "WeatherForecast.json";
string jsonString = JsonSerializer.Serialize(weatherForecast);
File.WriteAllText(fileName, jsonString);
Console.WriteLine(File.ReadAllText(fileName));
}
}
}
// output:
//{"Date":"2019-08-01T00:00:00-07:00","TemperatureCelsius":25,"Summary":"Hot"}
[GlobalCleanup]
public void Cleanup()
{
_fileStream.Dispose();
File.Delete(_fileStream.Name);
}
[Benchmark]
public void Read()
{
_fileStream.Position = 0;
while (_fileStream.Read(_buffer
#if !NETCOREAPP2_1_OR_GREATER
, 0, _buffer.Length
#endif
) != 0) ;
}
[Benchmark]
public async Task ReadAsync()
{
_fileStream.Position = 0;
while (await _fileStream.ReadAsync(_buffer
#if !NETCOREAPP2_1_OR_GREATER
, 0, _buffer.Length
#endif
) != 0) ;
}