【BUAA软工】团队项目选择

【BUAA软工】团队项目选择

项目 内容
班级:北航2020春软件工程 博客园班级博客
作业:团队项目选择与NABCD分析 团队项目选择

项目介绍

项目简介

项目名称:Visual Lab Online

项目简介:一款面向学生和个人用户的易用性强的Cloud IDE。

核心功能是支持在线编写代码,拥有Terminal,支持代码编译、运行与调试,并且可以将代码保存在云端或保存在第三方网盘中。

方便初学者进行编程,内置C/C++、Java、Python、Android等预设环境,用户无需配置环境也无需了解编译器、调试器、SDK等工具链的具体情况,可以让初学者把精力放在入门写代码上,不被复杂的配置劝退。

打开浏览器和网页就可以继续之前的代码编写,可以跨设备(如iPad、笔记本、台式机),不用担心不同设备的环境和项目代码的同步问题。

与微软的Visual Studio Online相比,我们取名为Visual Lab Online,意在让产品风格致敬Visual Studio Code的同时,创造一款对学生和个人初学用户友好的IDE。Studio是工作室级别的产品,适合企业员工和专业用户使用;而Lab则为不愿花时间和精力配置Studio、且用不到Studio的大部分功能的同学创造一个简洁易用高效的“实验室”,如Google Colab一样。

产品的主要特色有:

  • 基于Monaco Editor的代码编辑器,支持代码着色、代码补全和Live Templates。
  • 包含网页端Terminal,可以在线编译、运行、调试。
  • 代码云端存储,可以跨设备同步编写代码。
  • 支持C++11/14/17,Python2/3等多种编程环境和版本。环境部署和工具链等复杂配置可对用户透明。
  • 综合了各大成熟IDE中实用的快捷键与特色功能,如文件比较、多光标、代码重构等,提高了编程效率。
  • 对轻度用户友好,无需Google Drive/Azure/AWS等账户和服务,且国内使用更加方便。
  • 支持北航云盘存储或百度网盘存储(beta版本)。

选题前调研

目前已有多种Cloud IDE,功能都非常齐全强大,但是大部分的Cloud IDE收费昂贵、云端配置对学生而言过剩,并且基本上都在墙外,对国内的大学生而言非常的不友好。

例如AWS Cloud9就是一款比较强大的线上IDE,内置多种编程环境(C++/Go/Java/JavaScript...),只需要一个浏览器就可以云端编写代码,并且支持多人协作的功能。但是需要注册Amazon AWS服务,对于一个学习编程的小白而言,代码还没有了解清楚就要去了解云服务、存储计算节点等方案是南辕北辙,因此并不适合学生和初学者使用,适合一些企业和具有一定编程经验的人使用。

再者还有codeanywhere,这也是一款线上IDE。它支持多种网盘,服务器存储功能,但是其价格比较昂贵。最便宜的是每月3刀,但是不支持云端存储;最便宜的支持云端存储的服务是每月10刀,可以支持FTP服务器、Google/Dropbox等。但这对于学生而言价格比较昂贵,且国内访问困难,并不适合大众学生。

【BUAA软工】团队项目选择

还有微软Visual Studio Online,功能齐全,并且和线下的Visual Studio Code软件相似。但是其没有大陆服务器,不支持人民币结算,对于国内的学生并不友好。在功能上依赖于Microsoft Azure,对新手不友好。

【BUAA软工】团队项目选择

因此总结起来,这些产品若是对刚刚入手编程的学生提供服务,可能具有以下的共性问题:

  • 结算方式、价格和存储提供商对普通大陆学生不友好
  • 需要较为复杂的注册、配置、订阅等操作,对热切地想开始学习编程的学生来说是一种劝退
  • 某些产品只支持HTML/CSS等,非全语言
  • 面向企业用户,而非学生个人/学生小团体

选题愿望与动机

本团队目标开发的Visual Lab Online线上IDE,旨在帮助编程初学者能够更方便,更快捷的上手并编写代码,且将精力放在代码本身

我们希望我们的线上IDE,不依赖于任何设备环境,不需要多余的配置,仅需要一台电脑(iPad、Huawei Pad、Macbook、Surface、......)和一个浏览器(Chrome,Firefox,Edge,Safari,......)就可以编写代码,没有额外要求;网站打开简单操作就可以开始/继续编程,开箱即用;支持云端存储,写好的代码不会丢,且多设备同步;支持线上调试,具有多种语言环境支持;使用习惯和功能为轻度但高效的用户提供支持。

