李荣
Linux已经成为工作、娱乐和个人生活等多个领域的支柱,人们已经越来越离不开它。在Linux的帮助下,技术的变革速度超出了人们的想象,Linux开发的速度也以指数规模增长。因此,越来越多的开发者也不断地加入开源和学习Linux开发地潮流当中。在这个过程之中,合适的工具是必不可少的,可喜的是,随着Linux的发展,大量适用于Linux的开发工具也不断成熟。甚至可以说,这样的工具已经多得有点惊人。
为了选择更合适自己的开发工具,缩小选择范围是很必要的,下面我们来看一下。
容器
放眼现实,现在已经是容器的时代了。容器既及其容易部署,又可以方便地构建开发环境。如果针对的是特定的平台的开发,将开发流程所需要的各种工具都创建到容器映像中是一种很好的方法,只要使用这一个容器映像,就能够快速启动大量运行所需服务的实例。
一个使用容器的最佳范例是使用Docker,使用容器(或Docker)有这些好处:开发环境保持一致、部署后即可运行、易于跨平台部署、Docker映像适用于多种开发环境和语言以及部署单个容器或容器集群都并不繁瑣。
通过Docker Hub,几乎可以找到适用于任何平台、任何开发环境、任何服务器和任何服务的映像,几乎可以满足任何一种需求。使用Docker Hub中的映像,就相当于免除了搭建开发环境的步骤,可以直接开始开发应用程序、服务器、API或服务。
Docker在所有Linux平台上都很容易安装,例如可以通过终端输入以下命令在Ubuntu上安装Docker:
sudo apt-get install docker.io
Docker安装完毕后,就可以从Docker仓库中拉取映像,然后开始开发和部署了。
版本控制工具
如果正在开发一个大型项目,又或者参与团队开发,版本控制工具是必不可少的,它可以用于记录代码变更、提交代码以及合并代码。如果没有这样的工具,项目几乎无法妥善管理。在Linux系统上,Git和GitHub的易用性和流行程度是其它版本控制工具无法比拟的。如果对Git和GitHub还不太熟悉,可以简单理解为Git是在本地计算机上安装的版本控制系统,而GitHub则是用于上传和管理项目的远程存储库。Git可以安装在大多数的Linux发行版上。例如在基于Debian的系统上,只需要通过以下这一条简单的命令就可以安装:
sudo apt-get install git
安装完毕后,就可以使用Git来实施版本控制了。Github会要求用户创建一个帐户。用户可以免费使用GitHub来管理非商用项目,当然也可以使用GitHub的付费模式。
文本编辑器
如果没有文本编辑器,在Linux上开发将会变得异常艰难。当然,文本编辑器之间孰优孰劣,具体还是要取决于开发者的需求。对于文本编辑器,有人可能会使用vim、emacs或nano,也有人会使用带有GUI的编辑器。但由于重点在于开发,我们需要的是一种能够满足开发人员需求的工具。不过首先要说,vim对于开发人员来说确实是一个利器,但前提是要对vim非常熟悉,在这种前提下,vim能够满足所有需求,甚至还能给你更好的体验。然而,对于一些开发者(尤其是刚开始接触Linux的新手)来说,这不仅难以帮助他们快速达成需求,甚至还会是一个需要逾越的障碍。考虑到帮助Linux的新手,本人更倾向于使用GUI编辑器。
就文本编辑器而论,选择Bluefish一般不会有错。Bluefish可以从大部分软件库中安装,它支持项目管理、远程文件多线程操作、搜索和替换、递归打开文件、侧边栏、集成make/lint/ weblint/xmllint、无限制撤销/重做、在线拼写检查、自动恢复、全屏编辑、语法高亮和多种语言等。
集成开发环境
集成开发环境(Integrated Development Environment,IDE)是包含一整套全面的工具、可以实现一站式功能的开发环境。开发者除了可以使用IDE编写代码,还可以编写文档和构建软件。在Linux上也有很多适用的IDE,其中Geany就包含在标准软件库中,它对用户非常友好,功能也相当强大。Geany具有语法高亮、代码折叠、自动完成,构建代码片段、自动关闭XML和HTML标签、调用提示、支持多种文件类型、符号列表、代码导航、构建编译,简单的项目管理和内置的插件系统等强大功能。
Geany也能在系统上轻松安装,例如执行以下命令在基于Debian的Linux发行版上安装Geany:
sudo apt-get install geany
安装完毕后,就可以快速上手这个易用且强大的IDE了。
文本比较工具
有时候会需要比较两个文件的内容来找到它们之间的不同之处,它们可能是同一文件的两个不同副本(例如有一个经过编译,而另一个没有)。这种情况下,肯定不想要凭借肉眼来找出差异,而是想要使用像Meld这样的工具。Meld是针对开发者的文本比较与合并工具,可以使用Meld来发现两个文件之间的差异。虽然可以使用命令行中的文本比较工具,但就效率而论,Meld无疑更为优秀。
Meld可以打开两个文件进行比较,并突出显示文件之间的差异之处,还允许用户从两个文件的其中一方合并差异。
Meld也可以通过大多数标准的软件库安装,在基于Debian的系统上,执行以下命令就可以安装:
sudo apt-get install meld
以上提到的五个工具除了帮助完成工作,且有助于提高效率。尽管适用于Linux开发者的工具有很多,但对于以上几个类别,最好还是分别使用一个对应的工具。