天天看點

程式員應該知道的七個圖形工具

流程圖:graphviz

說到流程圖還是再次提及一下,我們之前說到的graphviz 。

graphviz (英文:graph visualization software的縮寫)是一個由at&t實驗室啟動的開源工具包,用于繪制dot語言腳本描述的圖形。它也提供了供其它軟體使用的庫。

它的主要特點是代碼生成圖像,并且足夠的簡單。

在我的那個“web developer 成長路線圖”裡,就是用這個工具生成下面這個複雜的圖形。

程式員應該知道的七個圖形工具

而其代碼特别簡單——和我們平時表達的手法是一樣的,即:

graphviz有一個大的優點和弱點是:自動生成,導緻畫線的時候很出現出問題。接着,我們就來看看手動畫線的例子。

流程圖: visio vs dia vs omnigraffle

在windows世界裡,在這一類的工具裡面最常見的算是visio:

程式員應該知道的七個圖形工具

遺憾的是,它并不支援在mac os上使用。而且,它并不在我購買的office 365套裝裡。

在mac世界裡,最好的工具算是omnigraffle,就是很貴——我們平時使用的是公司的mac電腦,使用盜版軟體是有法律風險的。

程式員應該知道的七個圖形工具

在gnu/linux世界裡,我們使用dia。

dia 是開放源代碼的流程圖軟體,是gnu計劃的一部分,程式創立者是alexander larsson。dia使用單一檔案界面模式,類似于gimp與inkscape。 dia将多種需求以子產品化來設計,如流程圖、網絡圖、電路圖等。各子產品之間的符号仍是可以通用的,并沒有限制。

程式員應該知道的七個圖形工具

順便安利一下,我最喜歡的作業系統opensuse——簡潔、尾長、綠色。

程式員應該知道的七個圖形工具

opensuse在kde桌面下效果最贊了——因為kde和opensuse都是德國制造。總的來說,會比debian系的debian和ubunt,及rethat系的centos及fedora穩定、漂亮。

令人遺憾的是這三個工具,我都用不了。mac對x windows的支援不是一般的差,于是我就需要别的替代工具。

線上流程圖:processon

這個工具還是相當好用,至少是在gxfxw内比較快——我之前使用過creately、draw.io、gliffy等等的一些工具,隻是随着版圖的擴充,很多地區都已經“xx”了。

程式員應該知道的七個圖形工具

不過遺憾的是:他們沒有給我廣告費。

processon是一個線上協作繪圖平台,為使用者提供最強大、易用的作圖工具!支援線上創作流程圖、bpmn、uml圖、ui界面原型設計、ios界面原型設計等。

同樣的,在我的那個“developer進階書單”中,就是用這個工具畫出規規矩矩的線。

程式員應該知道的七個圖形工具

并且,它還是跨平台的。

各種圖: word和excel

由于翻譯和寫書的需要,我成了一個office 365訂閱使用者。于是發現在word等一系列的office工具中,自帶了一個smartart的工具:

程式員應該知道的七個圖形工具

可以畫出很多很有意思的圖形,比如:

程式員應該知道的七個圖形工具

又或者是:

程式員應該知道的七個圖形工具

分分鐘就能畫一個的節奏。

腦圖: xmind

我想這個一般人都是知道的。

xmind思維導圖軟體被著名網際網路媒體lifehacker評選為“最佳頭腦風暴和思維導圖工具”及”最受歡迎的思維導圖軟體”。

它有一個很大的優點是使用了全球最先進的eclipse rcp 軟體架構,支援跨平台使用。它有一個很大的缺點是使用了全球最先進的eclipse rcp 軟體架構,導緻了有點卡。

相比于流程圖什麼的,它隻适合做腦圖。

程式員應該知道的七個圖形工具

如果你還在使用eclipse,那麼你應該試試intellij idea了。

各種圖:d3.js

d3.js(d3或data-driven documents)是一個用動态圖形顯示資料的javascript庫,一個資料可視化的工具。

與上面的工具相比,這個工具可能沒有那麼友善。但是,作為一個資料可視化工具,它不僅僅可以做出各種炫酷的圖形。

還可以做出一個技能樹:

程式員應該知道的七個圖形工具

地圖:leaflet

leaflet 是一個為建設移動裝置友好的互動地圖,而開發的現代的、開源的javascript 庫。

雖然它與上面的圖形沒有啥關系,但是它帶了一個圖字啊。與google map原生的api,或者openstreet相比,它最大的優點是對移動裝置支援好。

并且,它也是一個可以根據資料(geojson,地理資料)生成圖形的工具。

程式員應該知道的七個圖形工具