thi.ng 简介
thi.ng 是计算设计与艺术的开源构建模块,成立于 2006 年。它是一个专注于计算设计的多元化长期项目,既不是框架,也不局限于特定用例、环境甚至语言,而是一套庞大且成熟的互补代码库,自然发展成了约 350 个子项目,其中至少一半仍在积极维护。
博客系列
博客系列名为 [关于雨伞、转换器、响应式流与蘑菇],包含四个部分,分别是:第一部分踏入 thi.ng/umbrella 的世界;第二部分涉及函数、转换器、归约器、可迭代对象;第三部分是卷积、细胞自动机;第四部分为不相交集合、图、距离场。
项目相关问题
是什么?
thi.ng 是一套庞大且成熟的互补代码库,发展成约 350 个子项目。这个网站仍在建设中,目前是项目入口,最终将成为所有相关产出的综合中心和存档库,仅展示开源项目和教育资源。
谁在做?
该项目由 Karsten Schmidt 自 2006 年起创建并维护,还有一小群优秀的贡献者提供支持。Karsten 在过去 28 年里参与并贡献了数百个开源项目,包括 Processing 和 Clojure。他曾在多所大学撰写、讲授和举办计算与生成设计工作坊,作品在国际上展出。
为什么做?
最初,thi.ng 是为帮助实现 Karsten 多样化的工作项目/委托和实验性设计研究而创建的,形成开放工具包。多年来概念范围大幅扩展,早期项目具有开创性,填补了计算设计领域开源工具的空白,利用工具教学和推广也是主要目标。系列中最大的项目包含 200 多个示例,且还在增加。
怎么做?
thi.ng 基于自下而上的发展与设计理念,小模块可重新组合以满足不同领域用例需求。通常根据反馈和大致定义的长期目标,以循环方式开展项目,目标可能随时间变化,包括大规模重构、采用新技术等,一些古老项目即使发布近 10 年后仍有活跃追随者。
全方位的主题
当前网站是创建所有项目、资产和关系语义图的前期尝试,已催生系列中的几个新项目。在完成之前,交互式标签云可让用户鸟瞰系列各部分涵盖的主题。可展示全部 350 个项目,使用模糊搜索框或点击标签探索,输入多个标签可缩小搜索结果。目前主要开发重点是针对 TypeScript 的数据驱动、函数式工具以及基于浏览器的技术。thi.ng 涵盖不同编程方法和语言,所有项目秉持共同理念,多数项目采用函数式和声明式设计混合方式,部分项目专注于特定领域语言并提供核心基础设施。
thi.ng/umbrella
过去五年多来,至少一半的 thi.ng 项目在 TypeScript 中开发,作为 thi.ng/umbrella 单体仓库的一部分。2018 年初决定整合资源进一步开发。该单体仓库包含约 245000 行代码、文档、图表和 185 个完整记录的示例项目,涉及标签云中 500 多个主题。除极少数情况外,不使用第三方依赖,所有伞形内部关系在每个包的自述文件中明确说明,所有伞形包根据 Apache 软件许可证 2.0 发布。还提供了 216 个包的分类列表、约 185 个示例项目列表、自动生成的文档等资源。热图时间线展示了各个包添加到伞形单体仓库的时间。
屡获殊荣的作品与工作坊
从 2006 年的 toxiclibs 开始,该系列项目被广泛应用于多个领域和行业,助力了几家初创公司发展。多个以 thi.ng 项目为关键的项目获得国际设计奖项提名并获奖。教育和作为教学工具是项目重要且长期的目标,许多项目在全球各地的学校、大学、工作坊和节日中得到应用,Karsten 自 2008 年以来举办了数十个工作坊。如需了解项目新闻、直播通知和未来工作坊信息,可在 Mastodon 上关注或订阅低频时事通讯。
贡献者与赞助商
感谢个人和组织对项目持续发展的支持,想成为支持者可访问 GitHub 赞助页面或 Patreon 页面。感谢以下组织过去资助早期开发:光州 ACT 中心、伦敦建筑协会等众多组织。