V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
helloworld12
V2EX  ›  问与答

quip 是如何 进行抽象复用的?

  •  
  •   helloworld12 · 2018-10-01 18:59:53 +08:00 · 950 次点击
    这是一个创建于 2246 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [https://zhuanlan.zhihu.com/p/23912284]( [庖丁解牛] Quip 发展的传奇故事)

    Build once, use multiple times - 复用的艺术
    无论你在写软件的任何时候,优秀的抽象编程总是至关重要的,能横跨不同平台的抽象编程对我们这个小团队尤为宝
    贵。假如我们不得不分别在 8 个不同平台上从头开始构建产品,我们就不可能走到今天这么远。所以我们在库和体系
    架构方面投入了大量的精力,来确保我们只用造一次轮子就能在多个平台使用。
    
    举个例子,我们在数据存储、内存数据结构以及跨平台通讯上广泛地使用 Protocol Buffers (译者注:谷歌开发的一种
    可扩展的结构化数据存储格式)。这让我们能够便捷地完成很多事情,比如直接从 MySQL 读取 Protocol Buffers③;
    在 Python 网页服务器上修改数据;然后把它们发送给我们的 native clients (译者注:谷歌开发的一种可以让浏览器
    直接运行机器码的沙盒技术),这些 native clients 上使用的数种语言包括 C++,Objective C,Java 或者 C#;甚至还
    可以把那些相同的数据结构下载到我们的 JavaScript 编辑器。此外,所有这些操作都是通过自动生成的数据串行化代
    码完成的( data serialization code ),有着强类型数据结构的它们同时运行在强类型的通讯渠道上。假如我们使用的
    特定语言专用的数据结构或者甚至是 JSON,通过如此繁杂的步骤来处理数据不仅将会变得非常乏味,而且也会容易出
    错。
    

    上面说, 用Protocol Buffer 来进行抽象复用,而不是用JSON 以及 优秀的抽象编程总是至关重要的,能横跨不同平台的抽象编程对我们这个小团队尤为宝贵

    此外,所有这些操作都是通过自动生成的数据串行化代码完成的( data serialization code ) (用protocol buffer 生成各平台的类?进行复用开发?)

    是怎么进行跨越不同平台的抽象编程的?

    请教下,谢谢

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1152 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 18:13 · PVG 02:13 · LAX 10:13 · JFK 13:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.