Sebastian Theophil
Think-cell资深软件工程师
Sebastian Theophil在柏林和图卢兹学习计算机科学,并拥有柏林洪堡大学的计算机科学博士学位。自2002年think-cell软件公司成立以来,他一直在该公司工作,最近正致力于将think-cell移植到Mac上。
演讲主题
*Windows、macOS and the Web:跨平台实践经验
12年来,think-cell一直是一家只做Windows的软件公司,他们的代码库大约有70万行,积累了许多无意的平台依赖。六年前,该公司决定将其应用程序移植到Mac上。这一变化影响了开发过程的每一部分:项目组织、构建系统以及他们今天用C++编程的方式。常用的跨平台库如Qt和boost是很好的构建工具,但本身是不够的。对于许多概念,如互斥、信号或共享内存,它们只为具有非常不同语义和寿命的平台特定对象提供了一个通用接口。该团队希望得到轻量级的、与平台无关的C++抽象,在渲染、国际化、文件I/O、鼠标事件处理、RPC调用和错误报告方面具有相同的语义。开发这些是具有挑战性的,首先,他们必须定义应用程序需要的语义,其次,团队必须在每个平台上实现它们。这不是一个简单的过程,但Sebastian认为这极大地提高了代码的质量。现在,think-cell已经进入了下一个挑战,开始将一些功能转移到网络应用中。他们当然希望重用现有的代码库,这就意味着要用表现力强、类型安全的C++编写网络应用。他们使用emscripten构建了web应用程序,从任何TypeScript接口定义中生成了类型安全的C++绑定,超出了emscripten所提供的绑定。在这次演讲中,Sebastian将向你介绍Think-cell实现的C++抽象,重点是跨平台的问题领域,由于任何一个操作系统的限制,共同的语义很难定义,当然,Sebastian将向你展示让该公司用C++编写网络应用的工具。