開發者MAC電腦裡的常見兵器
古人常以刀、槍、劍、戟、斧、鉞、鏟、叉、鞭、鐗、錘、戈、钂、棍、槊、棒、矛、鈀十八種兵器,樣樣精通,來形容一個人的武學技能get狀態。在開發者的世界裡,熟練掌握各種輔助工具,可以達到事半功倍,快速提高工作效率的效果。閒話不扯了,來看看究竟是什麼。
道場
習武學道講經論法總有個場所,這樣容易把有意向來學習的人聚集起來,而且有助於資訊的傳播,精力的集中,技能的修煉,經驗的交流和水平高下的切磋。工具的運用也是在一個特定的開發環境裡才能發揮出比較好的效果。
我這裡的開發環境(DOJO)是蘋果公司Apple Inc.()2014年出的一款Mac Pro,具體配置如下:
MacBook Pro(Retina 顯示屏,15 英寸,2014 年中)
處理器 2.2 GHz Intel Core i7
記憶體 16 GB 1600 MHz DDR3
圖形卡 Intel Iris Pro 1536 MB
作業系統 OS X EI Capitan
這裡描述的工具都是執行在這個硬體以及軟體環境的,經過了2年多的開發經驗/經歷的靠譜驗證,所以拿來分享給大家。
如果有朋友的研發環境和這裡描述的不太一致,那麼僅作參考吧,具體結合自己的情況。
為了方便檢索,所以增加了工具分類。
開發第一步是做什麼?學習文件?畫流程圖?還是直接寫程式碼?恩,先從學習文件開始吧。
文件檢視
Dash
寫程式碼的時候是不是有些API記不住,比如畫橢圓該用哪個類?計算開平方用什麼函式?怎麼連線遠端的mysql伺服器檢索資料?這個時候一般怎麼辦?問度娘?問谷歌?直接檢視線上程式設計文件?
在國內問谷歌需要翻牆,那麼涉及到另外工具的使用。檢視線上文件,如果記不住入口網址怎麼辦?放收藏裡啊,如果入口改變了呢?還是需要問搜尋引擎啊!那麼問題來了,度娘亂貼小廣告咋辦?用Dash吧,一個APP蒐羅了這個世界上幾乎所有的程式語言文件,而且更新速度快。
流程圖設計
OmniGraffle有很多人推薦,不過筆者覺得這個軟體太貴了,所以推薦了兩款免費的軟體流程設計工具。
XMind
主攻腦圖(思維導圖),流程圖也支援,另外還有日程安排計劃等額外的功能。
Gliffy Diagrams
並不是一個獨立安裝的APP,而是作為Chrome的外掛,可以去Chrome的App Store下載安裝,很輕量,執行速度快。
文字編輯器
不僅限於程式碼編輯,一款好的編輯器會讓你的編輯工作充滿愉悅。
MacVim
為什麼我一開始不推薦時下流行頭牌Sublime呢?因為,我用vi/vim已經超過十年的時間了。當初在學校,vm/emacs二選一,我選擇了更容易上手實踐的vi,從此一直用它來檢視/編譯文字/程式碼。
MacDown
一般程式碼檢視和編輯用Vi就夠了,剩下其他的文件,恩,現在大多數文章/文件採用的MarkDown語法編寫,所以用一款MarkDown編輯器就夠了。比如本文的編寫,我用的MacDown編輯器,文章語法採用MarkDown語法。既然是MarkDown編輯器,那麼有人會提到用Mou,筆者也試用過一段時間,遇到了一些問題,比如語法支援和介面顯示,後來改用MacDown,覺得各方面都支援的不錯,所以一直使用。
Sublime Text
如果你不是一路走著linux從事開發的話,估計很難對Vi/Emacs熟悉。那麼,像note++或者ultraedit這類第三方編輯器會是你比較不錯的選擇。相比於整合開發環境IDE的笨重,執行慢和耗記憶體,選擇一個輕量級的編輯器是在平時比較頻繁的非常規檢視/編輯程式碼/文件時一個不錯的選擇。那麼,以前那些用第三方編輯器的使用者都去哪兒了?應該就是這個Sublime Text了吧。
圖片編輯器
寫文章擼程式碼,除了文字的處理外,還需要有美圖的點綴和襯托。更多時候,圖是吸引流量和眼球的一種重要手段。
GIMP
為啥不用Adobe Photo Shop呢?太貴,太複雜。那麼,好吧,這裡筆者推薦用GIMP,PS該有的,它基本都有。
整合開發環境IDE
整合開發環境一般是集編輯,編譯,連結,除錯,版本管理和打包釋出於一體的大型開發軟體。它的特點是功能豐富,上手快,易操作。缺點也顯而易見,笨重,執行速度慢,需要更多的CPU,記憶體資源。
Eclipse
老牌萬金油型整合開發環境,上手快,支援幾乎所有語言,但是近幾年使用人數在下滑,逐漸轉向Android Studio和IntelliJ IDEA了。
Android Studio
安卓程式猿專屬開發環境。
IntelliJ IDEA
Eclipse替代品,支援市面上大部分流行的開發語言和框架,上手快,介面更加人性化,現代整合開發環境的典範。
Xcode
蘋果公司官方唯一指定的Object-C與Swift整合開發環境。
分析除錯類
APP寫好了,安裝到裝置,但是從網路拉取圖片顯示失敗了,怎麼破?APP打安裝包後想看下包裡面到底有些啥?遇到這樣的問題,這個的工具可以幫助你解決上面遇到的問題。
Wireshark
老牌網路抓包利器,各種平臺都可以玩耍。
tcpdump
這是一個命令列工具,可以看作是Wireshark的命令列版。
系統自帶,無需額外安裝。使用幫助
Charles
網路抓包利器加上代理功能,並支援自簽名證書,所以可以用來在手機上抓取https的包。使用非常方便。付費軟體,值得購買。
JD-GUI
Java的class檔案反編譯神器,可以從二進位制class檔案檢視它的Java原始碼。
JADX
JD-GUI的增強版,支援檢視安卓apk/dex檔案中反編譯的Java原始碼以及檢視apk中其他檔案的內容。
版本管理
頻繁的修改,反悔,記錄需要管理,所以版本管理是必須的。
SourceTree
Atlassians出品的圖形化版本管理工具,支援Git和Mercurial。
檔案共享
從檔案伺服器(FTP, Samba etc.)下載資料或者上傳檔案到伺服器上。
FileZilla
老牌Sourceforge開原始檔傳輸軟體。
證書管理
證書一般用於https加密,移動APP軟體的安裝檔案簽名。
Portecle
影象化管理證書的工具。
截圖
截圖是強需求,沒錯。MAC下有截圖快捷鍵,只能截圖。一般使用者截圖完畢後,不是馬上發出去,而是做後期處理。
snip
截圖,編輯。
資料庫
除錯APP的時候,如果APP產生了資料,並且把資料儲存在資料庫(sqlite)中。如果想在開發主機上檢視,可以用如下的工具。
Datum
檢視sqlite資料庫的內容。
網路請求
有時候需要自己構造一個http網路請求(GET/POST),並檢視輸入輸出的詳細內容。簡單的GET用瀏覽器可以代勞,複雜一點的需要瀏覽器安裝外掛支援。用如下的工具可以到達更好的效果。
wget
命令列工具。除了檢視傳送網路請求,檢視結果外。另外一個用途是下載檔案,特別是大檔案,用瀏覽器下載經常會斷線,而且斷點續傳做的不是太好。wget命令下載檔案,支援斷點續傳,這個用起來不錯。
curl
功能基本同wget,系統自帶工具,無需安裝。
rest-client
支援restful風格的網路請求構造,請求和結果相應。除錯restful介面的好幫手。
虛擬機器&模擬器
我的電腦是MAC,可是招商銀行的專業版沒有MAC的客戶端,腫麼破?我想在MAC上看到安卓APP執行的情況,怎麼辦?安裝一個虛擬機器吧!
VirtualBox
老牌虛擬機器軟體,支援市面上幾乎所有流行的作業系統。
genymotion
安卓模擬器,執行安卓APP如同在手機上一樣的速度。
MAC專用
有些工具是MAC系統專用的,比如用來管理蘋果裝置(iPad, iPhone, iMac, Mac etc.)配置檔案的工具。
Apple Configurator
上App Store自行搜尋下載安裝。
服務端工具套件
有時候需要本地除錯一些服務端提供的服務,或者是網站後臺。這個時候一個開發/除錯/模擬環境的選擇變的重要了。還是那句不忘初衷的話,好的工具讓你事半功倍!
Bitnami服務端套件
本地除錯web伺服器,nginx, mysql, php-fpm, etc.
Kitematic
翻牆利器
我要上谷歌搜尋最新的Android開發文件和API,可是目前在國內用不了谷歌,怎麼辦?翻牆吧!
ShadowsocksX
看標題,不多說,默默的下載,安裝然後執行,配置,開啟瀏覽器,訪問谷歌,搜尋Android就可以啦!
Lantern
如果上面那個不行,那麼試試這個吧,不多說了。
原文地址:http://www.figotan.org/2016/07/12/dev-macpro-arms/