杨臻:Coding 助力 HTML5 开发

8月8日,由HTML5梦工场主办的第四届HTML5峰会暨攻城师嘉年华(iWeb峰会)北京站,会上Coding资深全栈工程师 杨臻表了《Coding 助力 HTML5 开发》主题演讲。

以下是演讲实录:

大家下午好,我是来自Coding的杨臻。可能很多来宾对我们这个logo非常熟悉,可能经常会看到,可能大部分人不了解我们有哪些业务,我们俗称就是东半球最好的IT抱枕公司,因为每次参加活动我们的抱枕都非常抢手。除此之外,我们还有T恤,拖鞋、毛巾。

我们Coding现在的主要业务分为四块WebIDE、代码托管,项目管理平台,悬赏平台。可能今天如果来过我们在外面展台的朋友会看到,就是因为以往我们的抱枕非常抢手我这次增加了一点难度,必须在上面打到前20名才有奖品,我这里之所以提到这个,是想告诉大家这次的小游戏,是我们专门为这次系统开发的,并且使用了我们Coding的服务。这个后台是用的Node.js、Mysql,我们本身用了自己的项目管理做一个远程的协作,我们这个游戏的代码完全在我们的WebIDE上进行开发,所有的项目代码都在我们自己的服务上,还有在Paas演示平台。因为可能后期还有很多市场活动之类的,因为很多小游戏的开发我们会放到上面进行公开的招标,所以台下的各位如果有兴趣可以进行关注。


下面介绍一下我们的WebIDE,我们CodingIDE是自主研发的,可以进行在线编码,全功能,在线开发和调试等工作。我们提供全功能的Terminal而,用户自己想装什么软件就装什么软件。一旦用户配置好了开发环境之后,我们可以很方便的让用户一键把开发环境分享出去,方便这个项目里面的其他成员使用。上面部分就是编辑区域。我们这个WebIDE已经经过了一次改版,今年年初的时候,刚上线的时候,大家会发现上面的整个编辑区域都是多余的,它所有的开发都在里面全部完成,所以我相信下面的功能才是我们整个的精华所在。大家可能一直有一个误区,认为我们的WebIDE只是一个编辑器而已,我这里跟大家解释一下,我们里面为用户提供了一个虚拟环境,用户可以操作这个虚拟环境。在里面执行的命令和安装的软件都是永久的,假设你安装好一个页面以后,下次操作的时候都会保留,并且所有做的修改都可以进行保存,保存之后的环境就会出现在项目的环境列表里,所有项目的成员都可以很方便的使用,这个可以省去很多配置开发环境的应用。


在我们的WebIDE背后我们采用的是docker,我们安装了很多必要的软件。所以用户可以重新存成一个docker,这个docker技术,我们并不担心用户会把这个环境搞坏,因为他即使全部乱弄,哪怕把里面的所有东西删光也可以还原。在我们右边看到的就是我们环境列表,可以方便用户快速进行切换。还有下面一旦切换之后,它其实操作是同步的,只要在下面操作好,下面就会直接改变。这个就是我们之前提到的微信的小游戏的项目,这是它在我们WebIDE当中打开的样子,在界面的上面我们可以基于APP的编辑器进行编辑,我们这个项目在开发过程中可以很方便的启动后台服务,这里我们监听的就是3000端孔,可以在界面的最有端有一个小工具,只要配置好端口以后就可以访问你的后台服务,我们这个连接是设的一个小时的超时,因为这个没有办法,因为我们并不是说它是一个永久的服务。一开始是永久的,但是用户就在上面干一些乱七八糟的事情,很耗我们的资源,所以给了一个小时的限定。为了能够方便大家进行手机开发,这个也是我们在开发小游戏当中遇到的,我们可以很方便的生成二维码,用户只要用手机扫描一下就可以直接访问后端的服务。这是我们WebIDE的入口,所以托管在我们的Coding项目托管平台上,都可以找到一个WebIDE的界面的入口,不管是公有的项目还是私有的项目都有。最近我们给WebIDE加入了一个功能,可以上用户导入外部项目,只要在上面的代码都可以从外面导入,我希望大家还是用我们Coding自己的代码托管。


