欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  精华频道

JS-Git 创始人 Tim Caswell 专访

程序员文章站 2022-02-22 08:18:48
...
JS-Git是一款采用JavaScript实现Git核心功能,并且保证其能在多个平台上可以运行的开源项目。

JS-Git并不是单纯地克隆Git的所有功能,它只是实现Git的核心功能,取其精华,并且添加了一些更加灵活的功能。该项目的另一个目标是构建一个可以让儿童编程的开发环境。

项目地址:https://github.com/creationix/js-git

本期我们采访了其创始人Tim Caswell,让他来分享JS-Git项目的开发经历。

JS-Git 创始人 Tim Caswell 专访

请您先介绍一下自己的编程经历。 JS-Git 创始人 Tim Caswell 专访

编程只是我的业余爱好,编程可以给我带来很多快乐。在80年代的时候,我在Commodore64上编写一些简单的程序,当互联网蹦出来以后,我就开始编写网页程序。最终,我得到了一些关于PHP、Ruby、Python和Node.js等方面的工作。现在,我会开发一些新东西,比如JS-Git。

分享一下JS-Git背后的开发故事,最初为何要创建这个项目? JS-Git 创始人 Tim Caswell 专访

实际上,我的职业是教师,我喜爱教孩子们编程,但大多数孩子并未接触到真正的开发工具。JS-Git可以运行在笔记本、平板电脑、手机、Chromebook等任何可以运行浏览器的设备上。

JS-Git的设计目标是什么? JS-Git 创始人 Tim Caswell 专访

JS-Git旨在实现Git的核心功能,并且尽可能地在可以运行JavaScript的平台上运行。存储和网络bits都是可插式的,可以创建出各种有趣的组合。

相比较Git,JS-Git有哪些优势? JS-Git 创始人 Tim Caswell 专访

在运行方面,JS-Git要比Git更加灵活,当然,它也可以以Git工作流的方式来构建产品,而不是代码编辑。Git为应用创建了很好的资料库,包括基于文档的数据并且进行同步。

起初,有多少人参与JS-Git的开发,你们是如何协作的? JS-Git 创始人 Tim Caswell 专访

起初,只有我一个人参与项目开发,几个月后,有一些开源志愿者加入进来。Chris Dickinson在早期做了不少东西,最近,Aaron Powell为JS-Git实现IndexedDB适配器帮了不少忙。

在开发过程中,遇到过什么困难,你们是如何解决这些难题? JS-Git 创始人 Tim Caswell 专访

迄今为止,最难的部分是找到合适的抽象和API以保证代码可以很好地进行模块化,并且可以在更广泛的平台上工作。即使是一些简单的东西,比如模块、二进制数据、持久性以及跨越多平台的网络接入等。目前,这些问题还未得到很好地解决,我们在探寻最佳的解决方案。

你为什么想去构建一个教孩子编程的环境?对此你有什么计划? JS-Git 创始人 Tim Caswell 专访

当我还是孩子的时候,我已经开始学习编程了。与以往任何时候相比,现在的编程机会更多,也更需要程序员。但是在大多数消费级设备上,这些编程工具表现得很糟糕,我想去解决这一问题。

我的计划是在JS-Git开发完成后,创建一个针对孩子的学习型IDE。现在我已经开始一部分工作了,比如创建了一个编辑框的演示。

JS-Git适用于哪些项目? JS-Git 创始人 Tim Caswell 专访

JS-Git非常适合基于文档的项目。我有一个想法——创建一个图书馆项目,也可以是一个基于JS-Git的移动App,如果图书发布更新,一个简单的git fetch操作就可以获取所有更新的图书内容,你也可以将资源克隆到本地,以便能够离线阅读。

同时这个项目也可以用于示例文档,或者帮助社区用户创建能够共享的内容,这会对使用git的数据模型带来极大的好处。当然,JS-Git也可以用于创建在线IDE。

对于JS-Git,未来你有什么计划和目标?正如我们所知道的,JS-Git已经成功进行了第二次筹款,这对于今后的工作有什么帮助? JS-Git 创始人 Tim Caswell 专访

目前我主要工作重心是发布首个里程碑版本。如果发布后,我缺钱了,就需要找个工作来赚钱支撑JS-Git的开发。对于JS-Git,我没有具体的计划,我只是首先想把它完成。

对于使用JS-Git的开发者,你有什么建议? JS-Git 创始人 Tim Caswell 专访

我已经将JS-Git用于我开发的一些Web应用程序中,以便测试它的功能性。事实上,JS-Git使得构建离线应用非常容易。