201871030119-马桂婷 常用源代码管理工具与开发工具
项目 | 内容 |
---|---|
课程班级博客链接 | 2018级计算机科学与技术卓越班 |
这个作业要求链接 | 常用源代码管理工具与开发工具 |
我的课程学习目标 | 1、了解软件项目源代码常用管理工具; 2、尝试熟悉并试用一些软件项目源代码常用集成开发软件工具; 3、熟悉并练习使用Typora进行MarkDown格式博客编写。 |
这个作业在哪些方面帮助我实现学习目标 | 1、了解了一些目前被广泛使用的基于源代码版本管理软件Git的项目管理工具; 2、尝试使用了一部分源代码集成开发工具软件 ; 3、练习使用了Typora。 |
任务实施过程
任务1:调研源代码版本管理软件
-
根据网上的查阅,目前被广泛使用的基于源代码版本管理软件Git的项目管理工具有GitHub、GitLab、Bitbucket等,对于这三者之间的异同主要有:
-
GitHub与GitLab:
Git是一个版本控制系统,版本控制就是一种用于记录一个或多个文件内容变化,方便我们查阅特定版本修订情况的系统,它还通过非线性开发历史的可视化工具和导航工具的帮助,支持流畅的版本合并和分割。
- 不同点:
1、GitLab可以部署到自己的服务器上,而GitHub不可以进行此操作;
2、GitLab的个人注册用户也可以免费创建私有仓库,而GItHub是不可以的;
3、GitLab是开源的,而GitHub 以开源友好而闻名,并且拥有最大数量(19.4M +)的开源项目但其本身不是开源的;
4、GitLab是一个基于Git实现的在线代码仓库软件,可以自己搭建一个类似于GitHub一样的仓库,但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服,而GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习。 - 相同点:
1、GitLab和GitHub都是Git开发的作品,两者都是免费且开源的;
2、GitHub和GiLlab两个都是基于Web的Git远程仓库,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。
- 不同点:
-
GitHub与Bitbucket:
- 不同点:
1、BitBucket服务也非常类似于GitHub,但BitBucket最适合小型开发团队,随着团队的成长,BitBucket提供了与GitHub和GitLab相比更温和的定价条件,BitBucket还为团队提供了灵活的部署模式;
2、Bitbucket可以使用Git和其他版本进行版本控制和协作工作,而GitHub 是承载开源代码项目的领先平台,即在协作上,GitHub 是开源协作方面的首当其冲的选择,是Git存储库和协作项目开发的首选网站,该系统旨在允许用户轻松创建基于Git的特殊版本控制系统。 - 相同点:
1、GitHub和Bitbucket都是Gui工具,允许在Git存储库中使用项目;
2、同时这两者均不是开源的,另外这两者都提供了“follow”功能;
3、GitHub 和 Bitbucket 支持导入基于多个不同 VCS 的 repos。
- 不同点:
-
GitLab与Bitbucket:
- 不同点:
1、GitLab社区版的源代码在他们的网站上可用,企业版本是专有的,而Bitbucket不是开源的,但是购买stand-alone 版本时,将提供完整的源代码与产品配置选项;
2、如果需要开源解决方案,选择GitLab 较为妥当,如果喜欢使用Atlassian服务,那么BitBucket 则是最佳选择;
3、GitLab可以更容易的从其他服务导入GitHub、Bitbucket和Fogbugz,而Bitbucket支持导入CodePlex、HG、SourceForge和SVN。 - 相同点:
1、GitLab与Bitbucket都具有“发现”功能;
2、GitLab与Bitbucket都支持导入Git、Google Code;
- 不同点:
-
另外在免费计划方面,虽然这三家服务提供商都提供免费计划,但他们之间还是有一些差异。如:
- GitHub 的 Free Plans 允许托管无限的公有代码仓库,随时进行clone, fork 和 contribute,对磁盘使用没有限制。但是,项目不能超过 1 GB和单个文件不能超过 100 MB。
- Bitbucket的 Small teams plan 允许 5 个成员加入,公有/私有仓库均免费,当项目大快到达 1GB 时,会有邮件通知。
- GitLab 的 cloud-hosted plan 允许无限数量的用户在无限数量的公共和私有项目上进行协作,并且每个存储库有 10GB 的空间限制,看起来非常有诱惑力。
-
总的来讲,对于这三家代码仓库托管服务,在特定情况下要根据需要来选择更适合自己的。如:
- 如果你想要一个免费开源的解决方案,GitLab 也许比较吸引人;
- 如果你正在开发一个开源项目想取得更多的关注,那 GitHub 毫无疑问是第一选择;
- 如果你想要免费的私有库,并在使用 Atlassian 的其他产品(例如:Confluence,Jira, SourceTree…),代码托管在 Bitbucket 绝对用起来会更适合。
任务2:调研并试用广泛使用的源代码集成开发工具软件
-
MyElipse:
MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。
——引用自搜狗百科
利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,JavaScript,Spring,SQL,Hibernate。
——引用自搜狗百科
MyEclipse可以支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
——引用自搜狗百科
-
除以上介绍,MyEclipse还有以下四大功能:
1、为完成工作提供了智能的企业工具;
2、脱离缓存,可以使用内置功能连接到云,支持探索和连接服务,为他人提供自己的REST Web服务;
3、支持快速添加技术功能到Web项目中,使用可视化编辑器以便编码和配置,并且还可以在多种应用服务器上测试你的任务;
4、在移动应用开发中也再无需使用特殊工具或学习新的编程语言。
-
但MyEclipse启动速度及响应速度慢,内存占用较大,经常遇到卡死状态。
-
-
Visual Studio:
Visual Studio(简称VS或MSVS)是微软公司推出的开发工具套件系列产品,是目前最流行的 Windows平台应用程序开发环境,其包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境等。
Visual Studio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件,还可开发安卓平台应用及IOS平台应用。
——引用自搜狗百科
- Visual Studio 可以进行 Linux 开发,提供编辑、编译、debug 一条龙服务;
- Visual Studio 内部可以很方便地进行代码控制和管理,但是它只集成了 Git, 并没有 GitHub;
- Visual Studio 还有很多有意思的扩展,例如:VsVim、Visual Assist、PostSharp等。
-
HBuilderX:
- HBuilderX不论在启动速度还是打开大文档速度都响应极速;
- HBuilderX是唯一一个新建文件默认类型是markdown的编辑器,也是对md支持最强的编辑器;
- HBuilderX是中国唯一一家拥有自主IDE语法分析引擎的公司,对前端语言提供准确的代码提示和转到定义;
- HBuilderX支持java插件、nodejs插件,并兼容了很多vscode的插件及代码块。还可以通过外部命令,方便的调用各种命令行功能,并设置快捷键。
-
PyCharm:
- PyCharm提供智能代码补全、代码检查、实时错误高亮显示和快速修复,还有自动化代码重构和丰富的导航功能;
- PyCharm的智能代码编辑器可为Python、JavaScript、CoffeeScript、TypeScript、CSS和热门模板语言等提供一流支持。 充分利用可感知语言的代码补全、错误检测和实时代码修复;
- 使用智能搜索跳到任何类、文件或符号,甚至任何IDE操作或工具窗口。 只需点击一下即可切换到声明、超级方法、测试、用法和实现,等等;
- 除了Python,PyCharm还为各种Python Web开发框架、特定的模板语言、JavaScript、CoffeeScript、TypeScript、HTML/CSS、AngularJS和Node.js等提供一流支持;
- PyCharm为现代Web开发框架提供了丰富的框架专用支持。
-
Android studio:
- 由Google推出,基于IntelliJ idea改造而成,上升空间大;
- Android Studio的编辑器非常的智能,能够智能保存,并且还自带了多设备的实时预览;
- Studio整合了Gradle构建工具;
- Studio下支持各种插件,如Git、Markdown、Gradle等等。
-
NetBeans:
- NetBeans对移动开发提供了非常强大的支持;
- 支持混合移动开发;
- NetBeans对前端工程技术提供了强大而坚实的支持;
- NetBeans是一款免费的IDE。
-
IntelliJ IDEA:
- 在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能超常;
- IDEA提供了丰富的导航查看模式;
- 自动代码智能检查类,当发现方法名只有一个时自动完成代码输入,从而减少剩下代码的编写工作;
- 正则表达式的查找和替换功能查找和替换支持正则表达式,从而提高效率;
- 可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。
-
Code::Blocks:
- Code::Blocks开放源码,小巧,且支持Windows、Linux和Mac OS X各平台使用;
- Code::Blocks支持代码的编译、调试、代码覆盖、分析和自动完成;
- Code::Blocks支持多编译器,包括VC++、G++、GCC等;
- Code::Blocks拥有插件式的框架,完全的可制定性和可扩展性;
- Code::Blocks可以单独执行文件。
任务3:练习使用Typora进行MarkDown格式博客的本地编辑和实时预览
上图即为使用Typora进行makedown格式博客的本地编辑图。
总结:通过本次实验,我对一些源代码版本管理软件和源代码集成开发工具软件有了一定的了解,我们作为一名软件/程序的预备开发人员,对于这些软件之后一定会有所接触,所以此次实验也算是对一些之前还没有接触过的软件的一个认识,能让我们在之后的学习或工作中能更好的去选择更适合我们的IDE。其次,对于Typora的使用也有了一个初步的认识,希望能在之后的学习中有更好的练习和体验以便于更好的掌握其使用技巧。