我们希望我们的线上IDE,能够帮助初学者快速的上手,不被复杂的额外工作劝退,不用了解什么是MinGW,不用烦恼找不到编译器的问题,不必纠结如何配置工程。计费方案便宜甚至免费,方便国内大学生使用。

甚至,我们希望我们的线上IDE,能够支持北航云盘的存储功能,将写好的代码自动存储到北航云盘中,方便北航的学生编写,下载自己的代码。

项目可实现性

  • 线上编辑器可以借鉴开源项目Monaco Editor,对已有代码做修改和增加
  • IDE已有开源项目VSCode,可以参考
  • 百度云盘拥有Github第三方实现的API,北航云盘拥有官方的API支持,可以实现文件存储功能
  • Docker技术,可以支持不同的代码运行环境,且编译运行调试方便

NABCD分析

Need

上面已经分析过,对于算法初学者而言,要在本机上编写代码,需要安装各种各样的IDE,各种各样的环境,那么就很可能遇到以下困难:

  • 有些IDE的安装步骤繁琐,需要用户自己选择各种各样的配置环境,安装各种各样的插件支持,但新手完全不了解,不知如何选择。
  • 有些IDE的菜单名称令人难懂,且99%的功能初学者用不到,也不知道怎么用。
  • 跨平台编写代码比较麻烦,需要重新安装环境和IDE,且需要手动同步代码。

因此这些繁琐的步骤和难题,对于一个什么都不懂的小白而言非常的不友好。如果能够有一套不需要过多配置的IDE,甚至可以跨平台使用的IDE,上手就可以使用,那就更好不过了。

Approach

本项目为一个Web软件,设计主要可以分为前后端

  • 前端:
    • 编辑器设计,有开源项目Monaco Editor支持
    • IDE设计,有开源项目VSCode可参考
  • 后端:
    • 虚拟系统虚拟编程环境的管理,有Docker技术支持
    • 云盘存储,有百度云盘以及北航云盘支持,都具有相关的API文档

Benefit

该产品的核心功能为支持线上代码编辑和调试,主要有以下细致的功能:

  • 浏览器直接访问,没有环境、设备依赖性
  • 人性化的编辑器,拥有自动补全、Live Template等快捷操作与提示,重新定制对初学者实用的快捷键和工具。
  • 拥有web terminal,支持多种编程环境,可以编写python,c++等代码并调试
  • 云端存储,可以在远程服务器上存储,也可以在百度云盘或北航云盘上存储

Competitors

现有的相关产品介绍详见选题前调研章节。

本项目相比现有产品的优势在于:

  • 对新手小白友好,对大学生友好,计费便宜甚至免费,不需要配置环境
  • 易于上手,轻量但同样高效
  • 让用户将精力集中在写代码本身,减少其他事务的影响
  • 支持云盘存储(beta版本)

Delivery

  • 如果北航云盘存储支持得比较完善,可以与学校的课程组合作作为某些课程的教学和考试平台
  • 能够在CSDN,CNblogs等平台上推广,向全国大学生推广,尤其是大一编程初学者和中学的信息学竞赛学生

用户量评估

在哪里发布软件?估计一周后用户量多少呢?

本项目为线上IDE,因此在线上网站上发布,估计第一周的访问量能够达到1100左右,注册的用户数量能达到200左右。

电梯演说

各位领导/合作伙伴:

现在市面上的各种IDE软件需要的配置各不相同,安装步骤麻烦,初体验都不太方便;而已有的部分线上IDE收费昂贵,服务器不在国内,对国内大学生都不太友好。我们的Visual Lab Online无需安装,没有设备依赖性,可以优化用户的初体验感受;可以自定义网盘路径,云端存储你的代码。想象一下,你可以随时随地拿起你的iPad或者笔记本或者手机就可以写代码测试代码,写好的代码又可以方便的存储到你的云端里,方便快捷令人身心愉悦。现如今社会是快节奏的社会,使用起来快捷方便又实用的软件必然能够拉拢人心。如果您对我们的项目感兴趣,欢迎同我们一起合作宣传我们的产品,我们不胜荣幸。