<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          TSRPCTypeScript 全棧 RPC 框架

          聯(lián)合創(chuàng)作 · 2023-09-20 01:04

          TSRPC 是專為 TypeScript 設(shè)計(jì)的 RPC 框架,經(jīng)千萬(wàn)級(jí)用戶驗(yàn)證,適用于 HTTP API、WebSocket 實(shí)時(shí)應(yīng)用、NodeJS 微服務(wù)等場(chǎng)景。

          特性

          • 原汁原味 TypeScript
            • 直接基于 TypeScript 的 type  interface 定義協(xié)議
            • 無(wú)需裝飾器、注解、第三方語(yǔ)言
            • 支持 TypeScript 高級(jí)類型,如 Union TypesIntersection TypesUtility Types 等。
          • 類型安全
            • 開(kāi)發(fā)時(shí)全程代碼提示,避免低級(jí)錯(cuò)誤
            • 運(yùn)行時(shí)自動(dòng)參數(shù)校驗(yàn),總是類型安全
          • 更強(qiáng)的 JSON
            • 支持在 JSON 中傳輸更多數(shù)據(jù)類型
            • 例如 ArrayBufferDateObjectId
          • 支持二進(jìn)制傳輸
            • 可將 TypeScript 類型直接編碼為二進(jìn)制
            • 包體更小、更易加密、無(wú)需 Protobuf
          • 支持 Serverless
            • 同時(shí)支持 Serverless 云函數(shù)和容器化部署
            • 兼容阿里云、騰訊云、AWS 標(biāo)準(zhǔn)
          • 一鍵生成接口文檔
            • 一鍵生成多種格式的接口文檔
            • 例如 Swagger / OpenAPI / Markdown
          • 多協(xié)議
            • 同時(shí)支持 HTTP / WebSocket
            • 傳輸協(xié)議無(wú)關(guān)的架構(gòu),輕松擴(kuò)展至任意信道
          • 跨平臺(tái)
            • 瀏覽器 / 小程序 / App / NodeJS 多平臺(tái)支持
            • 兼容 Restful API 調(diào)用,兼容 Internet Explorer 10
          • 高性能
            • 單核單進(jìn)程 5000+ QPS 吞吐量(測(cè)試于 Macbook Air M1, 2020)
            • 經(jīng)過(guò)數(shù)個(gè)千萬(wàn)用戶級(jí)項(xiàng)目驗(yàn)證,單元測(cè)試、壓力測(cè)試、DevOps 方案齊備

          用法示例

          Define Protocol (Shared)

          export interface ReqHello {
            name: string;
          }
          
          export interface ResHello {
            reply: string;
          }

          Implement API (Server)

          import { ApiCall } from "tsrpc";
          
          export async function ApiHello(call: ApiCall<ReqHello, ResHello>) {
            call.succ({
              reply: 'Hello, ' + call.req.name
            });
          }

          Call API (Client)

          let ret = await client.callApi('Hello', {
              name: 'World'
          });
          
          瀏覽 25
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五月天俺也去婷婷 | 黄色一级视频在线观看 | 激情国产综合 | 性爱视频网站 | 欧美经典怡红院肏肥屄淫荡视频在线观看 |