1. 程式人生 > >開發者MAC電腦裡的常見兵器

開發者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/