织信
织信为用户提供了两种不同方式来实现低代码编程扩展的功能:
-
自动化
针对不具备编程能力的普通用户,织信提供了可视化的自动化配置功能。
织信自动化是把脚本模块复杂的代码编程逻辑封装起来,并将织信平台中常用的功能、常用的编程逻辑、函数封装成一个个的可视化功能模块, 用户只需要通过操作自动化模块中的各项功能,随意拖拽、组合就能实现原先不能被满足或者需要通过脚本模块编写代码才能实现的业务需求!
-
应用脚本
应用脚本的目标用户是具有编程基础的程序员。 http://www.jnpfsoft.com/?from=CSDNm脚本使用标准javascript进行开发,并支持ES 6版本标准,通过调用织信提供的丰富的扩展API接口,以实现各种业务场景的功能。
脚本的优点是对于复杂场景,较自动化功能而言开发更为迅速。
但缺点是对使用者要求较高,需要使用者具备编程的能力。
[Benchmark(Baseline = true)]
public byte[] Old()
{
using (RandomNumberGenerator rng = RandomNumberGenerator.Create())
{
byte[] buffer = new byte[8];
rng.GetBytes(buffer);
return buffer;
}
}
[Benchmark]
public byte[] New()
{
return RandomNumberGenerator.GetBytes(8);
}
JNPF
JNPF快速开发平台有着丰富的现成应用,满足企业不断变化的业务、管理需求,基于平台开发的产品更稳定可靠、代码规范、易学上手快等,可全方位实现商业拓展。
JNPF快速开发平台可以帮助企业快速维度落地拓展、随时随地搭建Saas平台服务,开发者只需关心业务和创新。http://www.jnpfsoft.com/?from=CSDNm
JNPF快速开发平台有着灵活的权限控制,授权机制符号RBAC,限能控制到菜单、按钮、数据列与约束条件,授权范围等。
; Program.Store(System.Span~1<Int64>, System.DateTime)
sub rsp,28
mov rax,[rcx]
mov ecx,[rcx+8]
test ecx,ecx
jbe short M01_L00
cmp ecx,0
jbe short M01_L01
mov rcx,0FFFFFFFFFFFF
and rdx,rcx
mov [rax],rdx
M01_L00:
add rsp,28
ret
M01_L01:
call CORINFO_HELP_RNGCHKFAIL
int 3
; Total bytes of code 46
private byte[] _key, _iv, _ciphertext;
[GlobalSetup]
public void Setup()
{
using Aes aes = Aes.Create();
_key = aes.Key;
_iv = aes.IV;
_ciphertext = aes.EncryptCbc(Encoding.UTF8.GetBytes("This is a test. This is only a test."), _iv);
}
[Benchmark(Baseline = true)]
public byte[] Old()
{
using Aes aes = Aes.Create();
aes.Key = _key;
aes.IV = _iv;
aes.Padding = PaddingMode.PKCS7;
aes.Mode = CipherMode.CBC;
using MemoryStream destination = new MemoryStream();
using ICryptoTransform transform = aes.CreateDecryptor();
using CryptoStream cryptoStream = new CryptoStream(destination, transform, CryptoStreamMode.Write);
cryptoStream.Write(_ciphertext);
cryptoStream.FlushFinalBlock();
return destination.ToArray();
}
[Benchmark]
public byte[] New()
{
using Aes aes = Aes.Create();
aes.Key = _key;
return aes.DecryptCbc(_ciphertext, _iv);
}