我们Coding的代码托管还提供很多其他的工具,用户可以在我们网站上进行一些分屏保护,很多功能。另外,我们的工具包括一些比如说质量管理、演示平台,托管平台我们的额外的小工具。这个就是我们的Git仓库上的代码对比页面,大家可以看到这是方便用户可以一目了然的查看到用户的代码地址,并且可以方便的查看每一行的评论。


关于Git的优势不想多了,其实后面的都不看,单就第一条,它可以在没有网络的情况下可以创建本地分支,你个人无论在本地创建多少分支对他人都没有影响,而且速度非常快。所以希望大家尝试一下Git,尤其来我们网站尝试一下。这是我们提供的Codingsight代码阅读器,只要在这个网页上所有的引用都是可以直接点击查看来源的。这样的话,比如说我要看一个项目的代码不需要开IDE,可以在Codingsight直接浏览。这是我们paas演示平台的界面,所有托管在我们网站上的界面都可以一键部署。这个Paas演示平台免费版是24小时中断,付费用户可以支持进行。我们依然不希望大家把它用在生产环境上,还是作为一个演示平台比较好。


我们的代码都有质量管理环境,可以进行代码的分析,比如说重复代码,相信对提高代码质量会很有帮助。之后就是我们的项目管理工具,其实我们的项目管理工具是专门针对软件开发写作制定的一站式开发工具,支持多成员的协作,并且深度集成了代码仓库的操作和状态,能够让整个软件开发感觉一目了然。其实我们自己Coding内部的项目都是用项目管理进行管理的,我们在使用过程中也对它进行了不断的优化。这个是我们的任务模块,我们任务模块可以指派任务,并且整合了代码的引用操作。还有一点,这虽然是一个任务列表,但实际上除了指派任务之外,一样可以用作一个BUG追踪的系统。


这个是我们的文档管理,所有的项目文档都可以在这里进行上传,方便内部成员的共享。支持所有格式图片和存储的共享,支持在线浏览。并且所有文件都可以一键下载。这个是我们项目的讨论功能,项目的讨论功能是只有项目成员可见的互动交流区域,项目上的所有成员都可以在这个讨论区里面回复评论、讨论。总之,就是能够方便远程协作的时候进行一些讨论。后边就是我们比较低调推出了一个码市,我们码市就是一个悬赏平台,宗旨就是帮助软件的需求方找到合适的开发者,完成项目开发工作,同时也是帮助开发者找到自己的项目,能够获取一些报酬。如果是软件项目的需求方,我们Coding的平台累积了十万专业的软件开发者,无论什么样的软件开发需求都可以找到合适的开发人员完成。同时,我们Coding提供的代码和项目管理工具,让需求方查看项目的每一个细节,及时和开发者进行沟通,保证项目的进程和质量。


除此之外,我们Coding通过项目经理人的介入,可以保证每一个悬赏开发任务都能够按时完成。如果是软件开发者,无论是熟悉任何一种语言的,都可以找到一些拿手的项目。我们Coding悬赏平台的每一个项目都是经过了我们自己严格的审查,保证需求明确,并且百分之百付款的项目,只要能够按时完成任务,就能够获得相应的报酬。这是我们的悬赏流程,需求方会提出申请,由Coding审核并跟需求方确定需求,悬赏项目推送给匹配的开发者并公开接受开发者申请,需求方联合Coding一起挑选候选开发者,项目正式成立并开始开发,阶段性目标检验与打款,项目最终验收和打款。因为我们为了保证开发者的利益,是选择了周期性的付款方式。所以我们尽可能的要保证双方的利益,甲方无须担心项目没办法按时完成,因为我们Coding会根据开发者的资料自动筛选一批比较优质的开发人员,并且很针对性的发出项目信息。同时,我们每一个项目都会有多个候选者,如果首个在开发中不能完成,会后续跟进候选者,保证开发工作顺利完成。我们开发人员关于收款的部分,就由Coding做担保,只要是确实完成的项目,我们绝对保证他能够收到全部的项目款项。


最后,我们Coding的目标就是为了开发者打造一个完整的生态系统,当然这是理想的环,开发者可以从我们的悬赏平台开始截取一个项目,进行一些协商,获取一些代码的需求确认,然后在我们的代码托管上开启项目,最后用我们的WebIDE进行开发,然后可以在项目完成的时候,在我们的演示平台上进行部署,并且给项目的需求方进行演示,以及最后就在我们的悬赏平台上完成整个项目的收费、付款。所以我们Coding的口号一直就是让开发更简单。