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并不是单纯地克隆Git的所有功能,它只是实现Git的核心功能,取其精华,并且添加了一些更加灵活的功能。该项目的另一个目标是构建一个可以让儿童编程的开发环境。
项目地址:https://github.com/creationix/js-git
本期我们采访了其创始人Tim Caswell,让他来分享JS-Git项目的开发经历。
请您先介绍一下自己的编程经历。
编程只是我的业余爱好,编程可以给我带来很多快乐。在80年代的时候,我在Commodore64上编写一些简单的程序,当互联网蹦出来以后,我就开始编写网页程序。最终,我得到了一些关于PHP、Ruby、Python和Node.js等方面的工作。现在,我会开发一些新东西,比如JS-Git。
分享一下JS-Git背后的开发故事,最初为何要创建这个项目?
实际上,我的职业是教师,我喜爱教孩子们编程,但大多数孩子并未接触到真正的开发工具。JS-Git可以运行在笔记本、平板电脑、手机、Chromebook等任何可以运行浏览器的设备上。
JS-Git的设计目标是什么?
JS-Git旨在实现Git的核心功能,并且尽可能地在可以运行JavaScript的平台上运行。存储和网络bits都是可插式的,可以创建出各种有趣的组合。
相比较Git,JS-Git有哪些优势?
在运行方面,JS-Git要比Git更加灵活,当然,它也可以以Git工作流的方式来构建产品,而不是代码编辑。Git为应用创建了很好的资料库,包括基于文档的数据并且进行同步。
起初,有多少人参与JS-Git的开发,你们是如何协作的?
起初,只有我一个人参与项目开发,几个月后,有一些开源志愿者加入进来。Chris Dickinson在早期做了不少东西,最近,Aaron Powell为JS-Git实现IndexedDB适配器帮了不少忙。
在开发过程中,遇到过什么困难,你们是如何解决这些难题?
迄今为止,最难的部分是找到合适的抽象和API以保证代码可以很好地进行模块化,并且可以在更广泛的平台上工作。即使是一些简单的东西,比如模块、二进制数据、持久性以及跨越多平台的网络接入等。目前,这些问题还未得到很好地解决,我们在探寻最佳的解决方案。
你为什么想去构建一个教孩子编程的环境?对此你有什么计划?
当我还是孩子的时候,我已经开始学习编程了。与以往任何时候相比,现在的编程机会更多,也更需要程序员。但是在大多数消费级设备上,这些编程工具表现得很糟糕,我想去解决这一问题。
我的计划是在JS-Git开发完成后,创建一个针对孩子的学习型IDE。现在我已经开始一部分工作了,比如创建了一个编辑框的演示。
我的计划是在JS-Git开发完成后,创建一个针对孩子的学习型IDE。现在我已经开始一部分工作了,比如创建了一个编辑框的演示。
JS-Git适用于哪些项目?
JS-Git非常适合基于文档的项目。我有一个想法——创建一个图书馆项目,也可以是一个基于JS-Git的移动App,如果图书发布更新,一个简单的git fetch操作就可以获取所有更新的图书内容,你也可以将资源克隆到本地,以便能够离线阅读。
同时这个项目也可以用于示例文档,或者帮助社区用户创建能够共享的内容,这会对使用git的数据模型带来极大的好处。当然,JS-Git也可以用于创建在线IDE。
同时这个项目也可以用于示例文档,或者帮助社区用户创建能够共享的内容,这会对使用git的数据模型带来极大的好处。当然,JS-Git也可以用于创建在线IDE。
对于JS-Git,未来你有什么计划和目标?正如我们所知道的,JS-Git已经成功进行了第二次筹款,这对于今后的工作有什么帮助?
目前我主要工作重心是发布首个里程碑版本。如果发布后,我缺钱了,就需要找个工作来赚钱支撑JS-Git的开发。对于JS-Git,我没有具体的计划,我只是首先想把它完成。
对于使用JS-Git的开发者,你有什么建议?
我已经将JS-Git用于我开发的一些Web应用程序中,以便测试它的功能性。事实上,JS-Git使得构建离线应用非常容易。
上一篇: 社区专家谈 12306