月度归档: 2020 年 5 月

  • 减少Rust构建物大小

    一般情况下使用cargo build –release就可以生成最终构建物并直接执行,理论上将Rust这种语言构建出的hello world体积应该很小。但是实际上用hello world为例

    fn main() {
        println!("Hello world!");
    }

    最后构建出的结果有2M。

    这个随便搜索一下就可以得到很多优化方法,但是考虑到便利性和收益,这里用最简单的方式来,不考虑代码改动,尽可能不变更构建命令,且跨平台友好。

    首先改动Cargo.toml,增加

    [profile.release]
    opt-level = 'z'  # Optimize for size
    lto = true
    codegen-units = 1
    panic = 'abort'

    然后使用upx压缩,upx可以自动识别平台和类型,直接传入文件名就行了。

    最终大小为86KB。

  • 使用AMis Renderer快速构建页面

    AMis Renderer是一个前端低代码框架,通过 JSON 配置就能生成各种后台页面。

    简单来看就是通过简单的配置(JSON化),搭积木一样的使用已有组件来构建页面。这个对于一些to B的简单页面或者一些简单的小项目是很实用的。

    AMis Render提供两种使用方式,一种是嵌入已有的React Component中,这要求项目本质上还是一个前端工程化的项目。另外一种就是完全不关心React,也没有任何组件定制需求,极简使用。

    官方Demo如下:

    <!DOCTYPE html<html lang="zh"<head<meta charset="UTF-8"<titleAMIS Demo</title<meta http-equiv="Content-Type" content="text/html; charset=utf-8"<meta name="viewport"
            content="width=device-width, initial-scale=1, maximum-scale=1"<meta http-equiv="X-UA-Compatible" content="IE=Edge"<link rel="stylesheet" 
            href="https://houtai.baidu.com/v2/csssdk"<stylehtml, body, .app-wrapper {